环境要求 :需要安装jdk
单机安装elasticselect
软件下载:
官方地址:
#官方地址
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-8-0
#具体下载地址:
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
安装
# 解压缩
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /opt/module
# 改名
mv elasticsearch-7.8.0 es
创建用户
useradd es #新增 es 用户
passwd es #为 es 用户设置密码
userdel -r es #如果错了,可以删除再加
chown -R es:es /opt/module/es #文件夹所有者
修改配置文件
修改/opt/module/es/config/elasticsearch.yml 文件:
# 加入如下配置
cluster.name: elasticsearch
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
修改/etc/security/limits.conf :
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
修改/etc/security/limits.d/20-nproc.conf:
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注:* 带表 Linux 所有用户名称
修改/etc/sysctl.conf
# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360
删除config目录下的elasticsearch.keystore文件:
[root@localhost config]# rm -rf elasticsearch.keystore
重新加载
sysctl -p
单机测试
#启动
/opt/module/es/bin/elasticsearch
#后台启动
/opt/module/es/bin/elasticsearch -d
#在防火墙中设置开放端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent
搭建集群
另起两台虚拟机,按照同样的方式安装并配置elasticselect
修改/opt/module/es/config/elasticsearch.yml 文件,每个节点的节点名称不一样,其他配置都相同
# 加入如下配置
#集群名称
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-1
#ip 地址,每个节点的地址不能重复
#network.host: linux1
network.host: 0.0.0.0
#是不是有资格主节点
node.master: true
node.data: true
http.port: 9200
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["10.70.20.234:9300","10.70.20.156:9300","10.70.20.129:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16
测试
同时启动三个节点:
查看节点状态:
![](https://img-blog.csdnimg.cn/img_convert/1b878d8b74a9470e929a60bc0a4136ee.png)
查看集群状态:
![](https://img-blog.csdnimg.cn/img_convert/ae79c6e7eb1649abb27b5e2d3cec2112.png)
查看所有节点:
![](https://img-blog.csdnimg.cn/img_convert/bdcfb95531e5448aa4e26e808dbb3f15.png)
查看集群健康状况:
![](https://img-blog.csdnimg.cn/img_convert/111a9a6bddc543508201b4b84e703562.png)
查看主master机器:
![](https://img-blog.csdnimg.cn/img_convert/5b802265f30f40cbbc20e98ad9c657e8.png)
在任意一节点添加索引,在其他节点查询:
![](https://img-blog.csdnimg.cn/img_convert/b607ecc8427f45ec967c5594a4591a47.png)
在其他节点查询:
![](https://img-blog.csdnimg.cn/img_convert/848fbff21de14234ae2ff58f497e7899.png)