单机部署
要想部署集群,先得搞定单机版部署。首先需要去官网下载elasticsearch的压缩包,然后解压。elasticsearch是用Java开发的,所以需要Java的运行环境,我记得从某个版本开始elasticsearch的安装包自带JDK,如果启动时提示需要Java环境,则需要安装JDK或JRE。
由于不能用root用户运行elasticsearch,所以需要切换一个其他用户,或者为elasticsearch创建用户。比如:
创建组es
groupadd es
创建用户es并指定组和密码
useradd es -g es -p 123456
在root用户下,执行以下命令更改elasticsearch文件夹(即解压之后的文件夹)及内部文件所属用户和组为es:es
chown -R es:es elasticsearch-7.6.0
切换到用户es,进入elasticsearch的bin目录,./elasticsearch启动,./elasticsearch -d可以后台启动。如果没有报错,说明启动成功。这时再打开另外一个终端,执行:
curl 'http://localhost:9200/?pretty'
如果返回类似于下面的信息:
{
"name" : "CentOS7",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "o9w6x21wTMiSBx_rcSh8Ow",
"version" : {
"number" : "7.6.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
"build_date" : "2020-02-06T00:09:00.449973Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
说明elasticsearch启动成功。
集群部署
开放端口
因为集群间是通过9300端口通信的,所以要开放此端口
修改防火墙iptables,最好可以指定固定的ip,下面这个配置的意思就是,对192.168.8.114开放9200-9400的端口
/sbin/iptables -I INPUT 1 -p tcp --dport 9200:9400 -s 192.168.8.114 -j ACCEPT
开启组播
组播的作用是在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个接收者传输相同的数据,只需复制一份相同的数据包。它提高了数据传输效率,减小了骨干网络出现拥塞的可能性
修改防火墙iptables,添加下面一段配置,允