【原创】大数据基础之Ambari(2)通过Ambari部署ElasticSearch

ambari的hdp中原生不支持elasticsearch安装,下面介绍如何通过mpack方式使ambari支持elasticsearch安装

安装过程

1 下载

Mpack include version 6.3.2 of ElasticSearch, Logstash, Kibana, FileBeat, and MetricBeat

# wget https://community.hortonworks.com/storage/attachments/87416-elasticsearch-mpack-2600-9.tar.gz

2 安装mpack

# ambari-server install-mpack --mpack=/path/to/87416-elasticsearch-mpack-2600-9.tar.gz --verbose

3 重启ambari-server

# ambari-server restart

访问ambari页面发现services中并没有elasticsearch,检查mpack.json发现问题:

/var/lib/ambari-server/resources/mpacks/elasticsearch-ambari.mpack-6.3.2/mpack.json

{

"service_name" : "ELASTICSEARCH",

"service_version" : "6.3.2",

"applicable_stacks" : [

{

"stack_name" : "HDP",

"stack_version" : "2.3"

},

{

"stack_name" : "HDP",

"stack_version" : "2.4"

},

{

"stack_name" : "HDP",

"stack_version" : "2.5"

},

{

"stack_name" : "HDP",

"stack_version" : "2.6"

}

]

}

applicable_stacks表明service只应用到hdp2.3-2.6版本,没有3.1,手工加上;

mpack详细结构详见:https://cwiki.apache.org/confluence/display/AMBARI/Management+Packs

要注意直接修改mpack.json然后重启ambari-server不管用,需要重新install mpack:

1 卸载

ambari-server uninstall-mpack --mpack-name=elasticsearch-ambari.mpack

2 修改mpack.json并重新打包

elasticsearch_mpack-2.6.0.0-9.tar.gz

3 安装mpack(同上)

4 重启ambari-server(同上)

这时就可以在页面上看到ElasticSearch, Logstash, Kibana, FileBeat, and MetricBeat

下面开始部署ElasticSearch,发现报错:

Traceback (most recent call last):

File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py", line 38, in <module>

BeforeAnyHook().execute()

File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 352, in execute

method(env)

File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py", line 31, in hook

setup_users()

File "/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/shared_initialization.py", line 50, in setup_users

groups = params.user_to_groups_dict[user],

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-303.json‘, ‘/var/lib/ambari-agent/cache/stack-hooks/before-ANY‘, ‘/var/lib/ambari-agent/data/structured-out-303.json‘, ‘INFO‘, ‘/var/lib/ambari-agent/tmp‘, ‘PROTOCOL_TLSv1_2‘, ‘‘]

跟进报错的代码:

/var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/shared_initialization.py

     35   should_create_users_and_groups = False
     36   if params.host_sys_prepped:
     37     should_create_users_and_groups = not params.sysprep_skip_create_users_and_groups
     38   else:
     39     should_create_users_and_groups = not params.ignore_groupsusers_create
     40
     41   if should_create_users_and_groups:
     42     for group in params.group_list:
     43       Group(group,
     44       )
     45
     46     for user in params.user_list:
     47       User(user,
     48            uid = get_uid(user) if params.override_uid == "true" else None,
     49            gid = params.user_to_gid_dict[user],
     50            groups = params.user_to_groups_dict[user],
     51            fetch_nonlocal_groups = params.fetch_nonlocal_groups,
     52            )

这时需要将配置ignore_groupsusers_create打开,查看和修改配置有两种方式:

1 命令行

# cd /var/lib/ambari-server/resources/scripts
# python configs.py -u admin -p admin -n $cluster_name -l $ambari_server -t 8080 -a get -c cluster-env |grep -i ignore_groupsusers_create
"ignore_groupsusers_create": "false",
# python configs.py -u admin -p admin -n $cluster_name -l $ambari_server -t 8080 -a set -c cluster-env -k ignore_groupsusers_create -v true

详细参数详见

# python configs.py --help

2 rest api

curl --user admin:admin -i -H ‘X-Requested-By: ambari‘ -X GET "http://ambari.server:8080/api/v1/clusters/$cluster_name/configurations?type=cluster-env"

从返回的items中找到tag,然后再请求(增加tag参数):

curl --user admin:admin -i -H ‘X-Requested-By: ambari‘ -X GET "http://ambari.server:8080/api/v1/clusters/$cluster_name/configurations?type=cluster-env&tag=$tag"

返回结果中包含所有的property

"properties" : {
"agent_mounts_ignore_list" : "",
"alerts_repeat_tolerance" : "1",
"enable_external_ranger" : "false",
"fetch_nonlocal_groups" : "true",
"hide_yarn_memory_widget" : "false",
"ignore_bad_mounts" : "false",
"ignore_groupsusers_create" : "false",

修改需要先将上面的配置保存到一个文件,比如/tmp/configurations.tmp,然后修改,然后再调用接口:

curl --user admin:admin -i -H ‘X-Requested-By: ambari‘ -X PUT -d @/tmp/configurations.tmp http://ambari.server:8080/api/v1/clusters/$cluster_name

然后再安装即可;

参考:

https://community.hortonworks.com/articles/215078/how-to-install-elk-stack-632-in-ambari.html
https://community.hortonworks.com/questions/212871/add-custom-service-via-ambari-error.html
https://community.hortonworks.com/articles/63557/how-to-edit-the-cluster-envxml-entries-using-ambar.html

原文地址:https://www.cnblogs.com/barneywill/p/10281678.html

时间: 2024-11-10 18:57:21

【原创】大数据基础之Ambari(2)通过Ambari部署ElasticSearch的相关文章

区块链这些技术与h5房卡斗牛平台出售,大数据基础软件干货不容错过

在IT产业发展中,包括CPU.操作系统h5房卡斗牛平台出售 官网:h5.super-mans.com 企娥:2012035031 vx和tel:17061863513 h5房卡斗牛平台出售在内的基础软硬件地位独特,不但让美国赢得了产业发展的先机,成就了产业巨头,而且因为技术.标准和生态形成的壁垒,主宰了整个产业的发展.错失这几十年的发展机遇,对于企业和国家都是痛心的. 当大数据迎面而来,并有望成就一个巨大的应用和产业机会时,企业和国家都虎视眈眈,不想错再失这一难得的机遇.与传统的IT产业一样,大

大数据基础教程:创建RDD的二种方式

大数据基础教程:创建RDD的二种方式 1.从集合中创建RDD val conf = new SparkConf().setAppName("Test").setMaster("local")      val sc = new SparkContext(conf)      //这两个方法都有第二参数是一个默认值2  分片数量(partition的数量)      //scala集合通过makeRDD创建RDD,底层实现也是parallelize      val 

【原创】大数据基础之Ambari(1)简介、安装、使用

官方:http://ambari.apache.org/ The Apache Ambari project is aimed at making Hadoop management simpler by developing software for provisioning, managing, and monitoring Apache Hadoop clusters. Ambari provides an intuitive, easy-to-use Hadoop management

【原创】大数据基础之Impala(1)简介、安装、使用

impala2.12 官方:http://impala.apache.org/ 一 简介 Apache Impala is the open source, native analytic database for Apache Hadoop. Impala is shipped by Cloudera, MapR, Oracle, and Amazon. impala是hadoop上的开源分析性数据库: Do BI-style Queries on Hadoop Impala provides

“大数据“基础知识普及

大数据,官方定义是指那些数据量特别大.数据类别特别复杂的数据集,这种数据集无法用传统的数据库进行存储,管理和处理.大数据的主要特点为数据量大(Volume),数据类别复杂(Variety),数据处理速度快(Velocity)和数据真实性高(Veracity),合起来被称为4V. 大数据中的数据量非常巨大,达到了PB级别.而且这庞大的数据之中,不仅仅包括结构化数据(如数字.符号等数据),还包括非结构化数据(如文本.图像.声音.视频等数据).这使得大数据的存储,管理和处理很难利用传统的关系型数据库去

大数据基础架构详解

简介:本文是对大数据领域的基础论文的阅读总结,相关论文包括GFS,MapReduce.BigTable.Chubby.SMAQ. 大数据出现的原因: 大多数的技术突破来源于实际的产品需要,大数据最初诞生于谷歌的搜索引擎中.随着web2.0时代的发展,互联网上数据量呈献爆炸式的增长,为了满足信息搜索的需要,对大规模数据的存储提出了非常强劲的需要.基于成本的考虑,通过提升硬件来解决大批量数据的搜索越来越不切实际,于是谷歌提出了一种基于软件的可靠文件存储体系GFS,使用普通的PC机来并行支撑大规模的存

图说大数据基础

大数据开发基础上之图说笔记 1.Hadoop2概览 1.1Hadoop2的组成.演化: 1.2Hadoop2.0——Hadoop1.0演化与改进: 2.HDFS系统概览 2.1HDFS系统的主要特性与适用场景: 2.2HDFS的体系结构: 2.3HDFS的构成 2.4HDFS的读流程: 2.5HDFS创建子路径流程: 2.6写流程和删除流程 3 YARN概览 3.1Hadoop1.x中的MapReduce构成及特点: 3.2 Yarn的结构图和主要组件: 3.3 YARN的工作流程图: 4 Ma

学习大数据基础框架hadoop需要什么基础

什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1MB大约等于一百万字节).GB(1024MB).TB(1024GB),一直向上攀升,目前,PB(等于1024TB)级的数据系统已经很常见,随着移动个人数据.社交网站.科学计算.证券交易.网站日志.传感器网络数据量的不断加大,国内拥有的总数据量早已超出 ZB(1ZB=1024EB,1EB=1024PB

学习hadoop大数据基础框架需要什么基础

什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1MB大约等于一百万字节).GB(1024MB).TB(1024GB),一直向上攀升,目前,PB(等于1024TB)级的数据系统已经很常见,随着移动个人数据.社交网站.科学计算.证券交易.网站日志.传感器网络数据量的不断加大,国内拥有的总数据量早已超出 ZB(1ZB=1024EB,1EB=1024PB