前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >unbuntu下安装Elasticsrearch+logstash+elasticsearch-analysis-ik

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

作者头像
zcqshine
发布2018-05-11 16:06:57
7470
发布2018-05-11 16:06:57
举报
文章被收录于专栏:zcqshine's blogzcqshine's blog

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
  2. 将 Gemfile.jruby-1.o.lock 下的第二个 remote 值修改为 https://ruby.taobao.org
  3. 安装 logstash-input-jdbc

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

  1. 配置

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

jdbc.conf:

代码语言:javascript
复制
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 即可

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 安装 elasticsearch
  • 2. 安装 logstash
  • 3. 安装logstash的 jdbc 插件 logstash-input-jdbc
  • 4. 安装 ik 分词
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档