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

 

posted on 2022-02-21 16:30  zy7.yun  阅读(125)  评论(0)    收藏  举报

导航