Linux(CentOS 7)安装和配置Elasticsearch集群
修改 /etc/sysctl.conf 文件,增加配置。修改配置文件 /etc/security/limits.conf(和问题1是一个文件),增加配置。新创建的es用户最大可创建文件数太小,最大虚拟内存太小,切换到root用户,编辑下列配置文件,添加类似如下内容。修改 /etc/security/limits.conf 文件,增加配置,用户退出后重新登录生效。每个进程最大同时打开文件数太小,可通
Elasticsearch集群配置**
1.解压
tar -zxvf elasticsearch-7.4.0-linux-x86\_64.tar.gz -C /usr/local
添加日志存放位置
cd /usr/local/elasticsearch-7.14.0
mkdir data
2.创建es用户并授权
创建普通用户
因为安全问题,Elasticsearch 不允许root用户直接运行,所以要创建新用户,在root用户中创建新用户,执行如下命令:
useradd es #新增es用户
passwd es #为icoding用户设置密码
userde1 -r es #如果错了可以删除再加
3.修改es用户权限(可跳过)
新创建的es用户最大可创建文件数太小,最大虚拟内存太小,切换到root用户,编辑下列配置文件,添加类似如下内容
su root
#1.===最大可创建文件数太小======
vi /etc/security/limits.conf
#在文件末尾中增加下面内容
* soft nofile 65536
* hard nofile 65536
#注:*代表Linux所有用户名称
#2.=最大虚拟内存太小==
vi /etc/sysctl.conf
#在文件中增加下面内容
vm.max_map_count=655360
#重新加载,输入下面命令:
sysctl -p
4.集群配置 修改elasticsearch.yml
#三台服务器
cd /usr/local/elasticsearch-7.14.0/config/
vim elasticsearch.yml
配置一
## 集群名称,保证唯一
cluster.name: c01
#### 节点名称,必须不一样
node.name: node-1
#是不是有资格成为主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#ip地址.
network.host: 0.0.0.0
#端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9700
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["192.168.1.123:9200", "192.168.1.124:9200","192.168.1.88:9200"]
#es7.x 之后新增的配置,初始化一个新的集群时需要次配置来选举master
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#数据和存储路径
path.data: /usr/local/elasticsearch-7.14.0/data
path.logs: /usr/local/elasticsearch-7.14.0/logs
配置二
## 集群名称,保证唯一
cluster.name: c02
#### 节点名称,必须不一样
node.name: node-2
#是不是有资格成为主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#ip地址.
network.host: 0.0.0.0
#端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9700
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["192.168.1.123:9200", "192.168.1.124:9200","192.168.1.88:9200"]
#es7.x 之后新增的配置,初始化一个新的集群时需要次配置来选举master
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#数据和存储路径
path.data: /usr/local/elasticsearch-7.14.0/data
path.logs: /usr/local/elasticsearch-7.14.0/logs
配置三
## 集群名称,保证唯一
cluster.name: c03
#### 节点名称,必须不一样
node.name: node-3
#是不是有资格成为主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#ip地址.
network.host: 0.0.0.0
#端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9700
#es7.x 之后新增的配置,节点发现
discovery.seed\_hosts: ["192.168.1.123:9200", "192.168.1.124:9200","192.168.1.88:9200"]
#es7.x 之后新增的配置,初始化一个新的集群时需要次配置来选举master
cluster.initial\_master\_nodes: ["node-1","node-2","node-3"]
#数据和存储路径
path.data: /usr/local/elasticsearch-7.14.0/data
path.logs: /usr/local/elasticsearch-7.14.0/logs
5.运行elasticsearch
启动之前,设置ES的JVM占用内存参数,防止内存不足错误
vi /usr/local/elasticsearch-7.14.0/config/jvm.options
#为普通用户授权 否则无法运行es
cd /usr/local/
chown -R es:es elasticsearch-7.4.0
启动es:
su es #切换es用户
cd /usr/local/elasticsearch-7.14.0/bin/
./elasticsearch
报错处理
最大文件描述符
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量
ulimit -Hn
ulimit -Sn
修改 /etc/security/limits.conf 文件,增加配置,用户退出后重新登录生效
* soft nofile 65536
* hard nofile 65536
内存权限太小
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
elasticsearch用户拥有的内存权限太小,至少需要262144;修改 /etc/sysctl.conf 文件,增加配置
vim /etc/sysctl.conf
vm.max_map_count=262144
执行命令 sysctl -p 生效
无法通过外部ip访问elasticsearch
#修改config/elasticsearch.yml下约第55行,修改为当前es地址或0.0.0.0
network.host: 0.0.0.0
配置初始化节点
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
#修改config/elasticsearch.yml下约第23行,放开node.name注释,可更改名称
node.name: node-1
#打开第68行注释,ip替换host1等,多节点请添加多个ip地址,单节点可写按默认来
#配置以下三者,最少其一
#[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
cluster.initial_master_nodes: ["node-1"] #这里的node-1为node-name配置的值
最大线程数
max number of threads [3818] for user [es] is too low, increase to at least [4096]
问题同上,最大线程个数太低。修改配置文件 /etc/security/limits.conf(和问题1是一个文件),增加配置
* soft nproc 4096
* hard nproc 4096
可通过命令查看
ulimit -Hu
ulimit -Su
修改后的文件:
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
更多推荐
所有评论(0)