为了在3台不联网的 CentOS 7.8 服务器上部署 Elasticsearch 6.8.23 集群,并考虑到path.data
和path.logs
的配置,我们可以按照以下步骤进行操作:
1.1 从有网络的机器下载 Elasticsearch 6.8.23 的 RPM 包:
https://www.elastic.co/downloads/past-releases/elasticsearch-6-8-23
1.2 为了安装依赖包,还需要下载以下 RPM 包:
java-1.8.0-openjdk
可以使用 yum
命令下载:
yum install --downloadonly --downloaddir=/path_to_directory java-1.8.0-openjdk
1.3 使用 U盘或其他方式将这些 RPM 包复制到 3 台 CentOS 服务器上。
2.1 安装 Java:
cd /path_to_directory
yum localinstall java-1.8.0-openjdk*.rpm
2.2 安装 Elasticsearch:
cd /path_where_elasticsearch_rpm_is
yum localinstall elasticsearch-6.8.23.rpm
3.1 创建数据和日志的目录:
mkdir -p /data1/elasticsearch/data/
mkdir -p /data1/elasticsearch/log/
3.2 设置适当的权限:
chown -R elasticsearch:elasticsearch /data1/elasticsearch/data/
chown -R elasticsearch:elasticsearch /data1/elasticsearch/log/
3.3 编辑 /etc/elasticsearch/elasticsearch.yml
文件,设置以下参数:
cluster.name: my-cluster
node.name: node-1 # 在不同的服务器上设置为 node-2, node-3
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["server1_ip", "server2_ip", "server3_ip"]
discovery.zen.minimum_master_nodes: 2
path.data: /data1/elasticsearch/data/
path.logs: /data1/elasticsearch/log/
3.4 开启 Elasticsearch 服务:
systemctl enable elasticsearch
systemctl start elasticsearch
若服务器有启动防火墙,需要允许访问 Elasticsearch 的端口:
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9300/tcp
firewall-cmd --reload
在任意服务器上运行以下命令,查看集群健康状况:
curl -X GET "localhost:9200/_cluster/health?pretty"
单台是这个
curl -X GET 'http://localhost:9200'
以上步骤应该可以帮助你在 3 台 CentOS 7.8 服务器上部署 Elasticsearch 6.8.23 集群并正确配置数据和日志路径。确保在所有3台服务器上都执行这些步骤,以确保集群的每个节点都正确配置。
注意:Elasticsearch 的配置和部署在生产环境中涉及很多细节和优化,上述步骤仅为基础部署。生产环境中需要考虑数据安全、性能优化、备份等多种问题。
配置优化
修改内存
vim /etc/elasticsearch/jvm.options
修改其中的以下两条,根据实际情况按需修改:
-Xms1g
-Xmx1g
ES配置IK分词器
IK分词器的安装
1、下载地址:Releases · medcl/elasticsearch-analysis-ik · GitHub
注意:下载时一定要下载与当前ES版本一致的分词器版本,免得出现一些其他问题。
2、解压上传
[root@localhost elasticsearch]# find / -name plugins
/usr/share/elasticsearch/plugins
将解压后的elasticsearch-analysis-ik-6.8.2文件夹拷贝到/usr/share/elasticsearch/plugins下,并重命名文件夹为ik。
你可以使用chown
和chmod
命令来修改目录的所有权和权限。
首先,确保你有适当的权限来更改这些目录的属性。你可能需要使用sudo
来执行这些命令,如果你是root用户的话。
elasticsearch
用户组:sudo chown -R :elasticsearch /usr/share/elasticsearch/plugins/ik
这里,-R
表示递归地更改指定目录及其子目录的所有权。冒号之前没有指定用户名,所以只修改了组,而不是用户。
elasticsearch
用户组设置可读、可写、可执行权限:sudo chmod -R g+rwx /usr/share/elasticsearch/plugins/ik
这里,g+rwx
表示为用户组(g代表group)添加读(r)、写(w)和执行(x)权限。
完成上述步骤后,elasticsearch
用户组应该有对/usr/share/elasticsearch/plugins/ik
及其子目录的可读、可写、可执行权限。
3、重启es,即可加载ik分词器。
systemctl restart elasticsearch
tail -f /data1/elasticsearch/log/es-cluster.log
ES集群设置密码
二、配置步骤
1、在每台节点的elasticsearch配置文件中开启x-pack验证先不要重启!!!!!
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
2、在任意一台es成员执行以下命令
提示输入密码,直接回车,不用输入密码!!!!。目的是为了生成elastic-certificates.p12文件!!!
/usr/share/elasticsearch/bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass
3、将/etc/elasticsearch/下生成的证书拷贝到其他集群机器并修改权限中,然后重启集群。(注意确保每个节点的证书权限都修改)
chmod 755 elastic-certificates.p12
重启所有的服务器!先重启node1,
systemctl restart elasticsearch
日志查看
tail -f /data1/elasticsearch/log/es-cluster.log
不报错就已经成功一大半了!!!!
3、在任意一台es机器执行设置用户名和密码的命令
共需为6个用户设置密码:elastic,kibana,logstash_system,beats_system,apm_system,remote_monitoring_user.
执行以下命令
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
注:此步骤后访问该台服务器的elasticsearch需要密码,如果是集群模式还需要做以下步骤。
6、使用浏览器访问elasticsearch
验证是否每个节点需要验证密码登录。
7、修改kibana配置文件中elasticsearch的用户名和密码。(不需要可忽略)
并访问连接验证
并重启kibana