zoukankan      html  css  js  c++  java
  • ambari2.7.4+hdp3.1集成elastic search

    一、准备工作

    1、环境准备

    ambari版本 2.7.4 hdp版本3.1

    已在虚拟机中提前搭建好了集群环境。

    只有一台虚拟机 所以全部采取单节点模式。

    主机名 master

    ip 192.168.134.132

    其中,elasticsearch master安装到master管理节点,elasticsearch slave安装到所有节点。
    Kibana server服务安装到master管理节点。
    (注意:/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', '']
    1
    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
    1
    2
    3
    4
    5

    手动创建用户(所有master和slave节点,组其实脚本已经创建了)

    useradd -g elasticsearch elasticsearch
    1

    上述执行完之后,安装界面点击retry重试,仍然有错误。

    2、无法导入format_hdp_stack_version

    错误提示:

    ImportError: cannot import name format_hdp_stack_version
    1
    解决办法:

    进入/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/*
    1
    server节点重启

    ambari-server restart
    1
    slave节点重启

    ambari-agent restart
    1
    之后重新安装或者重试,遇到下面错误。


    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
    1
    之后重试,遇到下面警告,出现警告不能重试,暂时安装完成。


    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!
    1
    2
    3
    4
    5
    解决办法:
    进入目录

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

    编辑elasticsearch-config.xml,发现其中的discovery.zen.ping.unicast.hosts属性的值是空的。

    我们在安装的时候是填了这个参数的,将这个参数的值给补上。

    <name>discovery.zen.ping.unicast.hosts</name>
    <value>manager.node</value>
    1
    2
    进入目录

    /var/lib/ambari-server/resources/stacks/HDP/3.0/services/ELASTICSEARCH/package/scripts
    1
    编辑params.py,发现其中有两处hostname=config[‘hostname’]的写法。

    将两处都修改为:

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

    清除所有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]
    1
    解决办法:
    每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

    ulimit -Hn
    ulimit -Sn
    1
    2
    修改/etc/security/limits.conf文件,增加配置(所有master和slave节点)。

    错误提示:

    max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    1
    解决办法:
    修改/etc/sysctl.conf文件,增加配置(所有master和slave节点)。

    vm.max_map_count=262144
    1

    然后执行命令sysctl -p生效

    sysctl -p
    1

    重启elasticsearch服务,发现出现如下错误。

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

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

    mkdir -p /opt/elasticsearch/master/config
    1
    重启elasticsearch服务,服务不再停止了。

    五、安装完成
    最终的主页如下图。

    浏览器中打开http://manager.node:9200,出现如下界面。

  • 相关阅读:
    ubutun Sogou输入法安装
    git的使用
    比较字符串(包含以及变位词)
    python 与时间有关的操作
    PyBrain库的example之NFQ流程图分析
    python之面向对象(继承)
    C/C++中一些不太注意到的小知识点--[锦集]
    python 有关引用的一些问题
    CMake尝鲜
    vim初探
  • 原文地址:https://www.cnblogs.com/erlou96/p/12832662.html
Copyright © 2011-2022 走看看