ES (elasticsearch) 集群配置

5 篇文章 0 订阅

先了解几个概念
1.候选主节点(Master-eligible node)
一个节点启动后,就会使用Zen Discovery机制去寻找集群中的其他节点,并与之建立连接。集群中会从候选主节点中选举出一个主节点,主节点负责创建索引、删除索引、分配分片、追踪集群中的节点状态等工作。
设置方式node.master: true
2.数据节点(Data node)
负责数据的存储、检索等操作,对磁空间、CPU的要求较高
设置方式node.data: true
3.客户端节点(Client node)
  客户端节点就是既不做候选主节点也不做数据节点的节点,只负责请求的分发、汇总等等,也就是下面要说到的协调节点的角色。这样的工作,其实任何一个节点都可以完成,单独增加这样的节点更多是为了负载均衡。
设置方式node.master: false node.data: false

协调节点(Coordinating node)
  协调节点,是一种角色,而不是真实的Elasticsearch的节点,没有办法通过配置项来配置哪个节点为协调节点。集群中的任何节点,都可以充当协调节点的角色。当一个节点A收到用户的查询请求后,会把查询子句分发到其它的节点,然后合并各个节点返回的查询结果,最后返回一个完整的数据集给用户。在这个过程中,节点A扮演的就是协调节点的角色。

部署方式:

假设现有3台服务器 ip 分别为 192.168.8.115 192.168.8.116 192.168.8.117
修改ip地址路径:vi /etc/sysconfig/network-scripts/ifcfg-ens33
每台机器都修改es安装目录下的 config/elasticsearch.yml
集群名称 cluster.name 相同 例如cluster.name: my-application
节点名称 node.name 不同 每一台机器都是一个节点 例如三台分别为node.name: node-115 node.name: node-116 node.name: node-117
主机地址 network.host 不同 暂时设置为 0.0.0.0
其他配置 每台机器既是候选主节点也作为数据节点 所以以下两项都设置为true 当然也可以根据实际场景做变更,如果原配置文件没有此项 可以在文件末尾添加
候选主节点 (node.master:与true之间有空格)

node.master: true

数据节点 (node.data:与true之间有空格)

node.data: true

集群中服务器所有节点地址配置
discovery.zen.ping.unicast.hosts: [“host1”, “host2”]例如每台机器都配置为

discovery.zen.ping.unicast.hosts: ["192.168.8.115", "192.168.8.116","192.168.8.117"]

集群可以作为候选主节点的数量 一般设置为总机器数量一半+1 避免脑裂
例如 ( discovery.zen.minimum_master_nodes:与2之间有空格)

discovery.zen.minimum_master_nodes:  2

增加服务器时如果是克隆服务器,克隆后的服务器需要清空data目录下的数据 假设es的安装目录为/elasticsearch-6.5.0/
则先切换到data目录下 通过cd /elasticsearch-6.5.0/data 然后执行 (!!!一定不要在其他目录下执行!!!)

rm -rf * 

查看集群节点状况

http://主机地址:9200/_cat/nodes
内容大致如下
192.168.8.116 18 96 34 0.55 0.73 0.36 mdi * node-116
192.168.8.115 12 96 30 0.38 0.64 0.33 mdi - node-115
192.168.8.117 15 95 33 1.27 0.89 0.41 mdi - node-117
其中带*的为主节点

查看集群健康状况
http://主机地址:9200/_cluster/health
颜色
红色表示数据不完整 !!
黄色 数据完整 但是没有完整的副本
绿色 一切正常 有完整的主版本和副本

安装head插件

head插件便于查看ES集群信息
官方地址: https://github.com/mobz/elasticsearch-head

安装git和npm

yum install git

运行npm命令需要安装nodejs
在目标目录下执行下载指令 下面以在/root目录下操作为例子说明

wget https://nodejs.org/dist/v11.2.0/node-v11.2.0-linux-x64.tar.xz
xz -d node-v11.2.0-linux-x64.tar.xz
tar xvf node-v11.2.0-linux-x64.tar
ln -s /root/node-v11.2.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v11.2.0-linux-x64/bin/npm /usr/local/bin/npm
如果执行npm -v 和node -v 显示对应的版本号说明安装成功
安装head插件
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
如果以上命令报错可以执行
npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
npm run start
编辑配置文件 config/elasticsearch.yml(可以只修改安装了head插件的机器 如果允许访问其他机器 则目标机必须做同样的修改) 可以在配置文件末尾追加如下配置
http.cors.enabled: true
http.cors.allow-origin: "*"

访问http://主机IP:9100/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值