elasticsearch5.x集群搭建,ik分词器,head插件
目标:
1,安装elasticsearch集群(一个服务器,两个节点)
2,安装head插件
3,使用ik分词器
现状:
1,系统centos6.9+jdk1.8
2,提前修改好ulimit,调整nproc、nofile大小
3,在/etc/sysctl.conf中提前把虚拟内存修改好。最少放262144
4,目前ip(使用阿里云)
外网ip:39.106.13.171
内网ip:172.17.127.115
步骤:
备注:默认不使用root用户安装。我新建的账户和root是一个组。
(一)安装elasticsearch
1,下载并上传elasticsearch到自己的目录
2,配置config/elasticsearch.yml
因为Centos6不支持SecComp,而ES5.4.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。所以添加下边这个
3,修改配置文件
调整为自己电脑支持的内存大小:
4,验证
启动elasticSearch服务
网址输入:
返回结果
(二)安装head插件
从5.x开始,官网不支持elasticsearch插件安装,推荐把它做成一个独立的服务。需要使用到git和nodejs,提前安装好
1,安装git,需要root用户
2,安装nodejs,官网下载后上传到linux(推荐使用root权限操作)
解压:
复制到usr/local目录
配置环境变量
使环境变量生效
测试是否成功
3,下载head的git安装包(使用自己用户)
4,进行elasticsearch-head的安装(使用root)
在config/elasticsearch结尾添加:
运行服务
5,检验结果
(三)安装ik分词器(分词器一定要和版本进行匹配)
1,下载并解压缩
2,复制到plugins/ik
创建ik目录
复制
3,重启服务
查找进程
Kill杀死进程
重启服务
4,验证
http://39.106.13.171:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是中国人
或者:
http://39.106.13.171:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是中国人
(四)配置集群
1,配置elasticsearch.yml
(1)Cluster:
cluster.name: elasticsearch 这是集群的名称,同一集群,名称要一致
(2)node:
node.name: node1 节点名称
node.master: true 是否允许为master节点
node.data: false是否允许为node节点
(3)networkAndHttp:
transport.tcp.port: 9300 节点之间通信的端口
http.port: 9200 网页访问的端口
(4)Discovery:
discovery.zen.minimum_master_nodes: 2 设置具有成为master资格节点的个数
discovery.zen.ping.unicast.hosts: [“ip:port”,”ip:port”]发现其他节点,(好像可以不加端口号)
2,复制elasticsearch-node1(删除elasticsearch目录logs和data),修改第二个节点配置
3,启动两个elasticsearch节点,head服务,进行验证