elasticsearch集群安装搭建及部署该怎么配置?

在各种搜索引擎中,ElasticSearch 可以说是其中的佼佼者了,小伙伴们知道ElasticSearch 该怎么安装吗?下面来看看它该如何安装,部署吧。

一、环境搭建

-至少三台ElasticSearch 机器,至少4G内存,硬盘容量可按线上标配配置

-一台Kibanna可视化平台机器,至少2G内存,可共用

-Centos 7.x 64bit
-JDK 1.8 + 64bit
-ElasticSearch 5.6.9
-Kibana 5.6.9

二、部署前准备

节点信息

es01.5866.com 192.168.103.87
es02.5866.com 192.168.103.88
es03.5866.com 192.168.103.89

下面操作在三个节点机上都要操作

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state #确保结果为not running

修改用户最大可创建文件数

vi /etc/security/limits.conf #末尾添加以下内容:

soft nofile 65536
hard nofile 131072
soft nproc 65536

修改sysctl.conf

vi /etc/sysctl.conf#末尾添加以下内容:

vm.max_map_count=655360

关闭SELINUX

1) vi /etc/sysconfig/selinux

设置SELINUX=disabled

2) 重启机器使其生效

3) 执行getenforce #确保结果为Disabled

添加Hosts

vi /etc/hosts #新增以下

192.168.45.87 es01.5866.com
192.168.45.88 es02.5866.com
192.168.45.89 es03.5866.com

三、开始安装ElasticSearch PS:三个节点机都需要

下载安装包

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.9.tar.gz

下载到/usr/local 目录下,解压

tar -zxvf elasticsearch-5.6.9.tar.gz

创建一个elasticsearch组和账户

1) groupadd elasticsearch #创建elasticsearch用户组

2) useradd elasticsearch -g elasticsearch -p elasticsearch #创建用户elasticsearch所属组为elasticsearch

授权ES目录

1) cd /usr/local/elasticsearch-5.6.9 #切换到解压好的elasticsearch-5.6.9目录

2) chown -R elasticsearch:elasticsearch . #变更该文件夹拥有 .代表当前文件夹

修改elasticsearch配置文件

1)vi /usr/local/elasticsearch-5.6.9/config/elasticsearch.yml #去掉以下配置的注释并配置内容

cluster.name: 5866-es #集群名称,三个节点的集群名称配置要一样

node.name: es01.5866.com #集群节点名称,一般为本节点主机名。注意这个要是能ping通的,即在各节点的/etc/hosts里绑定。

path.data: /data/es/data #集群数据存放目录

path.logs: /data/es/logs #日志路径

network.host: 192.168.103.87 #服务绑定的网络地址,一般填写本节点ip;也可以填写0.0.0.0

http.port: 9200 #服务接收请求的端口号

discovery.zen.ping.unicast.hosts: ["192.168.103.87", "192.168.103.88", "192.168.103.89"] #添加集群中的所有主机地址,会自动发现并自动选择master主节点

另外两个节点的elasticsearch.yml文件配置,如上相似,只需修改节点名和地址即可。

授权集群数据存放目录和日志路径

1) mkdir -p /data/es/data #这个路径要与elasticsearch.yml中的path.data配置一致

2) chown -R elasticsearch.elasticsearch /data/es/data #授权elasticsearch用户

3) mkdir -p /data/es/logs #这个路径要与elasticsearch.yml中的path.logs配置一致

4) chown -R elasticsearch.elasticsearch /data/es/logs #授权elasticsearch用户

启动ES

1) su elasticsearch #切换用户为elasticsearch

2) cd /usr/local/elasticsearch-5.6.9/bin #进入ES bin目录

3) ./elasticsearch #启动ES,若输出日志未报错,并最后提示。。。started,请按ctrl+c关闭ES,再执行以下命令以后台模式运行ES:

4)./elasticsearch -d #后台模式运行,日志可到elasticsearch.yml中的path.logs配置的路径查看,对应5866-es.log

PS:要关闭ES 请直接杀elasticsearch进程

查看集群信息(如下操作在任意一台节点机上都可操作)

1)查询集群状态方法

curl -XGET 'http://192.168.103.87:9200/_cat/nodes'
192.168.103.88 11 77 0 0.00 0.01 0.05 mdi * es02.5866.com 
#带*号表示该节点是master主节点
192.168.103.87 8 75 29 0.42 0.15 0.09 mdi - es01.5866.com
192.168.103.89 10 77 0 0.00 0.01 0.05 mdi - es03.5866.com

nodes后面添加 ?v ,可详细显示

2)查询集群的健康状态(一共三种状态:green、yellow,red;其中green表示健康。)

curl -XGET 'http://192.168.103.87:9200/_cluster/health?pretty'
{
"cluster_name" : "5866-es",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 6,
"active_shards" : 12,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}

四、Kibana安装

下载安装包

https://artifacts.elastic.co/downloads/kibana/kibana-5.6.9-linux-x86_64.tar.gz

下载到/usr/local 目录下,解压

tar -zxvf kibana-5.6.9-linux-x86_64.tar.gz

修改kibana配置文件

1)cd /usr/local/kibana-5.6.9-linux-x86_64/config #进入kibana配置目录

2)vi kibana.yml #去掉以下配置的注释并配置内容

server.host: "192.168.103.90" #本机地址
server.port: 5601 #kibana服务端口
elasticsearch.url: "http://192.168.103.87:9200" #ES master节点地址

启动Kibana

1)cd /usr/local/kibana-5.6.9-linux-x86_64/bin #进入kibana bin目录

2) ./kibana #启动kibana,若输出日志未报错,并最后提示。。。 Ready,请按ctrl+c关闭,再执行以下命令以后台模式运行:

3)nohup ./kibana &

PS:关闭kiban 直接杀node进程

访问kibana

这里就全部部署完成了,打开浏览器输入:http://192.168.43.124:5601就可以看到了。

以上就是关于elasticsearch集群安装搭建及部署的所有内容,你应该明白了吧,更多java架构师知识可以来关注我们的网站了解噢。

推荐阅读:

elasticsearch面试题及答案详解,java常见面试题