Elasticsearch-5.5.2集群及Head插件的安装部署

Elasticsearch-5.5.2及Head插件的安装部署

0、前言

虽然elasticsearch-5.x版本早已发布,但是笔者作为一个新晋菜鸟却是近期因为项目组要求升级elasticsearch版本的需求才开始关注,并且在虚拟机上基于5.5.2版本尝试搭建elasticsearch集群。由此也碰到了一些问题并尝试解决,在此记录下来和大家分享一下。如有错误之处,欢迎留言指正!

1、elasticsearch-5.5.2的安装

笔者使用三台虚拟机,版本centos7,jdk版本1.8.0 ,每个节点分配内存3g
关于elasticsearch集群的搭建,相信大家都不陌生,笔者在这里就简单罗列一下elasticsearch.yml中的相关配置。

  • 1、cluster.name: my-application (集群名称)
  • 2、node.name: dngel-1 (节点名称)
  • 3、node.master: true (是否作为master 节点,由于elasticsearch集群是在服务启动后选举出主节点的,所以这项配置最好都配置为true。另外,在默认配置文件中可能并没有这个配置项,需要自行添加)
  • 4、node.data: false(是否保存数据,该项同样需要自行添加)
  • 5、bootstrap.memory_lock: true (设置锁来锁定进程的物理内存地址,避免发生内存交换,从而提高性能)
  • 6、network.host: bigdata01 (本地地址,可以设置为本机的IP)
  • 7、http.port: 9200 (web端口)
  • 8、discovery.zen.ping.unicast.hosts:
    [“192.10.0.129”, “192.10.0.130”,”192.10.0.131”] (绑定集群中的服务器地址)
  • 9、discovery.zen.minimum_master_nodes: 3 (集群选举出master节点所需要的最少节点数,根据经验一般设置为 N/2+1,即,一个三个节点的集群,该值应该被设置为2,3/2+1 向下取整)
  • 10、http.cors.enabled: true (允许跨源 REST 请求)
  • 11、http.cors.allow-origin: “*”(指定允许 REST 请求来自何处)

最后使用 bin/elasticsearch -d 命令后台启动集群就可以了。启动结果如下:
这里写图片描述

2、head插件的安装

在elasticsearch集群部署完毕后就可以来着手安装head插件了。在2.x版本中可以直接一条指令自动安装插件,而在5.x版本中的安装过程就稍微复杂些。

安装node

(1) 下载地址 https://nodejs.org/en/download/
这里写图片描述
这里写图片描述
(2)将node-v8.9.0-linux-x64.tar.xz上传至 /usr/local目录下
(3)解压安装包 xz -d node-v8.9.0-linux-x64.tar.xz
(4)重命名 mv node-v8.9.0-linux-x64 node
(6)添加可执行权限 sudo chmod 777 node
(7)编译安装

cd node
./configure
make
make install

(8)配置环境变量
这里写图片描述
(9)查看
这里写图片描述

安装 npm

$ sudo yum install npm
查看
这里写图片描述

安装grunt

npm install grunt-cli
查看
这里写图片描述

安装git

$ sudo yum install git
查看
这里写图片描述

下载head插件 (文件存放目录可以自行指定)

git clone git://github.com/mobz/elasticsearch-head.git /opt/components/
cd elasticsearch-head
npm -install
npm install grunt –save

修改Gruntfile.js

这里写图片描述

修改 _site/app.js 中base_uri 为本机服务器地址

this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://192.10.00.129:9200“;
这里写图片描述

启动服务

在elasticsearch 根目录下 执行命令 grunt server
这里写图片描述
这里写图片描述

3、可能出现的问题及解决方案

  • 1、启动集群时报错“内存不足”
    如果是虚拟机,最好将内存设置为2g以上,因为elasticsearch-5.5.2的默认jvm内存是2g;
  • 2、启动集群后报错”not master for join request”
    检查配置文件是否正确配置上述第3、4项,并在各个节点下删除data目录下的数据,再重新启动集群;
  • 3、启动head 插件,“集群健康值: 未连接”
    检查配置文件是否正确配置第10、11项,并检查Gruntfile.js和app.js是否修改正确,尤其要主要标点符号(笔者在修改Gruntfile.js时,就因为漏了一个逗号而无法启动);
  • 4、 在head插件编译安装过程中,有时会报错”没有权限”
    这时确认相关目录是否有可执行的权限,使用chmod命令赋予可执行权限

4、参考资料

https://www.cnblogs.com/zklidd/p/6433123.html
http://blog.csdn.net/silvervi/article/details/6325698/
http://blog.csdn.net/napoay/article/details/53896348
https://www.cnblogs.com/valor-xh/p/6293689.html
http://blog.csdn.net/kumquatlemon/article/details/77738628

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值