需要准备三台Centos7
的服务器。
三台服务器都已经配置好静态IP。
没有配的可以参考:VM Ware+Centos7配置静态IP
IP | 主机配置 | ElasticSearch版本 |
---|---|---|
192.168.159.171 | 2C8G | 7.14.0 |
192.168.159.172 | 2C8G | 7.14.0 |
192.168.159.173 | 2C8G | 7.14.0 |
以下操作需要在三台机器都执行,且是root用户下
使用vim
命令修改/etc/sysctl.conf
文件。
增加以下配置。
# 禁用内存与硬盘交换
vm.swappiness=1
# 设置虚拟内存大小
vm.max_map_count=262144
sysctl.conf
文件。sysctl -p
使用vim
命令修改/etc/security/limits.conf
配置文件。
增加以下配置。
# 进程线程数
* soft nproc 131072
* hard nproc 131072
# 文件句柄数
* soft nofile 131072
* hard nofile 131072
# 内存锁定交换
* soft memlock unlimited
* hard memlock unlimited
elastic
用户。专门给ElasticSearch
使用。useradd elastic
注意:以下所有操作需要在三台机器上都执行,且都是elastic用户操作、不要使用root用户操作,到时候启动会报错
先从官网下载7.14.0版本的Elasticsearch和Kibana。上传到服务器指定目录,这里我上传到
/app/software
目录下。官网下载地址
tar
命令解压elasticsearch安装包。tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz
elasticstack
目录。mkdir /app/elasticstack
elasticstack
目录下。mv /app/software/elasticsearch-7.14.0 /app/elasticstack/
jvm.options
配置文件。cd /app/elasticstack/elasticsearch-7.14.0/config/
vim jvm.options
# 增加以下内容
-Xms4g
-Xmx4g
修改elasticsearch.yml
文件
注意:下面配置中的node.name节点名字,每个机器上都需要不同。
network.host为每个机器的IP地址
vim elasticsearch.yml
# 修改为以下内容
# 集群名称
cluster.name: cluster1
# 节点名称
node.name: cluster1-171
# 数据存储路径
path.data: /app/data/elasticsearch
# 日志存储路径
path.logs: /app/logs/elasticsearch
# 内存交换锁定,此处需要操作系统设置才生效
bootstrap.memory_lock: true
# 机器IP地址
network.host: 192.168.159.171
# 访问端口,默认是9200 9300
http.port: 9200
transport.port: 9300
# 集群节点指向
discovery.seed_hosts: ["192.168.159.171:9300", "192.168.159.172:9300","192.168.159.173:9300"]
# 集群选举初始化节点
cluster.initial_master_nodes: ["192.168.159.171:9300","192.168.159.172:9300","192.168.159.173:9300"]
# 防止批量删除索引
action.destructive_requires_name: true
mkdir -p /app/data/elasticsearch
mkdir -p /app/logs/elasticsearch
# 前台启动、结束当前命令窗口,ES服务就结束
/app/elasticstack/elasticsearch-7.14.0/bin/elasticsearch
# 后台启动
/app/elasticstack/elasticsearch-7.14.0/bin/elasticsearch -d
tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz
/app/elasticstack
目录下。mv /app/software/kibana-7.14.0-linux-x86_64 /app/elasticstack/kibana-7.14.0
cd /app/elasticstack/kibana-7.14.0/config
vim kibana.yml
# 修改为以下内容
# kibana的端口
server.port: 5601
# kibana的ip
server.host: "192.168.159.171"
# ES集群地址
elasticsearch.hosts: ["http://192.168.159.171:9200","http://192.168.159.172:9200","http://192.168.159.173:9200"]
# 前台启动
/app/elasticstack/kibana-7.14.0/bin/kibana
# 后台启动
nohup /app/elasticstack/kibana-7.14.0/bin/kibana > /app/elasticstack/kibana-7.14.0/bin/kibana.log &
先将运行的ES集群停止。
/app/elasticstack/elasticsearch-7.14.0/bin/
目录下编辑node_all.in.yml
文件。添加以下内容。vim /app/elasticstack/elasticsearch-7.14.0/bin/node_all.in.yml
instances:
# 名字随便起
- name: "ca-7.14.0"
ip:
# 下面这些是所有ES机器的IP
- "192.168.159.171"
- "192.168.159.172"
- "192.168.159.173"
在/app/elasticstack/elasticsearch-7.14.0/bin
目录下执行以下命令。
提示那里直接回车即可。
./elasticsearch-certutil cert --silent --in /app/elasticstack/elasticsearch-7.14.0/bin/node_all.in.yml --out /app/elasticstack/elasticsearch-7.14.0/nodes_out.zip
nodes_out.zip
文件下载到本地来解压完成。cd /app/elasticstack/elasticsearch-7.14.0/
sz nodes_out.zip
使用vim
命令修改elasticsearch.yml
配置文件。
三台ES集群都需要执行此操作。
vim /app/elasticstack/elasticsearch-7.14.0/config/elasticsearch.yml
# 新增以下内容
#---------------------------------- security----------------------------------
# 启用安全策略
xpack.security.enabled: true
# 启用SSL,集群下必须启用,单节点可以无需配置
xpack.security.transport.ssl.enabled: true
# 集群安全策略校验模式
xpack.security.transport.ssl.verification_mode: certificate
# 配置证书文件 这个路径需要是你刚上传的那个安全文件的路径
xpack.security.transport.ssl.keystore.path: ca-7.14.0.p12
xpack.security.transport.ssl.truststore.path: ca-7.14.0.p12
执行以下命令,设置ES集群访问初始密码
提示全部输入密码:123456
/app/elasticstack/elasticsearch-7.14.0/bin/elasticsearch-setup-passwords interactive
vim /app/elasticstack/kibana-7.14.0/config/kibana.yml
# 修改以下内容
# 用户名
elasticsearch.username: "elastic"
# 密码 这里先填默认的,等会在Kibana里面修改复杂的后,修改这里重启。
elasticsearch.password: "123456"
重启kibana服务。
浏览器重新访问kibana地址。http://192.168.159.171:5601/。可以看到已经让输入用户名和密码了。
输入刚才设置的帐号和密码。登录kibana
注意点:修改完elastic的密码之后,一定要将kibana服务停止,然后修改配置文件里的密码为新设置的。然后重新启动。要不然kibana服务不可用