ElasticSearch7.3.2集群搭建

我用的是elasticsearch-7.3.2-no-jdk-linux-x86_64.tar.gz这个版本.

三台vm:centos102 centos103 centos104

每台机器上解压安装tar -zxvf xxxx.tar.gz -C /home/ 我安装在home目录下

cd /home/elasticxxx/config目录修改vim elasticsearch.yml文件,设置如下

#===========================es7.x=========================
cluster.name: escluster  #集群名称,同一个集群的标识.
node.name: es1 #节点名称,其他机器es2 es3..
path.data: /home/data/es #数据存储目录
path.logs: /home/log/es #日志存储目录
node.master: true #允许该节点可以成为一个master
node.data: true #允许该节点存储数据(默认开启)
network.host: 192.168.19.102  #绑定监听IP,其他节点填各自的ip
http.port: 9200 #设置对外服务的http端口
transport.tcp.port: 9300 # 设置节点间交互的tcp端口
transport.tcp.compress: true #设置是否压缩tcp传输时的数据,默认为false
http.max_content_length: 100mb #设置内容的最大容量,默认100mb  
#discovery.zen.ping.unicast.hosts: ["192.168.19.102","192.168.19.103","192.168.19.104"] # 7版本弃用 这是一个集群中的主节点的初始列表,当节点(主节点或者数据节点)启动时使用这个列表进行探测
discovery.seed_hosts: ["192.168.19.102","192.168.19.103","192.168.19.104"]
cluster.initial_master_nodes: ["192.168.19.102","192.168.19.103","192.168.19.104"] 
gateway.recover_after_nodes: 2 
gateway.recover_after_time: 5m 
gateway.expected_nodes: 3
node.max_local_storage_nodes: 2 # 多个节点可以在同一个安装路径启动
#discovery.zen.minimum_master_nodes: 2 #7版本弃用 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点.默认为1,对于大的集群来说,可以设置大一点的值(2-4)
http.cors.enabled: true       #允许跨域访问,head使用
http.cors.allow-origin: "*"   #允许跨域访问,head使用
保存

因为es不允许root用户启动,创建用户并赋予es安装目录权限

创建一个esroot用户并设置初始密码
useradd -c 'ES user' -d /home/esroot esroot
修改密码(8位)passwd esroot,

将es安装目录属主权限改为esroot用户,chown -R esroot <es安装目录>

新建两个目录mkdir /home/data/es -p mkdir /home/log/es -p并授权esroot, chown -R esroot /home/data chown -R esroot /home/log,让esroot用户拥有改目录的读写权限

sudo -s
vim /etc/security/limits.conf
文件最后面添加如下
esroot         hard    nofile   65536
esroot         soft    nofile   65536
esroot         soft    nproc    4096
esroot         hard    nproc    4096
sudo -i
在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=262144 添加完毕之后,执行命令: sysctl -p

创建用户和修改配置,三台机器都需要修改

最后切换用户到esroot启动
su esroot

cd /home/elasticxxxx/bin ./elasticsearch前台启动,./elasticsearch -d后台启动.启动日志在/home/log/es/elasticsearch.log里面

此时浏览器输入192.168.19.10x:9200

ElasticSearch7.3.2集群搭建

输入http://192.168.19.102:9200/_cat/nodes?v

ElasticSearch7.3.2集群搭建

有*的是master节点

到此es集群搭建完成,有兴趣的可以安装es的head插件,可视化es