文档章节

unbuntu下安装Elasticsrearch+logstash+elasticsearch-analysis-ik

zcqshine
 zcqshine
发布于 2017/08/16 19:26
字数 921
阅读 66
收藏 0

1. 安装 elasticsearch

第一次使用的是 apt-get 的安装方式, 应该是软件源没设置为最新的, 结果安装的版本为1.7x的, 果断删除.

第二次直接将 elasticsearch 的 zip 包下载下来安装.

  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip
  2. unzip elasticsearch-5.5.1.zip
  3. 配置. 将elasticsearch.ymlcluster.name 的注释打开, 可以自己根据情况修改名称. 将node.name注释打开. 如果需要非当前主机以外的 ip 可以访问则需要将 network.host的注释打开,并且将值修改为 0.0.0.0, 也可以指定几个固定的 ip 访问, 不同 ip 之间用,号隔开即可. 如果需要修改默认的端口,需要将http.port的注释打开,并且修改后面的值
  4. 配置完成以后就可以调用 bin 目录下的 elasticsearch 来启动了.

2. 安装 logstash

使用 logstashmysq 里的表数据自动同步到 elasticsearch

按照官方的文档给出的apt-get方式安装

  1. Download and install the Public Signing Key:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

  1. You may need to install the apt-transport-https package on Debian before proceeding:

sudo apt-get install apt-transport-https

  1. Save the repository definition to /etc/apt/sources.list.d/elastic-5.x.list:

echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list

  1. 最后就可以安装5.5.1版的 logstash 了

sudo apt-get update && sudo apt-get install logstash

3. 安装logstash的 jdbc 插件 logstash-input-jdbc

因为 logstash-input-jdbc 是使用 ruby 开发的, 所以要修改一下 gem 的源, 不然安装的过程中请求资源的时候会下不动, 因为有些依赖是放在亚马逊上了的.

  1. 修改 logstash 下的Gemfile 数据源
  1. 将 Gemfile 里的 source 值修改为 https://ruby.taobao.org
  1. 将 Gemfile.jruby-1.o.lock 下的第二个 remote 值修改为 https://ruby.taobao.org
  2. 安装 logstash-input-jdbc

进入到 logstash 的根目录下, 执行 bin/logstash-plugin install logstash-input-jdbc, 等待一会以后就会安装成功.

  1. 配置
  1. logstash 下创建文件夹, logstash_jdbc_xxx 根据自己需要建即可
  1. 下载mysql-connector-java-5.1.38.jar放到 刚创建的文件夹下
  2. 编写配置文件 jdbc.conf

jdbc.conf:

input{
	stdin {
	}
	jdbc {
		jdbc_connection_string => "jdbc:mysql://192.168.2.19:3306/survey_acquisition_faq"
		jdbc_user => "xxx"
		jdbc_password => "xxx"
      		# the path to our downloaded jdbc driver
      		jdbc_driver_library => "/usr/share/logstash/bin/logstash_jdbc_faq/mysql-connector-java-5.1.38.jar"
     		 # the name of the driver class for mysql
      		jdbc_driver_class => "com.mysql.jdbc.Driver"
      		jdbc_paging_enabled => true
      		jdbc_page_size => "50000"
      		statement_filepath => "/usr/share/logstash/bin/logstash_jdbc_faq/sql/t_help_document.sql"
      		schedule => "* * * * *"
      		type => "faq_help_document"
		record_last_run => true
		use_column_value => true
		tracking_column => "update_time"
		clean_run => true
	}

	jdbc {
                jdbc_connection_string => "jdbc:mysql://192.168.2.19:3306/survey_acquisition_faq"
                jdbc_user => "xxx"
                jdbc_password => "xxx"
                # the path to our downloaded jdbc driver
                jdbc_driver_library => "/usr/share/logstash/bin/logstash_jdbc_faq/mysql-connector-java-5.1.38.jar"
                 # the name of the driver class for mysql
                jdbc_driver_class => "com.mysql.jdbc.Driver"
                jdbc_paging_enabled => true
                jdbc_page_size => "50000"
                statement_filepath => "/usr/share/logstash/bin/logstash_jdbc_faq/sql/t_question.sql"
                schedule => "* * * * *"
                type => "faq_help_question"
                record_last_run => true
                use_column_value => true
                tracking_column => "update_time"
		clean_run => true
        }

	jdbc {
                jdbc_connection_string => "jdbc:mysql://192.168.2.19:3306/survey_acquisition_faq"
                jdbc_user => "xxx"
                jdbc_password => "xxx"
                # the path to our downloaded jdbc driver
                jdbc_driver_library => "/usr/share/logstash/bin/logstash_jdbc_faq/mysql-connector-java-5.1.38.jar"
                 # the name of the driver class for mysql
                jdbc_driver_class => "com.mysql.jdbc.Driver"
                jdbc_paging_enabled => true
                jdbc_page_size => "50000"
                statement_filepath => "/usr/share/logstash/bin/logstash_jdbc_faq/sql/t_video.sql"
                schedule => "* * * * *"
                type => "faq_help_video"
                record_last_run => true
                use_column_value => true
                tracking_column => "update_time"
		clean_run => true
        }
}

filter {
	json {
		source => "message"
		remove_field => ["message"]
	}
}

output {
	elasticsearch {
		hosts => "127.0.0.1:9200"
		index => "survey-faq"
		document_id => "%{id}"
		template_overwrite => true
		template => "/usr/share/logstash/template/logstash.json"
	}
	stdout {
		codec => json_lines
	}
}

template_overwritetempalte 这两个属性是用来定义分词模板的, 定义的模板为 ik 分词模板, 如果不用 ik 的话, 这两个属性可以删除. 配置 ik 分词需要用下面的步骤安装好 ik 分词插件以后才能使用.

  1. logstash_jdbc_xxx目录下创建一个文件夹sql,用来放 sql 文件.

在 sql 目录下创建 xx.sql 文件, 里面放写好的 sql 语句即可. 比如 select * from tablename

  1. 重新启动 logstash 就会将制定的表数据导入到elasticsearch

4. 安装 ik 分词

进入到 elasticsearch 的根目录下, 执行

bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip

等待安装完成

重启 elasticsearch 即可

© 著作权归作者所有

zcqshine
粉丝 8
博文 46
码字总数 15510
作品 0
深圳
高级程序员
私信 提问
ElasticSearch ik,elasticsearch-jdbc 使用 和 yii2 实例

1.ES安装+ik插件 mac安装和使用: a.由于ES为java开发 所以首先安装下载jdk,由于最新版本对jdk要求>1.8.0,所以可以通过brew 升级jdk b.brew 安装ES 启动 elasticsearch 后,在浏览器地址:127....

罗培海
2017/12/16
391
0
Elasticsearch 使用中文分词

原文出处:Way Lau 本文演示了如何使用IK Analysis 插件来实现在 Elasticsearch 中的中文分词功能。 使用中文分词 在“Spring Boot应用企业级博客系统”课程中(http://coding.imooc.com/cla...

Way Lau
2017/12/17
0
0
elasticsearch安装中文插件ik

好久没写博文了,最近一直加班做项目,正在做搜索方面的工作,因此测试了一下es,经过无数次失败,终于成功安装了es+ik 从网上找了无数的安装方法都是一样,安装不成功 es 2.0安装 es官方网站...

guhongzi
2015/11/14
0
0
Elasticsearch 2.3.3 中文IK分词插件安装

我们知道搜索引擎接收搜索请求的第一步,就是对要查询的内容做做分词,Elasticsearch 2.3.3像其他搜索引擎一样,默认的标准分词器(standard)并不适合中文, 我们常用的中文分词插件是IK An...

老猿
2016/06/21
454
3
Elasticsearch2.4学习(三)------Elasticsearch2.4插件安装详解

这篇文章紧接Elasticsearch2.4学习(二)------Elasticsearch2.4.1集群部署及elasticsearch.yml配置 配置好Elasticsearch集群后,为了能够进行更便捷的集群状态监控、更方便的查询操作,还需...

闪电
2016/12/27
280
0

没有更多内容

加载失败,请刷新页面

加载更多

[mycat]PartitionByString分片报错

java.lang.RuntimeException: error,check your partitionScope definition.at io.mycat.route.util.PartitionUtil.<init>(PartitionUtil.java:69) PartitionUtil.java 注意:其中count,l......

Danni3
14分钟前
6
0
OSChina 周三乱弹 —— 魂淡!不是这种粪发涂墙

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小小编辑推荐歌曲《10/10》- Rex Orange County 《10/10》- Rex Orange County 手机党少年们想听歌,请使劲儿戳(这里) @奋斗的小牛 :上午...

小小编辑
26分钟前
496
7
Arduino教程:认识Arduino控制板

@toc 1.1 课程说明 认识Arduino控制板的各个部分, 1.2 器材 名称 数量 规格 Arduino uno控制板 1 R3 1.3 UNO电路: UNO参数 名称 参数说明 工作电压: 5V 输入电压: 接上USB时无须外部供电...

acktomas
32分钟前
6
0
WeUI框架

WeUI框架 WeUI是一套小程序的UI框架,所谓UI框架就是一套界面设计方案,有了组件,我们可以用它来拼接出一个内容丰富的小程序,而有了UI框架,我们就可以让我们的小程序变得更加美观。 体验W...

达达前端小酒馆
35分钟前
3
0
Rainbond 5.1.8发布,应用网关支持多IP网络接入

2019年10月23日,Rainbond发布5.1.8版本,本次版本更新带来了应用网关对多IP的支持, 第三方组件对域名实例的支持 等新功能和修复若干BUG。 Rainbond:支撑企业应用的开发、架构、交付和运维的...

好雨云帮
37分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部