Elasticsearch8.5.3集群和Kibana的部署指南
1. Elasticsearch8.5.3集群部署
-
下载Elasticsearch8.5.3安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.5.3-linux-x86_64.tar.gz wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.5.3-linux-x86_64.tar.gz.sha512 shasum -a 512 -c elasticsearch-8.5.3-linux-x86_64.tar.gz.sha512 tar -xzf elasticsearch-8.5.3-linux-x86_64.tar.gz cd elasticsearch-8.5.3/ -
修改虚拟内存的配置/etc/sysctl.conf,分发所有节点
sudo vim /etc/sysctl.conf # 添加 vm.max_map_count = 262144 sudo sysctl -p #使修改的配置立即生效(否则下次重启生效) -
修改用户资源限制
vim /etc/security/limits.conf * hard nofile 65536 * soft nofile 131072 * hard nproc 4096 * soft nproc 4096 -
修改java内存配置
jvm.options-Xms512m -Xmx512m -
新增文件夹data
mkdir data -
为elaticsearch创建用户并赋予相应权限
adduser es passwd es chown -R es:es /home/es/ chmod 777 /home/es/ su es -
修改elasticsearch.yml
# node-1 cluster.name: elastic-cluster node.name: node-1 node.roles: [master,data] path.data: /home/es/elasticsearch-8.5.3/data path.logs: /home/es/elasticsearch-8.5.3/logs network.host: 0.0.0.0 network.publish_host: 118.91.83.93 http.port: 9200 transport.port: 9300 http.cors.enabled: true http.cors.allow-credentials: true http.cors.allow-origin: "*" discovery.seed_hosts: ["118.91.83.93:9300", "101.35.51.44:9300"] cluster.initial_master_nodes: ["node-1"] xpack.security.enabled: false # node-2 cluster.name: elastic-cluster node.name: node-2 node.roles: [master,data] path.data: /home/es/elasticsearch-8.5.3/data path.logs: /home/es/elasticsearch-8.5.3/logs network.host: 0.0.0.0 network.publish_host: 101.35.51.44 http.port: 9200 transport.port: 9300 http.cors.enabled: true http.cors.allow-credentials: true http.cors.allow-origin: "*" discovery.seed_hosts: ["118.91.83.93:9300", "101.35.51.44:9300"] cluster.initial_master_nodes: ["node-1"] xpack.security.enabled: false -
运行elasticsearch服务
bin/elasticsearch -d # -d 后台执行 -
关闭elasticsearch服务
ps aux | grep elasticsearch kill -9 <pid> -
查看集群状态
http://118.91.83.93:9200/_cat/nodes
2. Elasticsearch集群设置通信加密处理和HTTPS访问
-
生成相关证书文件。(只需要在一个节点生成一次)
# 生成 CA ./bin/elasticsearch-certutil ca # 输入文件名elastic和密码 # 基于已有 CA 生成压缩包,里面有个elastic.p12 文件包含节点证书、节点密钥、CA证书 ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 # 以上操作会要求输入密码,密码可以不填。若填写密码,下方会有相应配置 -
将生成的文件放入
/home/es/elasticsearch-8.5.3/config/cert文件夹中。 -
修改
config/elasticsearch.yml文件,添加以下配置:xpack.security.enabled: true # false改为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 -
添加节点证书密码,也就是第一步操作过程中设置的密码。(在每个节点都需要添加)
./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password ./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password至此,集群节点之间的通信做了加密处理。
-
生成HTTPS支持所需要的文件。(只需要在一个节点生成一次)
./bin/elasticsearch-certutil http # /home/es/elasticsearch-8.5.3/config/cert/elastic-stack-ca.p12 ./bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password -
将生成的文件
http.p12放入/home/es/elasticsearch-8.5.3/config/cert文件夹中 -
修改
config/elasticsearch.yml文件,添加以下配置:xpack.security.http.ssl.enabled: true xpack.security.http.ssl.keystore.path: certs/http.p12 -
重新启动Elasticsearch节点
3. 安装Kibana及支持HTTPS
-
下载Kibana安装包
cd /home/kibana/ wget https://artifacts.elastic.co/downloads/kibana/kibana-8.5.3-linux-x86_64.tar.gz tar -xzf kibana-8.5.3-linux-x86_64.tar.gz -
生成pem文件
cd /home/es/elasticsearch-8.5.3/config/certs openssl pkcs12 -in elastic-certificates.p12 -cacerts -nokeys -out elastic-ca.pem # 需要输入其密码 cd kibana-8.5.3/ -
为kibana创建用户并赋予相应权限
adduser kibana passwd kibana chown -R kibana:kibana /home/kibana/ chmod 777 /home/kibana/ su kibana -
创建证书与key
# 创建证书与key ./bin/elasticsearch-certutil csr -name kibana-server -dns example.com,www.example.com # 将生成的压缩文件解压得到 kibana-server.csr、kibana-server.key 并复制到 kibana 的配置文件夹下面 -
将文件转移到
/home/kibana/kibana-8.5.3/config/cert,并生成kibana-server.crt文件unzip csr-bundle.zip openssl x509 -req -in kibana-server.csr -signkey kibana-server.key -out kibana-server.crt -
修改 kibana.yml 文件
server.port: 5601 server.host: 0.0.0.0 elasticsearch.hosts: ["https://118.91.83.93:9200","https://101.35.51.44:9200"] elasticsearch.username: "kibana" elasticsearch.password: "sZWFXdLbImHVxdEcEGFa" server.name: kibana elasticsearch.ssl.certificateAuthorities: [ "/home/kibana/kibana-8.5.3/config/certs/elastic-ca.pem" ] i18n.locale: "zh-CN" server.ssl.enabled: true server.ssl.certificate: /home/kibana/kibana-8.5.3/config/certs/kibana-server.crt server.ssl.key: /home/kibana/kibana-8.5.3/config/certs/kibana-server.key -
运行kibana
cd /home/kibana/kibana-8.5.3 su kibana # 启动 Kibanan nohup ./bin/kibana >/dev/null 2>&1 & echo $! > pid # 关闭 Kibana pkill -F pid
4. 补充
-
修改elastic和连接kibana的密码
./bin/elasticsearch-reset-password -u elastic --auto ./bin/elasticsearch-reset-password -u kibana-system --auto -
JDK问题
修改ES目录下bin/elasticsearch文件,在文件第二行位置开始添加如下内容:
export JAVA_HOME=/home/soft/es/elasticsearch-8.5.1/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar此内容告诉当前的应用使用此临时环境变量,而不使用/ect/profile内的环境变量,这样就可以重新定义使用ES自带的JDK了。

浙公网安备 33010602011771号