上传安装包
上传elasticsearch-7.16.3-x86_64.rpm安装包到安装目录下/install;三台服务器一样的操作
es环境是需要java环境的,如果没有安装jdk,还需要额外安装,同样上传jdk-8u331-linux-x86.rpm到/install目录
安装elasticsearch
进入/install目录,执行rpm命令
安装jdk
rpm -ivh jdk-8u331-linux-x86.rpm
安装es
rpm -ivh elasticsearch-7.16.3-x86_64.rpm
通过rpm安装会很快的安装成功,不需要额外的操作,至此已经安装成功。三台服务器是一样的操作,这样每台服务器上就是一个单机版的elasticsearch。
#创建数据存储目录
mkdir -p /data/elasticsearch/esdata
#设置目录权限为elasticsear用户
chown -R elasticsearch:elasticsearch /data/elasticsearch/esdata
#创建日志存储目录
mkdir -p /data/elasticsearch/eslog
#设置目录权限为elasticsear用户
chown -R elasticsearch:elasticsearch /data/elasticsearch/eslog
三台服务器一样的操作
编辑elasticsearch.yml文件,三台服务器一样的操作
vim /etc/elasticsearch/elasticsearch.yml
# 这里修改集群的名字,如果要想搭建集群,所有集群中的每个节点名字都必须一样
cluster.name: my-es-cluster
# 每个集群中都有节点,这里设置每个节点的名字,节点与节点的名字必须不一样
node.name: node-1
# 这里修改为每台节点数据存放的目录
path.data: /etc/elasticsearch/esdata
# 这里修改为每台节点日志的存放目录
path.logs: /etc/elasticsearch/eslog
# 这一行改成 0.0.0.0 意思是允许所有节点访问
network.host: 0.0.0.0
# 配置集群节点集合
discovery.seed_hosts: ["192.168.1.100", "192.168.1.101", "192.168.1.102"]
# 集群选举设置
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
# 开启跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
#开启密码认证
xpack.security.enabled: true
#开启ssl认证
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
#证书的位置
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
由于 Elasticsearch 是依赖Java,所以可以通过 /etc/elasticsearch/jvm.options 配置文件来设定 JVM 的相关配置。如果没有特殊需求按默认即可。
不过其中还是有两项最重要的 -Xmx4g 与 -Xms4g,用于指定 JVM 的最大堆和最小堆内存大小。服务器内存大小为 8G,此处设置 1G,也合适。如果太小会导致 Elasticsearch 刚刚启动就立刻停止,太大会拖慢系统本身。
在节点1的es的安装目录bin目录(/usr/share/elasticsearch/bin)下执行如下命令,生成elastic-certificates.p12文件,复制该文件到其他俩个节点。
./elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""
#注意上面生成文件的所属组,修改为elasticsarch
chown elasticsearch:elasticsearch /etc/elasticsearch/elastic-certificates.p12
创建集群密码时,需要依次启动三台服务器,不启动集群添加密码的操作执行不了。
[root@es-1 bin]$ ./elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
[root@es-1 bin]$
#为上面所有的用户设置相同的密码
#生成密码后,可以通过,curl -XGET http://localhost:9200/_cat/indices?v -u elastic:密码 查看es中的索引,会发现生成了一个.security-7的索引,该索引存在设置的密码就生效了,如果不小心把该索引删除,之前设置的密码就认证失败了,需要重新设置密码