ElasticSearch集群的相关配置,及相关的查看插件(npm和head)的安装

版权声明:转发原创文章请复制文章链接地址 https://blog.csdn.net/weixin_42579642/article/details/84339860

先了解几个概念

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   

每台机器都修改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.data: true(true前面要有空格

增加服务器时如果是克隆服务器,克隆后的服务器需要清空data目录下的数据  假设es的安装目录为/elasticsearch-6.5.0/

则先切换到data目录下  通过cd /elasticsearch-6.5.0/data 然后执行 rm -rf *   (!!!!!一定不要在其他目录下执行!!!!!)

集群中服务器所有节点地址配置

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

查看集群节点状况

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插件https://github.com/mobz/elasticsearch-head

安装git和npm

yum install git        (如果没有git请先下载git)

运行npm命令需要安装nodejs    (npm类似于php的composer)

在目标目录下执行下载指令  下面以在/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

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

编辑配置文件 config/elasticsearch.yml(可以只修改安装了head插件的机器 如果允许访问其他机器 则目标机必须做同样的修改) 可以在配置文件末尾追加如下配置

http.cors.enabled: true

http.cors.allow-origin: "*"

猜你喜欢

转载自blog.csdn.net/weixin_42579642/article/details/84339860
今日推荐