前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7下Elasticsearch集群部署记录

CentOS7下Elasticsearch集群部署记录

作者头像
洗尽了浮华
发布2018-01-23 15:27:42
8690
发布2018-01-23 15:27:42
举报
文章被收录于专栏:散尽浮华散尽浮华

Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也都采用Elasticsearch作为其搜索服务。废话在此就不多赘述了,下面记录下CentOS7下Elasticsearch集群部署过程:

代码语言:javascript
复制
之前在三台服务器部署Elasticsearch集群:
qd-vpc-op-es01    101.119.92.247
qd-vpc-op-es02    101.119.92.249
qd-vpc-op-es03    101.119.92.254

下面再追加一台es04机器到集群中,操作如下:
qd-vpc-op-es04    101.119.92.16

1)安装jdk和elasticsearch
jdk-8u5-linux-x64.rpm下载地址:
https://pan.baidu.com/s/1bpxtX5X      (提取密码:df6s)

elasticsearch-5.5.0.rpm下载地址:
https://pan.baidu.com/s/1mibwWeG     (提取密码:vtm2)

[root@qd-vpc-op-es04 ~]# cd tools/
[root@qd-vpc-op-es04 tools]# ls
elasticsearch-5.5.0.rpm  jdk-8u5-linux-x64.rpm
[root@qd-vpc-op-es04 tools]# rpm -ivh elasticsearch-5.5.0.rpm 
[root@qd-vpc-op-es04 tools]# rpm -ivh jdk-8u5-linux-x64.rpm 
[root@qd-vpc-op-es04 tools]# java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

2)配置elasticsearch
[root@qd-vpc-op-es04 ~]# cd /etc/elasticsearch/
[root@qd-vpc-op-es04 elasticsearch]# ls
elasticsearch.yml  elasticsearch.yml.bak  jvm.options  log4j2.properties  nohup.out  scripts

[root@qd-vpc-op-es04 elasticsearch]# cat elasticsearch.yml|grep -v "#"           //集群中每个节点的配置内容都基本一致

cluster.name: image_search                                                       //集群名称
node.name: image_search_node_4                                                   //集群中本节点的节点名称,这里定义即可
path.data: /data/es/data                                                         //服务目录路径
path.logs: /data/es/logs                                                         //服务日志路径
discovery.zen.ping.unicast.hosts: ["101.119.92.247","101.119.92.249","101.119.92.254","10.111.233.16"]     //这里是各节点的ip地址
network.host: 0.0.0.0                                                            //服务绑定的网络地址

默认elasticsearch服务端口时9200
[root@qd-vpc-op-es04 elasticsearch]# cat elasticsearch.yml|grep 9200
#http.port: 9200

[root@qd-vpc-op-es04 elasticsearch]# systemctl start elasticsearch.service
[root@qd-vpc-op-es04 elasticsearch]# systemctl restart elasticsearch.service
[root@qd-vpc-op-es04 elasticsearch]# systemctl status elasticsearch.service

[root@qd-vpc-op-es04 elasticsearch]# ps -ef|grep elasticsearch
[root@qd-vpc-op-es04 elasticsearch]# lsof -i:9200
COMMAND   PID          USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    10998 elasticsearch  320u  IPv4  39255      0t0  TCP *:wap-wsp (LISTEN)

检查elasticsearch的健康状态
[root@qd-vpc-op-es04 elasticsearch]# curl 'localhost:9200/_cat/indices?v'
health status index                   uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   video_filter            Bx7He6ZtTEWuRBqXYC6gRw   5   1     458013            0      4.1gb            2gb
green  open   recommend_history_image svYo_Do4SM6wUiv6taUWug   5   1    2865902            0     24.9gb         12.4gb
green  open   recommend_history_gif   rhN3MDN2TbuYILqEDksQSg   5   1     265731            0      2.4gb          1.2gb
green  open   post_images             TMsMsMEoR5Sdb7UEQJsR5Q   5   1   48724932            0    407.3gb        203.9gb
green  open   review_images_v2        qzqnknpgTniU4rCsvXzs0w   5   1   50375955            0     61.6gb         30.9gb
green  open   review_images           rWC4WlfMS8aGe-GOkTauZg   5   1   51810877            0    439.3gb        219.7gb
green  open   sensitive_images        KxSrjvXdSz-y8YcqwBMsZA   5   1      13393            0    128.1mb           64mb
green  open   post_images_v2          FDphBV4-QuKVoD4_G3vRtA   5   1   49340491            0     55.8gb         27.8gb

从上面的命令结果中可以看出,本节点已经成功加入到名为image_search的elasticsearch集群中了,green表示节点状态很健康,数据也已经在同步中了。

3)在代码中更新elasticsearch的配置
通知开发同事,在代码中增加新增elasticsearch节点的配置,上线更新后,到新节点上查看elasticsearch日志是否有信息写入:
[root@qd-vpc-op-es04 ~]# cd /data/es/logs/
[root@qd-vpc-op-es04 ~]# chown -R elasticsearch.elasticsearch /data/es
[root@qd-vpc-op-es04 logs]# ls
image_search_deprecation.log  image_search_index_indexing_slowlog.log  image_search_index_search_slowlog.log  image_search.log

----------------------------------------------------------------------------------------------------------------
注意:
如果往elasticsearch集群中新增一个节点,做法如下:
1)在新节点上安装jdk和elasticsearch服务,配置elasticsearch.yml文件了,启动elasticsearch服务
2)在集群中其他节点上配置elasticsearch.yml文件,不需要启动elasticsearch服务
3)在新节点上执行curl 'localhost:9200/_cat/indices?v'命令,查看健康状态以及数据同步情况
4)在代码中增加新增elasticsearch节点的配置,上线更新后,查看新增节点的elasticsearch日志是否有信息写入
----------------------------------------------------------------------------------------------------------------
最后顺便贴一下其他三个节点的elasticsearch.yml文件配置:
[root@qd-vpc-op-es01 ~]# cat /etc/elasticsearch/elasticsearch.yml |grep -v "#"

cluster.name: image_search
node.name: image_search_node_1
path.data: /data/es/data
path.logs: /data/es/logs
discovery.zen.ping.unicast.hosts: ["10.111.233.16","101.119.92.247","101.119.92.249","101.119.92.254"]
network.host: 0.0.0.0

[root@qd-vpc-op-es02 ~]# cat /etc/elasticsearch/elasticsearch.yml |grep -v "#"
cluster.name: image_search
node.name: image_search_node_2
path.data: /data/es/data
path.logs: /data/es/logs
discovery.zen.ping.unicast.hosts: ["10.111.233.16","101.119.92.247","101.119.92.249","101.119.92.254"]
network.host: 0.0.0.0

[root@qd-vpc-op-es03 ~]# cat /etc/elasticsearch/elasticsearch.yml|grep -v "#"

cluster.name: image_search
node.name: image_search_node_3
path.data: /data/es/data
path.logs: /data/es/logs
discovery.zen.ping.unicast.hosts: ["101.119.92.247","101.119.92.249","101.119.92.254","10.111.233.16"]
network.host: 0.0.0.0
----------------------------------------------------------------------------------------------------------------

如果关闭某个节点或将其从集群中提出来,需要提前通知该节点停止同步数据(迁移的时候会用到):
# curl -XPUT 'localhost:9200/_cluster/settings' -d '{"transient" : {"cluster.routing.allocation.enable" : "none”}}’ 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-10-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档