elasticsearch 7.14.1集群配置 x-pack配置

2021年9月20日15:16:59

注意:所有版本和插件必须一致-7.14.1,或者你的软件版本都是统一的版本

 

下载rpm包

https://www.elastic.co/cn/downloads/past-releases#elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.1-x86_64.rpm

yum install elasticsearch-7.14.1-x86_64.rpm

 

whereis elasticsearch
elasticsearch: /etc/elasticsearch /usr/share/elasticsearch

/etc/elasticsearch 配置文件位置

/usr/share/elasticsearch 软件安装位置

 

id elasticsearch

查看用户是否存在

 

装ik中文分词插件

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.14.1/elasticsearch-analysis-ik-7.14.1.zip

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.14.1/elasticsearch-analysis-ik-7.14.1.zip

 

修改linux es ik分词的配置

 

 jvm.options

去掉注释 

-Xms4g
-Xmx4g

 配置字典

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict"></entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <entry key="remote_ext_dict">http://192.168.8.241:8000/yida.dic</entry>
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

 

vi /etc/security/limits.conf

加入

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

 

vi /etc/sysctl.conf

vm.max_map_count=655360

 

 保存后执行
sysctl -p

 

需要注意几点:

1,生成的p12秘钥,只需要生成一份,然后复制到其他节点即可

2,配置账号密码的时候,每个节点都需要设置

3,注意p12等文件需要 +rx 和es运行账号的权限

4,插件所有的节点都需要安装,建议使用 ./bin/elasticsearch-plugin install 配置文件都在/etc/elasticsearch/  插件文件名是就是配置的文件夹

5,注意新版和旧版的之间的配置差别,先看下官方文档

 

es推荐默认是三个节点:

node-1 192.168.8.228:9277
node-2 192.168.8.241:9277
node-3 192.168.8.229:9277

 

第一步:生成证书
我们在ES的根路径下,执行
bin/elasticsearch-certutil ca
生成ca证书,在期间,会提示我们输入生成文件名(可直接回车跳过),提示我们输入证书密码(可直接回车跳过,也可以设置一个密码,密码尽量统一);
这样,我们就可以得到一个以.p12结尾的ca证书,其文件名默认为elastic-stack-ca.p12

第二步:对生成的证书进行验证
在ES的根路径下,执行
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12  #依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)

bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password    #并输入第一步输入的密码 
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password  #并输入第一步输入的密码 
此时,我们一共将得到3个文件,分别是elastic-certificates.p12、elasticsearch.keystore、elastic-stack-ca.p12;

我们将这三个文件拷贝到conf目录下,同时,将这三个文件也拷贝到另外两个节点的conf路径下;

机器启动后在,设置密码,单个机器设置密码之后,集群会分发密码

./bin/elasticsearch-setup-passwords interactive

 查看节点健康问题

curl --user elastic:'密码' http://ip:9277/_cat/health?v
curl --user elastic:'密码' http://ip:9277/_cat/nodes

 

注意:如果是yum安装 elasticsearch.keystore这个文件需要删除

按照上面的方法重新生成,因为默认的版本不能启动系统

 

记得把 elastic-certificates.p12  elasticsearch.keystore elastic-stack-ca.p12

还要记得把权限加上  

chmod +xr elastic-certificates.p12

 

线上的集群预计一天左右可以搭建好,结果2天才搭完,当时发现了很多其他的小问题,和一点奇怪的问题

联通云 奇怪的问题

1,一个安全组下,安全组内多台机器互相访问也需要在安全组上添加规则,阿里云,腾讯云安全组之内的服务器是可以互相访问的

2,域名备案成功之后,解析到联通云服务器ip之后,需要提交备案工单之后,才能生效,生效时长多久需要等待

3,安全组没有填写备注的地方,很难维护

4,不知道是什么原因我们这边是电信,访问联通云的后台的操作的时候,反映是很慢的,操作完一项操作的时候需要等待一会,但是站点测试还是不错的

 

es集群搭建的问题:

1,一定要每台服务器各个操作都执行不能缺,因为启动日志错误日志不是能全部看到的,有些错误日志里看得到

2,注意文件的权限,特别是配置和数据文件,必须 是elasticsearch  和加权限 xr

3,注释 /etc/security/limits.conf  /etc/sysctl.conf 修改是否生效,不然日志也看不到错误

4,注意ik的分词插件的第三方字典建议统一给个http url,不然每次所有节点更新字典,也麻烦

5,一定要细心,来回测试,吧问题排除干净,不然重启就挂了

6,如果 cluster.initial_master_nodes: ["node-1","node-2","node-3"] 启动时期只填一个,避免脑裂,如果脑裂之后记得删除data数据之后,在重启,不然无法生效

7,9200是提供外部restapi的tcp端口,9300是集群内部通信的tcp端口,这个一定注意

 

QQ一群 247823727 (满了)
QQ二群 166427999 (新群,写PHP最佳实践为主)
博客文件如果不能下载请进群下载
如果公司项目有技术瓶颈问题,如有需要,技术服务QQ: 903464207

posted on 2021-10-27 09:31  zh7314  阅读(151)  评论(0编辑  收藏  举报