Shellbye.github.io
Shellbye.github.io copied to clipboard
my blog --> see https://github.com/Shellbye/Shellbye.github.io/issues for recent update
```bash # https://www.rosehosting.com/blog/how-to-install-python-3-6-4-on-centos-7/ sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm sudo yum update sudo yum install -y python36u python36u-libs python36u-devel python36u-pip python3.6 -V ```
在之前的一篇博客中( #8 ),我记录了怎么从MySQL中,利用Logstash导数据到ES中,但是导出的过程比较粗暴,是一次性全部导完的。但是在实际使用中,我们常常需要根据某些字段值实时的导入数据,比如数据库条目中的`create_time`或`update_time`等,这样做的好处是显而易见的,因为这样可以避免大量已经导入的数据重复的导入,对于远程导入,这种方式还比较节约带宽,而且高效。本文就记录了利用Logtash来完成这种形式的导入。 从MySQL导数据到Elasticsearch,分别需要MySQL(安装参考 #9 )、Elasticsearch(安装参考 #5 )和中间件Logstash(安装参考 #7 )。 # 构造MySQL数据 创建并切换数据库 ```bash mysql> CREATE DATABASE demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; mysql> use demo; ``` 创建demo需要的表 ```bash mysql>...
```bash yum -y update yum groupinstall -y development yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel yum install xz-libs -y wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz xz -d Python-3.6.5.tar.xz tar -xvf Python-3.6.5.tar cd Python-3.6.5 ./configure...
安装Logstash需要先安装Java,CentOS安装Java可以参考 #12 ```bash # https://www.elastic.co/guide/en/logstash/current/installing-logstash.html rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch cat >> /etc/yum.repos.d/elasticsearch.repo
安装ES之前需要安装Java,在CentOS上安装Java可以参考 #12 ```bash # https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch cat >> /etc/yum.repos.d/elasticsearch.repo > /etc/security/limits.conf
```bash wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm sudo yum localinstall jdk-8u171-linux-x64.rpm ```
# 安装所需软件 ES的安装参考这里 #5 ,Logstash的安装参考这里 #7 # 文本文件 注意这里有一个问题需要注意一下,就是如果你一直在尝试导入一个(比较小的)文件(就像我在这个demo中做的),那么logstash后面就不会继续去导入了,因为logtash会通过sincedb_path所指定的位置去记录当前文件的导入位置,如果你已经导入完成了,那么后续再导入就不会执行了(别问我怎么知道的😂)。 ```bash shellbye@localhost:~$ cat text.txt apple $2 01 banana $4 02 book $44 03 desk $55 04 ``` # Logstash配置文件 与上一篇 #10...
# 安装所需软件 ES的安装参考这里 #5 ,Logstash的安装参考这里 #7 # Json文件 注意这里有一个问题需要注意一下,就是如果你一直在尝试导入一个(比较小的)文件(就像我在这个demo中做的),那么logstash后面就不会继续去导入了,因为logtash会通过`sincedb_path`所指定的位置去记录当前文件的导入位置,如果你已经导入完成了,那么后续再导入就不会执行了(别问我怎么知道的😂)。 ```bash shellbye@localhost:~$ cat data.txt {"qus": "xyz", "ocr": "xxx", "name": "o001"} {"qus": "xyz", "ocr": "xxx", "name": "o002"} {"qus": "xyz", "ocr": "xxx", "name":...
```bash sudo apt-get update sudo apt-get install -y mysql-server sudo mysql_secure_installation # for install msyql-python sudo apt-get install libmysqlclient-dev # ref https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-14-04 ```
从MySQL导数据到Elasticsearch,分别需要MySQL(安装参考 #9 )、Elasticsearch(安装参考 #5 )和中间件[Logstash](https://www.elastic.co/guide/en/logstash/current/introduction.html)(安装参考 #7 )。 # 构造MySQL数据 首先创建demo要用的数据库 ```mysql mysql> CREATE DATABASE demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 切换数据库 ```mysql mysql> use demo; ``` 创建demo需要的题目表 ```mysql mysql>...