Elasticsearch 怎么安装部署?

605 阅读1分钟

这是我参与8月更文挑战的第14天,活动详情查看:8月更文挑战

正文

第一步:创建普通用户

注意:ES不能使用root用户来启动,必须使用普通用户来安装启动。

这里我们使用hadoop用户来安装我们的es服务

第二步:下载并上传压缩包,然后解压

将es的安装包下载并上传到node01服务器的/opt/bigdata/soft node01服务器使用es用户执行以下命令

[hadoop@node01 ~]$ cd /opt/bigdata/soft/
[hadoop@node01 soft]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz

[hadoop@node01 soft]$ tar -zxf elasticsearch-6.7.0.tar.gz  -C /opt/bigdata/install/

第三步:修改配置文件

修改elasticsearch.yml

node01服务器使用hadoop用户来修改配置文件

cd /opt/bigdata/install/elasticsearch-6.7.0/config/
mkdir -p /opt/bigdata/install/elasticsearch-6.7.0/logs/
mkdir -p /opt/bigdata/install/elasticsearch-6.7.0/datas
vim elasticsearch.yml
cluster.name: myes
node.name: node01
path.data: /opt/bigdata/install/elasticsearch-6.7.0/datas
path.logs: /opt/bigdata/install/elasticsearch-6.7.0/logs
network.host: 192.168.52.100
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

修改jvm.option

修改jvm.option配置文件,调整jvm堆内存大小 node01使用es用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整

cd /opt/bigdata/install/elasticsearch-6.7.0/config
vim jvm.options

-Xms2g
-Xmx2g

第四步:将安装包分发到其他服务器上面

node01使用es用户将安装包分发到其他服务器上面去

cd /opt/bigdata/install/
scp -r elasticsearch-6.7.0/ node02:$PWD
scp -r elasticsearch-6.7.0/ node03:$PWD

第五步:node02与node03修改es配置文件

node02与node03也需要修改es配置文件 node02使用hadoop用户执行以下命令修改es配置文件

cd /opt/bigdata/install/elasticsearch-6.7.0/config/
vim elasticsearch.yml
cluster.name: myes
node.name: node02
path.data: /opt/bigdata/install/elasticsearch-6.7.0/datas
path.logs: /opt/bigdata/install/elasticsearch-6.7.0/logs
network.host: 192.168.52.110
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

node03使用hadoop

cd /opt/bigdata/install/elasticsearch-6.7.0/config/ 
vim elasticsearch.yml
cluster.name: myes
node.name: node03
path.data: /opt/bigdata/install/elasticsearch-6.7.0/datas
path.logs: /opt/bigdata/install/elasticsearch-6.7.0/logs
network.host: 192.168.52.120
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

第六步:修改系统配置,解决启动时候的问题

由于现在使用普通用户来安装es服务,且es服务对服务器的资源要求比较多,包括内存大小,线程数等。所以我们需要给普通用户解开资源的束缚

解决启动问题一:普通用户打开文件的最大数限制

问题错误信息描述:

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错 三台机器使用es用户执行以下命令解除打开文件数据的限制

sudo vi /etc/security/limits.conf

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

解决启动问题二:普通用户启动线程数限制

三台机器执行以下命令打开文件最大数

sudo vi /etc/sysctl.conf

vm.max_map_count=655360
fs.file-max=655360

执行以下命令生效

sudo sysctl -p

注意:以上两个问题修改完成之后,一定要重新连接linux生效。关闭secureCRT或者XShell工具,然后重新打开工具连接linux即可

重新连接之后执行以下命令,出现这个结果即可准备启动ES了

[hadoop@node01 ~]$ ulimit -Hn
131072
[hadoop@node01 ~]$ ulimit -Sn
65536
[hadoop@node01 ~]$ ulimit -Hu
4096
[hadoop@node01 ~]$ ulimit -Su
4096

第七步:启动ES服务

三台机器使用hadoop用户执行以下命令启动es服务

nohup /opt/bigdata/install/elasticsearch-6.7.0/bin/elasticsearch 2>&1 &

启动成功之后jsp即可看到es的服务进程,并且访问页面

http://node01:9200/?pretty

能够看到es启动之后的一些信息

注意:如果哪一台机器服务启动失败,那么就到哪一台机器的 /opt/bigdata/install/elasticsearch-6.7.0/logs 这个路径下面去查看错误日志