安装Elasticsearch
一、创建普通用户
ES不能使用root用户来启动,必须使用普通用户来安装启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等。
使用root用户在三台机器执行以下命令
useradd lanson
passwd lanson
二、为普通用户添加sudo权限
为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作
三台机器使用root用户执行visudo命令然后为es用户添加权限
visudo
# 第100行
lanson ALL=(ALL) ALL
三、上传压缩包并解压
以下操作 使用root用户es的相关的目录, 三台虚拟机都需要创建
# 在node1、node2、node3创建es文件夹,并修改owner为lanson用户
mkdir -p /export/server/es
chown -R lanson:lanson /export/server/es
将es的安装包下载并上传到node1.服务器的/export/software路径下,然后进行解压
使用lanson用户来执行以下操作,将es安装包上传到node1服务器,并使用es用户执行以下命令解压。
# 解压Elasticsearch
cd /export/software/
tar -zvxf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /export/server/es/
四、修改配置文件
1、修改elasticsearch.yml
cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data
rm -rf elasticsearch.yml
vim elasticsearch.yml
cluster.name: lanson-es
node.name: node1
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node1
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
2、修改jvm.option
node1使用lanson用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整。
五、将安装包分发到其他服务器上面
node1使用lanson用户将安装包分发到其他服务器上面去
cd /export/server/es/
scp -r elasticsearch-7.6.1/ node2:$PWD
scp -r elasticsearch-7.6.1/ node3:$PWD
六、node2与node3修改es配置文件
cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data
vim elasticsearch.yml
cluster.name: lanson-es
node.name: node2
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node2
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data
vim elasticsearch.yml
cluster.name: lanson-es
node.name: node3
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node3
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
七、修改系统配置,解决启动时候的问题
由于现在使用普通用户来安装es服务,且es服务对服务器的资源要求比较多,包括内存大小,线程数等。所以我们需要给普通用户解开资源的束缚
1、普通用户打开文件的最大数限制
问题错误信息描述:
max file descriptors 4096 for elasticsearch process likely too low, increase to at least 65536
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错
三台机器使用lanson用户执行以下命令解除打开文件数据的限制
sudo vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
2、普通用户启动线程数限制
问题错误信息描述
max number of threads 1024 for user es likely too low, increase to at least 4096
max number of threads 1024 for user es likely too low, increase to at least 4096
原因:无法创建本地线程问题,用户最大可创建线程数太小
Centos6
sudo vi /etc/security/limits.d/90-nproc.conf
Centos7
sudo vi /etc/security/limits.d/20-nproc.conf
找到如下内容:
* soft nproc 1024
#修改为
* soft nproc 4096
3、普通用户调大虚拟内存
错误信息描述:
max virtual memory areas vm.max_map_count 65530 likely too low, increase to at least 262144
调大系统的虚拟内存
原因:最大虚拟内存太小
每次启动机器都手动执行下。
三台机器执行以下命令
第一种调整: 临时调整, 退出会话 重新登录 就会失效的 (测试环境下配置)
sudo sysctl -w vm.max_map_count=262144
第二种: 永久有效 (生产中配置)
sudo vim /etc/sysctl.conf
在最后添加一行
vm.max_map_count=262144
备注:以上三个问题解决完成之后,重新连接secureCRT或者重新连接xshell生效
八、启动ES服务
三台机器使用lanson用户执行以下命令启动es服务
nohup /export/server/es/elasticsearch-7.6.1/bin/elasticsearch 2>&1 &
启动成功之后jsp即可看到es的服务进程,并且访问页面
http://node1:9200/?pretty
http://node2:9200/?pretty
http://node3:9200/?pretty
能够看到es启动之后的一些信息
注意:如果哪一台机器服务启动失败,那么就到哪一台机器的
/export/server/es/elasticsearch-7.6.1/log
这个路径下面去查看错误日志
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。