ElasticSearch 部署
简介
本文记载的是在 CentOS7.6 系统安装 Elasticsearch 6.8.1版本的步骤,更高版本目前还不支持spring。
最新支持列表看这里:https://docs.spring.io/spring-data/elasticsearch/docs/3.2.0.RC3/reference/html/#preface.versions
ELK项目历史包下载:https://www.elastic.co/cn/downloads/past-releases#kibana
ElasticSearch集群部署
集群环境:准备三台centos7.6
192.168.99.41
192.168.99.42
192.168.99.43
// 以下内容三台服务器同时操作
- 安装JDK1.8并下载ES6.8.1安装包到三台服务器本地
1
| $ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.1.tar.gz
|
- 创建ES用户和组以及
1 2
| ~]$ groupadd -r elasticsearch ~]$ useradd -r -G elasticsearch elasticsearch
|
- 修改必要的系统配置信息
1 2 3 4 5 6 7
| ~]$ vim /etc/security/limits.conf * - nofile 65535
~]$ vim /etc/sysctl.conf vm.max_map_count = 262144
// 要执行sysctl -p 持久化配置,不然切换用户后,可能没有生效
|
- 将elasticsearch-6.8.1.tar.gz解压至/data目录下,创建data数据目录与log日志目录,修改目录属主属组为elasticsearch。
1 2 3 4
| ~]$ tar xzvf elasticsearch-6.8.1.tar.gz -C /data/ ~]$ mkdir -p /data/elasticsearch-6.8.1/data/ ~]$ mkdir -p /data/elasticsearch-6.8.1/logs/ ~]$ chown -R elasticsearch:elasticsearch /data/elasticsearch-6.8.1/
|
- 修改ES配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| ~] ~]$ vim /data/elasticsearch-6.8.1/config/elasticsearch.yml
cluster.name: mycluster
node.name: node1
path.data: /data/elasticsearch-6.8.1/data
path.logs: /data/elasticsearch-6.8.1/logs
network.host: 192.168.99.41
discovery.zen.ping.unicast.hosts: ["192.168.99.41","192.168.99.42","192.168.99.43"]
gateway.recover_after_nodes: 3
http.cors.enabled: true http.cors.allow-origin: "*"
|
- 新建ES启动脚本并加入到开机自启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| ~]
// 重新加载环境变量 source /etc/profile
es_pid=`jps | grep Elasticsearch | awk '{print $1}'` case "$1" in start) cd /data/elasticsearch-6.8.1/ ./bin/elasticsearch -d ! echo "elasticsearch startup" ;; stop) kill -9 $es_pid echo "elasticsearch stopped" ;; restart) kill -9 $es_pid echo "elasticsearch stopped" cd /data/elasticsearch-6.8.1/ ./bin/elasticsearch -d ! echo "elasticsearch startup" ;; status) [ -z "$es_pid" ] && echo "--- ES is not running ---" || echo "--- ES is running PID:$(echo $es_pid) ---" ;; *) echo "Help:start | stop | restart |status" ;; esac exit $?
~]
// 加入到开机自启 ~] ~]
|
- 验证
ElasticSearch-head 部署
项目地址:https://github.com/mobz/elasticsearch-head
插件下载方式安装:
1.从https://download.csdn.net/download/xiaolong2230/11209538下载或者从https://github.com/mobz/elasticsearch-head下载ZIP包。
2.重启Elasticsearch。访问。
访问地址是http://{你的ip地址}:9200/_plugin/head/
Docker方式安装:
1.下载elasticsearch-head的docker镜像并启动一个容器
1 2 3 4 5 6
| // 下载镜像 [root@Mysql-Slave2 ~] [root@Mysql-Slave2 ~]
// 验证 浏览器访问:http://192.168.99.43:9100/
|
elasticsearch-head:5连接elasticsearch 6.x无法显示浏览数据的解决方案
1、因为docker容器里面无法使用vi/vim,所以需要先将文件拷贝出来。
1 2 3
| docker cp elasticsearch-head:/usr/src/app/_site/vendor.js ./
// 说明:将容器里面/usr/src/app/_site/vendor.js文件拷贝到宿主机的当前目录下,其中es_head为容器名,也可以写容器id。
|
2、编辑文件
1 2 3 4 5 6 7 8 9 10 11 12
| $ vi vendor.js // 共有两处
1)6886行 contentType: "application/x-www-form-urlencoded 改成 contentType: "application/json;charset=UTF-8"
2)7573行 var inspectData = s.contentType === "application/x-www-form-urlencoded" && 改成 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
|
3、将改完后的文件拷贝回容器
1 2 3
| docker cp vendor.js es_head:/usr/src/app/_site
// 无需重启,刷新页面即可。
|
IK 分词安装
项目地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
1 2
| // 通过es的plugin插件方式安装 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.1/elasticsearch-analysis-ik-6.8.1.zip
|
2.通过下载插件包安装
1 2 3 4 5 6 7 8 9 10
| // 切换到es用户并下载ik分词插件包 // 以下操作三台主机都要安装 [root@Mysql-Slave2 ~] [elasticsearch@Mysql-Slave2 ~]$ wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.1/elasticsearch-analysis-ik-6.8.1.zip [elasticsearch@Mysql-Slave2 ~]$ mkdir -p /data/elasticsearch-6.8.1/plugins/ik [elasticsearch@Mysql-Slave2 ~]$ mv elasticsearch-analysis-ik-6.8.1.zip /data/elasticsearch-6.8.1/plugins/ik [elasticsearch@Mysql-Slave2 ~]$ cd /data/elasticsearch-6.8.1/plugins/ik [elasticsearch@Mysql-Slave2 ~]$ unzip elasticsearch-analysis-ik-6.8.1.zip [elasticsearch@Mysql-Slave2 ~]$ [elasticsearch@Mysql-Slave2 ~]$
|
kibana开启监控后设置监控数据保存天数
1 2
| PUT _cluster/settings {"persistent": {"xpack.monitoring.history.duration":"1d"}}
|
kibana开启监控后设置排除系统索引的监控
1 2
| PUT _cluster/settings {"persistent": {"xpack.monitoring.collection.indices": "*,-.*"}}
|