服务器:我这里准备两台192.XXX.XXX.135~192.XXX.XXX.136,服务器的数量可根据实际需要进行扩展。
操作系统:我这里使用的是centos 6.8 64位系统,可根据自身情况进行调整
JDK:因为 Elastic Stack 中主要组件都是用 Java 写的,所以操作系统上还应该安装 好 Java,因为本次我们将以 Elasticsearch 7 版本为主,所以,需要安装 JDK1.8 以 上版本,可跟根据自身情况进行选择我这里使用的是jdk1.8.0_77
ES 安装包:elasticsearch-7.5.2-linux-x86_64.tar.gz,安装包可以到 Elastic 的官网上去下载: https://www.elastic.co/cn/download
客户端:kibana-7.5.2-linux-x86_64.tar.gz,方便操作elasticsearch, 安装包可以到 Elastic 的官网上去下载: https://www.elastic.co/cn/download
将jdk-8u77-linux-x64.tar.gz 上传至4台服务器/root 目录。
tar zxvf jdk-8u77-linux-x64.tar.gz
cp -r jdk1.8.0_77 /usr/local/
修改/etc/profile文件结尾:
JAVA_HOME=/usr/local/jdk1.8.0_77
JRE_HOME=$JAVA_HOME/jre
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
执行source /etc/profile
使用java -version 检查java 版本是否正确。
在/etc/sysctl.conf添加如下内容
fs.file-max=655360
vm.max_map_count=655360
在 /etc/security/limits.conf添加如下内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft memlock unlimited
* hard memlock unlimited
修改/etc/security/limits.d/90-nproc.conf将第一行(* soft nproc 1024)修改为65536,以上环境准备完毕可以进行Elasticsearch安装
Elasticsearch 默认不允许用 root 用户运行,会报错,而且从服务器安全的 角度来说,也不应该以 root 用户来做日常工作,因此我们新建一个用户 elasticsearch并以 elasticsearch用户登录,具体步骤如下:
1.以root用户登录;
2. 建立elasticsearch用户
命令:useradd -d/opt/elasticsearch -m -s /bin/bash elasticsearch
-d 指定目录
-s 指定SHELL
-m 用户目录所属
-u 指定用户ID
-g 指定用户组
3.修改elasticsearch用户密码
命令:passwd elasticsearch (密码改为:elasticsearch)
4、把安装文件放在elasticsearch目录,给安装文件赋予权限及属组
[root@szrs-app opt]# mv elasticsearch-7.5.2-linux-x86_64.tar.gz /opt/ elasticsearch /
[root@szrs-app opt]# mv kibana-7.5.2-linux-x86_64.tar.gz
/opt/ elasticsearch /
[root@szrs-app opt]# chown -R elasticsearch:elasticsearch /opt/elasticsearch
[root@szrs-app opt]# chmod -R 755 /opt/elasticsearch/
5. 切换elasticsearch用户解压elasticsearch-7.5.2-linux-x86_64.tar.gz
修改/etc/elasticsearch/elasticsearch.yml 中以下内容(红色部分请自行修改):
cluster.name: cluster–集群名称
node.name: node-1—节点名称
path.data: /path/to/data—数据文件路径
path.logs: /path/to/logs—日志文件路径
bootstrap.memory_lock: true
network.host: 192.XXX.XXX.135—服务器地址
http.port: 9200—端口,默认为9200
discovery.seed_hosts: ["192.XXX.XXX.135", "192.XXX.XXX.136"]
cluster.initial_master_nodes: ["node-1", "node-2"]
修改/etc/elasticsearch/jvm.options ,将其中的内存使用修改为32g
-Xms32g
-Xmx32g
在其他服务器重复执行上述安装步骤,最后确保整个集群中的ES 全部启动,访问其中一台es 服务器:http://XXX.XXX.XXX.37:9200/_cluster/state/master_node,nodes?pretty ,看到如下界面,则表示ES集群安装成功。