一、操作前提
因为我之前试过很多次,失败过很多次,所以跟我一样的最好先杀死之前占用的端口,害怕出问题的可以先拍个快照
1.查看占用占用端口的进程
lsof -i :5601
lsof -i :9200
2.终止所有占用的端口
把上面出现的所有进程的进程号kill
kill -9 进程号
二、环境准备
1.准备两台服务器
我准备的两台centos,一台IP是10.1.1.58,另一台IP是10.1.1.68
2.关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
3.关闭selinux
vi /etc/sysconfig/selinux

三、安装es之前的准备工作
1.安装java
sudo yum install java-1.8.0-openjdk
2.验证java
java -version

3.下载解压es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz

tar -xvf elasticsearch-6.5.4.tar.gz

4.创建用户和组
#创建组
groupadd es
#创建用户 组 密码
useradd es -g es -p es
#移动文件目录 把解压的elasticsearch-6.5.4 移到 /home/es下
mv elasticsearch-6.5.4 /home/es
#赋值权限
chown -R es:es /home/es/elasticsearch-6.5.4
chmod -R 755 /home/es/elasticsearch-6.5.4

5.修改sysctl.conf
vi /etc/sysctl.conf
需要在:/etc/sysctl.conf 添加上:vm.max_map_count=262144

最后启动配置:sysctl -w vm.max_map_count=262144

6.修改limits.conf
vim /etc/security/limits.conf
配置内容 *表示所有用户生效
* soft nofile 65536
* hard nofile 65536

重新登录即可生效
reboot
可使用命令查看是否生效
ulimit -H -n

四、安装es
1.配置文件
vi /home/es/elasticsearch-6.5.4/config/elasticsearch.yml
文件说明
cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["host1", "host2"]
discovery.zen.minimum_master_nodes: 2
-
cluster.name: 集群名称,所有节点必须相同。
-
node.name: 当前节点的名称。
-
network.host: 节点绑定的 IP 地址。
-
discovery.zen.ping.unicast.hosts: 用于发现其他节点的主机列表。
-
discovery.zen.minimum_master_nodes: 主节点数量的最小值,通常是 (节点总数 / 2) + 1。
配置样例:
第一台服务器
cluster.name: my-es-1
node.name: node-1

network.host: 10.1.1.68
http.port: 9200

discovery.zen.ping.unicast.hosts: ["10.1.1.58","10.1.1.68"]
discovery.zen.minimum_master_nodes: 2

第二台服务器
cluster.name: my-es-1

node.name: node-2

network.host: 10.1.1.58
http.port: 9200

discovery.zen.ping.unicast.hosts: ["10.1.1.58","10.1.1.68"]
discovery.zen.minimum_master_nodes: 2

2.切换用户
su es
进去目录
cd /home/es/elasticsearch-6.5.4/bin
执行命令
./elasticsearch -d

3.另一台安装
另外一台服务按照上面的步骤 一样操作
五、测试
在任意一台服务上执行:
注意 ip地址修改成自己的ip
curl -X GET "10.1.1.58:9200/_cluster/health?pretty"
curl -X GET "10.1.1.68:9200/_cluster/health?pretty"

最后在任意一个浏览器输入http://10.1.1.58:9200

成功!