下载安装包
wget https://mirrors.huaweicloud.com/elasticsearch/6.8.1/elasticsearch-6.8.1.tar.gz
# 将安装包分发到三台机器上,本文采用 ip1、ip2、ip3 的变量形式代表。
scp root@elasticsearch-6.8.1.tar.gz root@ip1:/opt/
# 解压
tar -xzf elasticsearch-6.8.1.tar.gz
# 解压后的目录
.
├── bin # 二进制脚本存放目录,包括 elasticsearch 来指定运行一个 node,包括 elasticsearch-plugin 来安装 plugins
├── config # 包含了 elasticsearch.yml 配置文件
├── data # 节点上分配的每个 index/分片 的数据文件
├── lib
├── LICENSE.txt
├── logs
├── modules
├── NOTICE.txt
├── plugins # 插键文件存放的位置
└── README.textile
配置
# es 不能使用 root 用户启动,新建一个 es 用户
useradd es
passwd es
# 新建 es 数据和日志目录
mkdir -p /data/es/data
mkdir -p /data/es/logs
# 更改两个目录的权限
chown -R es:es /data/es
config/elasticsearch.yml 中添加以下配置
# 仅贴 ip1 的配置,ip2、ip3的配置不一样的地方会在后面注释写出
cluster.name: test-es
node.name: es1 # ip2:es2 ip3:es3
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["ip1:9300","ip2:9300","ip2:9300"]
path.data: /data/es/data
path.logs: /data/es/logs
http.port: 9200
transport.tcp.port: 9300
discovery.zen.minimum_master_nodes: 2
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
调整jvm参数(config/jvm.options)
#一般只需要修改jvm参数 Xms 和 Xmx 不能大于你物理机内存的 50%
-Xms2g
-Xmx2g
启动 Elasticsearch
# 在elasticsearch 目录中
#测试启动
./bin/elasticsearch
# max virtual memory areas vm.max_map_count [65530] is too low, 如果报这个错
# 修改内核参数
vim /etc/sysctl.conf
`vm.max_map_count=262144`
sysctl -p
#作为守护进程运行
./bin/elasticsearch -d -p pid
开启认证
#生成 CA 证书
bin/elasticsearch-certutil ca # 生成一个elastic-stack-ca.p12 过程中会让输入密码 及 保存副本的提示
# 为每个节点生成证书和私钥
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 #产生 elastic-certificates.p12 过程中还会让输入密码 可以留空
#将上一步产生的文件放在每个节点的 config/certs 下也可以其他位置,待会配置文件中会填写该位置
# 为系统默认用户创建密码
# 创建 keystore 文件
./bin/elasticsearch-keystore create
# 创建密码 可以放到最后一步操作
./bin/elasticsearch-setup-passwords interactive
config/elasticsearch.yml 中添加以下配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 # 位置自定义 目前是相对路径
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12 # 位置自定义 目前是相对路径
重启 es 并验证
service
Description=es server
After=network.target
[Service]
Type=simple
User=es
Group=es
LimitNOFILE=100000
LimitNPROC=100000
Environment=JAVA_HOME=/opt/jdk1.8.0_201
#PIDFile=/opt/elasticsearch-6.8.1/pid
ExecStart=/opt/elasticsearch-6.8.1/bin/elasticsearch -p /opt/elasticsearch-6.8.1/pid
Restart=always
PrivateTmp=true
[Install]
WantedBy=multi-user.target
~