ElasticSearch集群离线安装
ES版本:ElasticSearch-7.17.0
系统版本:CentOS-7.6
官网下载安装包
下载tar包:elasticsearch-7.17.0-linux-x86_64.tar.gz
一、准备工作
1.Elasticsearch 5.x版本以上只支持非root账户启动,所以新建一个用户es
useradd -d /home/db/es -g db #在用户组db下面创建es用户 passwd es #设置es用户密码
2.ElasticSearch启动配置要求:
- 每个进程最大同时打开文件数不低于65536
ulimit -Hn;ulimit -Sn 查看当前数量,修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
- 每个进程最大线程个数不低于4096
ulimit -Hu;ulimit -Su 查看当前数量,修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
- vm.max_map_count 不低于262144,在/etc/sysctl.conf文件内增加 vm.max_map_count=262144 配置
vim /etc/security/limits.conf es soft nofile 65536 es hard nofile 65536 es soft nproc 4096 es hard nproc 4096
#############################################
vim /etc/sysctl.conf
vm.max_map_count=262144
sysctl -p #配置生效命令
二、安装配置
1.上传并解压安装包
root@centos7:~# tar -zxvf elasticsearch-7.17.0-linux-x86_64.tar.gz -C /home/db/es/ root@centos7:~# chown -R es:db /home/db/es/elasticsearch-7.17.0/
2.配置ElasticSearch
至少需要配置discovery.seed_hosts、discovery.seed_providers、cluster.initial_master_nodes中的一个参数
- discovery.seed_hosts: 集群主机列表
- discovery.seed_providers: 基于配置文件配置集群主机列表
- cluster.initial_master_nodes: 启动时初始化的参与选主的node,生产环境必填
vim ./config/elasticsearch.yml #添加配置 discovery.seed_hosts: ["127.0.0.1"] cluster.initial_master_nodes: ["node-1"]
3.启动ElasticSearch
su - es ./elasticsearch-7.17.0/bin/elasticsearch -d
浏览器访问ElasticSearch服务器ip:port

ElasticSearch初步配置运行成功!
三、配置ElasticSearch集群
修改conf/elasticsearch.yml
# 集群名称,集群中的各节点此名称必须一致 cluster.name: test # 节点名称,集群中的各节点名称不重复,另一个节点设置为 node-2 node.name: node-1 # 数据文件路径 path.data: data # 日志文件路径 path.logs: logs # 本机服务器 IP,另一节点修改为 192.168.1.155 network.host: 192.168.1.150 network.bind_host: 0.0.0.0 # elasticsearch 访问端口 http.port: 9200 # 集群中的主机列表 通讯端口默认 9300 discovery.seed_hosts: ["192.168.1.150:9300","192.168.1.155:9300"] # 设置主节点,这里设置 node-1 为主节点 cluster.initial_master_nodes: ["node-1"] # 防止 head 插件链接跨域(可选) http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization
配置完后成功重启所有elasticsearch的节点,通过head插件查看或者在浏览器访问 :
#查看集群节点信息 http://ip:port/_cat/nodes #查看集群节点详细信息 http://ip:port//_cat/nodes?v&h=http,version,jdk,disk.total,disk.used,disk.avail,disk.used_percent,heap.current,heap.percent,heap.max,ram.current,ram.percent,ram.max,master
四、开启ElasticSearch集群用户名密码认证
Elasticsearch在6.3及以后的版本已经自带xpack插件,所以可以直接进行设置。如果是6.2及之前的版本,需要自己下载安装xpack插件。
1.生成证书,并将生成的elastic-certificates.p12存放到config/certs/目录下
./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
2.拷贝证书到其他节点服务器
3.修改所有节点conf/elasticsearch.yml配置文件,在最后加上:
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: certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
4.成功重启所有ElasticSearch服务器后在主节点执行手动设置用户密码
bin/elasticsearch-setup-passwords interactive
这里会让设置相关用户的密码,如elastic、kibana、logstash等,每个密码都需要输入一次,确认一次。
5.验证
打开浏览器,输入elasticsearch服务器的IP和端口,出现弹出框,输入账号elastic,之前设置的密码,确认后弹出json页面,表示登录成功。
五、配置ElasticSearch系统自启动
新建系统es.service服务
[Unit] Description=elasticsearch After=network.target [Service] Type=simple User=es Group=db Restart=no LimitNOFILE=100000 LimitNPROC=100000 ExecStart=/home/db/es/elasticsearch-7.17.0/bin/elasticsearch -p es.pid ExecStop=kill -9 `cat /home/db/es/elasticsearch-7.17.0/es.pid` PrivateTmp=true [Install] WantedBy=multi-user.target
浙公网安备 33010602011771号