如何理解Elasticsearch单机双节点集群部署

   这篇文章,我们还是做些基础的学习,在Elasticsearch如何进行CRUD。

Elasticsearch单机双节点集群部署

环境:CentOS 7.2       JDK 1.8.0_74

登录后复制

一、安装第一个elasticsearch(主节点)

1、创建es用户,启动es不能使用root用户

useradd espasswd es

登录后复制

root用户进入/home/es目录下

2、获取ElasticSearch安装包

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

登录后复制

3、解压、改名(方便集群时区别另一个ES)

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node2

登录后复制

4、修改配置文件

vi elasticsearch-node2/config/elasticsearch.yml

登录后复制

修改内容如下:

cluster.name: my-application        各节点此名称必须一致node.name: node-2                   节点名称,不能与其他节点相同                 network.host: ***.***.***.***           自己的服务器IPhttp.port: ****                    访问端口transport.tcp.port: ****      集群各节点间的通讯端口 discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]

登录后复制

文件最后追加以下内容,以便连接head显示健康值(注意每行代码前面不要有空格)

http.cors.enabled: truehttp.cors.allow-origin: "*"

登录后复制登录后复制登录后复制

5、启动

sh elasticsearch-node2/bin/elasticsearch

登录后复制

[2018-01-24T15:36:41,990][INFO ][o.e.n.Node               ] [KMyyO-3] started[2018-01-24T15:36:41,997][INFO ][o.e.g.GatewayService     ] [KMyyO-3] recovered [0] indices into cluster_state

登录后复制

启动成功,浏览器中输入 IP:访问端口

网页显示以下内容,说明部署成功

{  "name" : "node-2",  "cluster_name" : "my-application",  "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",      "version" : {    "number" : "6.1.2",    "build_hash" : "5b1fea5",    "build_date" : "2018-01-10T02:35:59.208Z",    "build_snapshot" : false,    "lucene_version" : "7.1.0",    "minimum_wire_compatibility_version" : "5.6.0",    "minimum_index_compatibility_version" : "5.0.0"  },  "tagline" : "You Know, for Search"}

登录后复制

6、报错及其处理
【类型一】

Caused by: java.lang.RuntimeException: can not run elasticsearch as root

登录后复制

该问题是因为运行es不能使用root用户,因此要切换es用户再次启动

chown -R es:es elasticsearch-node2/su - essh elasticsearch-node2/bin/elasticsearch

登录后复制

【类型二】

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

登录后复制

解决方法,换回root用户,修改配置文件

vi /etc/security/limits.conf#在最后面追加下面内容es hard nofile 65536es soft nofile 65536

登录后复制

【类型三】

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

登录后复制

解决方法,换回root用户,修改配置文件

vi /etc/sysctl.conf #在最后面追加下面内容vm.max_map_count=655360#执行命令:sysctl -p

登录后复制

二、安装第二个ElasticSearch(辅节点)
安装方法与第一个一致,注意修改配置文件
root用户进入/home/es目录下

1、解压、改名

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node3

登录后复制

2、修改配置文件

vi elasticsearch-node3/config/elasticsearch.yml

登录后复制

修改内容如下:

cluster.name: my-application        各节点此名称必须一致node.name: node-3                     节点名称,不能与其他节点相同network.host: ***.***.***.***                      自己的服务器IPhttp.port: ****                                        访问端口(注意不要与第一个端口重复)                              transport.tcp.port: ****            集群各节点间的通讯端口(注意不要与第一个端口重复)discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]

登录后复制

文件最后同样追加下面代码

http.cors.enabled: truehttp.cors.allow-origin: "*"

登录后复制登录后复制登录后复制

3.启动

sh elasticsearch-node3/bin/elasticsearch

登录后复制

浏览器,浏览器中输入   IP:访问端口
网页显示以下内容,说明第二个部署成功

{  "name" : "node-3",  "cluster_name" : "my-application",  "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",  "version" : {    "number" : "6.1.2",    "build_hash" : "5b1fea5",    "build_date" : "2018-01-10T02:35:59.208Z",    "build_snapshot" : false,    "lucene_version" : "7.1.0",    "minimum_wire_compatibility_version" : "5.6.0",    "minimum_index_compatibility_version" : "5.0.0"  },  "tagline" : "You Know, for Search"}

登录后复制

三、安装Elasticsearch-head插件
1、安装head插件之前需要安装node.js

curl -sL https://rpm.nodesource.com/setup_8.x | bash -yum install -y nodejs

登录后复制

安装完成后执行命令查看node与npm版本

[root@host]# node -vv8.12.0[root@host]# npm -v6.4.1

登录后复制

2、从git获取head插件

wget https://github.com/mobz/elasticsearch-head/archive/master.zip

登录后复制

3、解压安装包(可以改名,方便操作)

unzip master.zipmv elasticsearch-head-master/ head

登录后复制

4、修改配置文件

vi head/Gruntfile.js

登录后复制

更改head端口号

connect: {          server: {                   options: {                              port: ****,    改为head访问端口                              base: '.',                              keepalive: true                             }                    }          }

登录后复制

vi head/_site/app.js

登录后复制

更改head链接地址

init: function(parent) {                        this._super();                        this.prefs = services.Preferences.instance();                        this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://主节点IP:访问端口";

登录后复制

5、启动head

nohup npm run start > ../head.log 2>&1 &

登录后复制

6、浏览器登录head
20180914135055785.png

URL输入服务器IP:head访问端口
链接地址输如主节点的访问地址
7、安装head常见错误
【类型一】启动成功,但是网页不能访问
解决方法
关闭服务器防火墙

service iptables stop

登录后复制

【类型二】集群健康值未连接
在elasticsearch.yml里追加下列代码(注意代码前面不要有空格)

http.cors.enabled: truehttp.cors.allow-origin: "*"

登录后复制登录后复制登录后复制

问:为什么es节点用node2、node3?
答:因为之前用node1搭建了一套未集群的ES,所以后面集群就用2和3了

相关推荐:

Yii2-elasticsearch 怎么用啊?

Elasticsearch中的CRUD

以上就是如何理解Elasticsearch单机双节点集群部署的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2636112.html

(0)
上一篇 2025年3月7日 04:58:45
下一篇 2025年3月7日 04:58:50

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • springboot中集成ES怎么实现磁盘文件全文检索功能

    整体架构 考虑到磁盘文件分布到不同的设备上,所以采用磁盘扫瞄代理的模式构建系统,即把扫描服务以代理的方式部署到目标磁盘所在的服务器上,作为定时任务执行,索引统一建立到ES中,当然ES采用分布式高可用部署方法,搜索服务和扫描代理部署到一起来简…

    2025年3月7日 编程技术
    200
  • es和redis区别

    es和redis区别 elasticsearch 课程推荐→:《elasticsearch全文搜索实战》(实战视频)来自课程《千万级数据并发解决方案(理论+实战)》 相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,但是…

    2025年2月24日
    200
  • 新标题:免费课程:使用Babel开始编写ES6代码

    多年来,JavaScript 已经发展了很多。该语言的最新版本 ECMAScript 6(简称 ES6)最近已定稿,它为开发人员带来了很多改进。当然,浏览器支持仍然参差不齐。 如果您不想等待现代浏览器的采用或将服务器更新到 Node 0.1…

    2025年2月18日
    200
  • airpods pro耳塞套怎么取下来 airpods pro耳塞贴合度测试在哪

    AirPods Pro给了不同尺寸的硅胶耳塞来适应不同用户的耳朵。那么如果要更换更合适的耳塞套,首先要做的还是把原有的耳塞套取下来,但是很多人都说这个耳塞套特别难取,也不敢拉扯。那么有什么技巧可以轻松地取下耳塞套还不容易拉坏呢? airpo…

    2025年2月12日 用户投稿
    62.4K00
  • 什么东西可以临时做耳塞

    噪音无论何时何地都会存在,白天的时候还好,但到了夜深人静人们打算入睡的时候,这种声音尤为的折磨人,而耳塞的出现则帮人们很好的解决了这个问题,那么什么东西可以临时做耳塞?没有耳塞如何隔音?一起看看吧。 什么东西可以临时做耳塞 隔音耳塞是我们经…

    2025年2月9日
    396.6K00
  • 耳塞沾了水就不能用了吗

    噪音无论何时何地都会存在,白天的时候还好,但到了夜深人静人们打算入睡的时候,这种声音尤为的折磨人,而耳塞的出现则帮人们很好的解决了这个问题,但很多人在使用耳塞的时候都存有耳塞沾了水能不能用的疑问,一起来看看吧。 耳塞沾了水就不能用了吗 耳塞…

    2025年2月9日
    785.8K00
  • 耳塞为什么越用越硬

    耳塞是生活中常见的一种物件,因其能有效的帮人们隔出咋音深受人们的喜爱,尤其是哪些爱出差的人员,更是将其视为掌上宝。但很多人在使用耳塞的时候都存有耳塞为什么越用越硬的疑问,一起看看吧。 耳塞为什么越用越硬 耳塞之所以变硬多是因为耳塞氧化造成的…

    2025年1月18日
    171.5K00
  • 耳塞容易掉是小了还是大了

    耳塞是生活中常见的一种物件,因其能有效的帮人们隔出咋音深受人们的喜爱,尤其是哪些爱出差的人员,更是将其视为掌上宝。但很多人在使用耳塞的时候都有遇到耳塞滑落的现象,下面小编就和大家一起看看耳塞容易掉是小了还是大了。 耳塞容易掉是小了还是大了 …

    2025年1月18日
    645.2K00
  • 耳塞可以用多久不换

    有的人睡眠比较浅,特别是在午睡的时候非常需要安静,但外界环境要是避免不了的吵闹的话,那么就可以用上隔音耳塞啦。隔音耳塞对于大一点的声音是可以起到减小的作用的,但并不会完全听不到。耳塞有一次性的和重复性的,重复性的耳塞可以多用一段时间再换,但…

    2025年1月17日 用户投稿
    353.7K00
  • 耳塞带一晚上有事吗

    耳塞也就是塞在耳朵里面的东西,一般被人们用来减少外部噪音对人耳的影响,如果周围环境比较吵的话,很多人都会去用耳塞,甚至会在睡觉的时候用,但其实这么做很伤耳朵,而且是时间越长伤害越大,所以最好是不要戴一晚上的哦。 耳塞带一晚上有事吗 偶尔可以…

    2025年1月14日 用户投稿
    118.8K00

发表回复

登录后才能评论