ambari2.7.1+hdp3.0.1集成Elasticsearch6.4.2

本文详细介绍了在Ambari 2.7.1+hdp3.0.1集群环境下,如何安装配置Elasticsearch 6.4.2和Kibana 6.4.2,包括环境准备、上传解压、服务安装及解决过程中遇到的各种问题。

一、准备工作

1、环境说明

ambari2.7.1+hdp3.0.1的集群环境提前安装好。
本次安装es使用的集群共有3个节点:

  • manager.node
  • master.node
  • worker.node

其中,elasticsearch master安装到manager.node管理节点,elasticsearch slave安装到所有节点。
Kibana server服务安装到manager.node管理节点。
(注意:/etc/hosts中一定要将主机名和IP做好对应)

2、所需要安装包

  • elasticsearch-6.4.2.tar.gz
  • kibana-6.4.2-linux-x86_64.tar.gz
  • Ambari-Elastic-Service-master.zip

下载地址:
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-4-2
下载地址:
https://www.elastic.co/cn/downloads/past-releases/kibana-6-4-2
下载地址:
https://github.com/BalaBalaYi/Ambari-Elastic-Service

二、上传解压拷贝

1、Ambari-Elastic-Service-master.zip

  • 新建/opt/es目录,将Ambari-Elastic-Service-master.zip上传至此目录并解压。
    在这里插入图片描述
  • 进入解压后的目录内
    在这里插入图片描述
  • 将ELASTICSEARCH-6.4.x文件夹和KIBANA-6.4.x文件夹拷贝到/var/lib/ambari-server/resources/stacks/HDP/3.0/services目录
    在这里插入图片描述
  • 进入/var/lib/ambari-server/resources/stacks/HDP/3.0/services目录
    在这里插入图片描述
  • 将ELASTICSEARCH-6.4.x和KIBANA-6.4.x重命名
    在这里插入图片描述

2、elasticsearch-6.4.2.tar.gz 和 kibana-6.4.2-linux-x86_64.tar.gz

  • 新建/var/www/html/es目录,将kibana-6.4.2-linux-x86_64.tar.gz和elasticsearch-6.4.2.tar.gz两个压缩包上传至此目录
  • 通过浏览器输入http://manager.node/es测试能否访问此目录(需要有httpd服务)
    在这里插入图片描述

3、重启ambari-server

  • ambari-server restart

三、安装

  • addservice
    在这里插入图片描述
  • 勾选Elasticsearch和Kibana
    在这里插入图片描述
  • 选择master和server服务安装的节点
    在这里插入图片描述
  • 选择slave服务安装的节点
    在这里插入图片描述
  • 服务配置界面有红点提示需要补充完整
    在这里插入图片描述
  • elasticsearch的Discovery Zen Ping Unicast Hosts参数(之前所选安装的节点)
    在这里插入图片描述
  • elasticsearch的Elasticsearch Download Url参数(安装包地址)
    在这里插入图片描述
  • kibana的Elasticsearch Url参数(es的使用地址)
    在这里插入图片描述
  • kibana的Server Host参数(之前所选安装的节点)
    在这里插入图片描述
  • kibana的Kibana Download Url(安装包地址)
    在这里插入图片描述
  • 点下一步点部署,遇到了错误。
    在这里插入图片描述

四、遇到问题

1、用户名组的问题

在这里插入图片描述
错误提示:

KeyError: u'elasticsearch'
Error: Error: Unable to run the custom hook script ['/usr/bin/python', '/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py', 'ANY', '/var/lib/ambari-agent/data/command-102.json', '/var/lib/ambari-agent/cache/stack-hooks/before-ANY', '/var/lib/ambari-agent/data/structured-out-102.json', 'INFO', '/var/lib/ambari-agent/tmp', 'PROTOCOL_TLSv1_2', '']

解决办法:需要修改ambari-server资源中的一个配置参数,将gnore_groupsusers_create由false改为true。之后手动创建用户。
具体步骤:

cd /var/lib/ambari-server/resources/scripts

python configs.py -u admin -p admin -n cluster_es -l manager.node -t 8080 -a get -c cluster-env | grep -i ignore_groupsusers_create

python configs.py -u admin -p admin -n cluster_es -l manager.node -t 8080 -a set -c cluster-env -k ignore_groupsusers_create -v true

在这里插入图片描述
手动创建用户(所有master和slave节点,组其实脚本已经创建了)

useradd -g elasticsearch elasticsearch

在这里插入图片描述
上述执行完之后,安装界面点击retry重试,仍然有错误。

2、无法导入format_hdp_stack_version

在这里插入图片描述
错误提示:

ImportError: cannot import name format_hdp_stack_version

解决办法:

进入/var/lib/ambari-server/resources/stacks/HDP/3.0/services/ELASTICSEARCH/package/scripts目录。

编辑 params.py,将params.py文件中的format_hdp_stack_version删除。
在这里插入图片描述
清除所有elasticsearch slave节点的ambari-agent缓存。

rm -rf /var/lib/ambari-agent/cache/*

server节点重启

ambari-server restart

slave节点重启

ambari-agent restart

之后重新安装或者重试,遇到下面错误。
在这里插入图片描述

3、kibana无法导入format_hdp_stack_version

在这里插入图片描述
解决办法同上。
只不过进入的目录是/var/lib/ambari-server/resources/stacks/HDP/3.0/services/KIBANA/package/scripts目录。
清除缓存,重启ambari server和agent服务。
之后重新安装或者重试,遇到下面错误。

4、kibana的_new__() takes at least 2 arguments(1 given)

在这里插入图片描述
原因是需要创建kibana用户。
在kibana server节点上创建kibana用户(组其实脚本已经创建了)。

useradd -g kibana kibana

之后重试,遇到下面警告,出现警告不能重试,暂时安装完成。
在这里插入图片描述

5、hostname was not found in configuration dictionary

在这里插入图片描述
点击restart重启服务,失败,查看错误信息。
在这里插入图片描述
错误提示:

  File "/var/lib/ambari-agent/cache/stacks/HDP/3.0/services/ELASTICSEARCH/package/templates/elasticsearch.master.yml.j2", line 93, in top-level template code
    action.destructive_requires_name: {{action_destructive_requires_name}}
  File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/config_dictionary.py", line 73, in __getattr__
    raise Fail("Configuration parameter '" + self.name + "' was not found in configurations dictionary!")
resource_management.core.exceptions.Fail: Configuration parameter 'hostname' was not found in configurations dictionary!

解决办法:
进入目录

/var/lib/ambari-server/resources/stacks/HDP/3.0/services/ELASTICSEARCH/configuration

在这里插入图片描述
编辑elasticsearch-config.xml,发现其中的discovery.zen.ping.unicast.hosts属性的值是空的。
在这里插入图片描述
我们在安装的时候是填了这个参数的,将这个参数的值给补上。

<name>discovery.zen.ping.unicast.hosts</name>
<value>manager.node</value>

进入目录

/var/lib/ambari-server/resources/stacks/HDP/3.0/services/ELASTICSEARCH/package/scripts

编辑params.py,发现其中有两处hostname=config[‘hostname’]的写法。
在这里插入图片描述
将两处都修改为:

hostname = config['configurations']['elasticsearch-config']['discovery.zen.ping.unicast.hosts'] 

在这里插入图片描述
清除所有elasticsearch slave节点的ambari-agent缓存。
server节点重启ambari-server restart
slave节点重启ambari-agent restart
重启elasticsearch服务,发现服务可以启动了,但是没过多久又失败了。

6、master和slave都启动又停止

查看日志会发现提示这两个错误。
在这里插入图片描述
错误提示:

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

解决办法:
每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

ulimit -Hn
ulimit -Sn

修改/etc/security/limits.conf文件,增加配置(所有master和slave节点)。
在这里插入图片描述
错误提示:

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

解决办法:
修改/etc/sysctl.conf文件,增加配置(所有master和slave节点)。

vm.max_map_count=262144

在这里插入图片描述
然后执行命令sysctl -p生效

sysctl -p

在这里插入图片描述
重启elasticsearch服务,发现出现如下错误。

7、parent directory /opt/elasticsearch/master/config doesnot exist

在这里插入图片描述
这个错误在另外两个slave节点上出现的。
解决办法很简单,直接创建一个空的目录就可以。

mkdir -p /opt/elasticsearch/master/config

重启elasticsearch服务,服务不再停止了。

五、安装完成

最终的主页如下图。
在这里插入图片描述
浏览器中打开http://manager.node:9200,出现如下界面。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值