Ambari 二次开发

Ambari 二次开发,第1张

先看两张图,下面有对应的说明

Ambari server 启动之后的的资源目录

自定义service放在 /var/lib/ambari-server/resources/stacks/HDP/2.6/services目录下,这个目录下面有很多实例可以参考,还可以参考 公共service ,公共service的目录在/var/lib/ambari-server/resources/common-services

3.登录 ambari-server 界面,如图所示,添加service

4.选择 My Service test ,点击next,然后一路next 直到结束

5.添加自定义service 之后的效果

6.自定义service的配置分析

1 . 先看下目录结构

相对于一个service增加的是 widgets.json ,metrics.json两个文件,修改了 metainfo.xml,send.sh 脚本是发送数据使用的。

widget_type 可以配置的有三种类型:

1. GRAPH 时间序列图。

2. NUMBER 显示一个数值

3.GAUGE 显示百分比

service_name: 和前面的service要对应

3.metrics.json 解析

4.metainfo.xml 上添加 timelineAppid

5.重启 ambari-server 能看到对应的wedgit 已经添加成功。

重启:# ambari-server restart

添加成功的wedgit,但是此时的wegit 没有数据。

这里使用 send.sh脚本,对应的脚本内容

在 /var/lib/ambari-server/resources/stacks/HDP/2.6/services/HELLO_SERVICE

目录下,执行 ./send.sh master test1 myTLappid 。这个三个参数分别是,master:主机名,test1:mertrics 名,myTLappid :timeline的appid名称。然后能在widgets上看到有数据的图形。

注意:

1.添加config之后的目录结构

在service 目录下面增加了 configuration 目录,和配置文件ambari-server-env.xml

require-input="false" 可以取默认值,默认是true ,上面配置中 AMBARI_USER_PASSWORD 就是必须配置的,在service添加的时候,会有提醒,见下面安装service配置的效果图。

再次安装自定义服务的时候就需要输入相关的配置了。

服务启动之后可以看到 配置文件

1.在service 目录下面添加 dotheright@master:~/mylovelycodes/ambari/Alert_SAMPLE$ cat alerts.json

复 6楼 FreeEquFraT 帖像真没些软件耶其实现情况说起简单Secure Socket Tunneling Protocol Service服务根本查看组件依赖看服务并依赖其服务其网络服务都依赖于关键服务我现想启用关键服务依赖其服务关键服务未由其服务或程序使用自停止所启用马关闭导致其依赖于网络服务启用请问现办补救呢

,

原理: 数据冗余方案实质上是通过增加block数据副本数来防止block丢失,通过牺牲存储来保证数据安全。本方案主要针对于解决异常情况一。hadoop集群目前默认设置的数据副本数为3,也就是说最多能同时容忍不同主机的二块盘出现损坏,当出现不同主机三块盘同时损坏时,就可能出现block丢失情况。

方法:

(1)hadoop 集群动态设置 block 副本:

将/user文件夹下的数据设置5个副本:

(2)hadoop 集群整体提高 block 副本数方法:

通过ambari修改hdfs配置文件:

可以修改为5,则设置集群数据副本数为5.

保存并重启hdfs生效。

注:这样即使三台主机的磁盘出现损坏,这个文件夹的数据也不会丢。除非同时五台主机的磁盘出现损坏,这个文件夹下的数据才可能丢失。

原理: 当一个主机的磁盘出现损坏时,集群会立刻对这块盘上的数据通过副本机制恢复到其它主机上。磁盘存储数据量越大,恢复时间会随之增长。我们通过优化hadoop集群的副本恢复参数来提升它的副本恢复速度,从而整体缩短副本恢复时间。本方案主要针对于解决异常情况二,防止出现数据恢复过程中的数据丢失。

方法:

通过ambari添加如下参数:

通过ambari保存配置并重启hdfs服务即可。

原理:hadoop 集群配置机架感知后,同一机架内的所有主机只存储block数据的1~2个副本,总会有一个副本在其它机架。当同一机架内多个主机出现坏盘情况时,至少还有一个block副本可以提供访问和恢复,不会出现block数据丢失情况。

方法:

hadoop集群本身自带机架感知功能,在集群部署是没有使用的话,那么集群所有主机默认在一个机架下: /default-rack

可以通过ambari添加机架感知功能,具体 *** 作如下(两种方法,选其中一个即可):

单个主机设置:

批量设置:

2. 设置完成后,需要重启hdfs 、mapreduce。

3.查看机架命令:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7879634.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存