设为首页 收藏本站
查看: 502|回复: 0

[经验分享] 将Chukwa 0.5部署在基于Cloudera CDH4的Hadoop集群上

[复制链接]

尚未签到

发表于 2016-12-12 08:39:05 | 显示全部楼层 |阅读模式
  一、使用maven构建基于chukwa 0.5的项目
  使用nexus搭建了maven私服,此时如果使用maven构建chukwa 0.5版本时可能在以下两个依赖项遇到问题
  thrift-0.2.0.jar
  hadoop-core-0.20-append-r1056497.pom
  这是因为chukwa0.5版本在pom文件中依赖了hbase0.90.4版,而此版本的hbase又依赖了以上两个比较低的版本(见hbase 0.90.4的pom文件)

<repositories>
<repository>
<id>temp-thrift</id>
<name>Thrift 0.2.0</name>
<url>http://people.apache.org/~rawson/repo/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
......
</repositories>
......
<properties>
<hadoop.version>0.20-append-r1056497</hadoop.version>
</properties>
  解决此问题需要修改maven的配置文件,将私服镜像的配置暂时注释掉,使其可以按照pom文件中指明的url下载相应的文件

<mirror>
<id>nexus</id>
<name>nexus</name>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
  构建成功后可以将下载好的相关文件提交到私服
  将编程成功的chukwa 0.5的jar提交到私服,其中相关项目的pom文件可以添加如下依赖

<dependency>
<groupId>org.apache.incubator</groupId>
<artifactId>chukwa</artifactId>
<version>0.5.0</version>
</dependency>
  二、基于Chukwa 0.5实现自己的日志收集机制
  chukwa本身的日志收集机制因为要提供对hadoop集群的性能分析,所以其策略是
  a. 将agent提交的数据使用SeqFileWriter将其构建成以ChukwaArchiveKey为key、以ChunkImpl为value的键值对写入同一个.chukwa文件,完成后改名为.done文件
  b. demux进程执行mapreduce过程将.done文件分类
  c. db进程将demux分类后的文件转储到相应的日期、小时目录下
  d. rolling进程将每个小时、每天目录下的碎小文件合并成一个大文件
  这样便于其分类、去重、排序、合并,方便为其hicc组件提供近似实时分析的日志支持。
  但是这里有两个弊端:
  a. agent提交的数据转换为ChukwaArchiveKey、ChunkImpl键值对后,最终分类、合并后的.evt文件大小要比原始日志大小增加几倍
  b. 经过demux、db、rolling进程的处理需要消耗一定时间
  其实对于大多数的日志收集功能:实时性、完整性、稳定性这些基本的功能就足够了。
  因此,可以编写自己的Writer以简化收集过程。
  比如:
  a. 将agent提交的数据写入dataType+date+hour.chukwa的文件中,如果此文件不存在则调用
  FileSystem的create(Path)方法返回输出流,否则调用append(Path)返回数据流
  (注意:要想成功使用append(Path)方法需要在hdfs-site.xml中添加dfs.support.append配置项,设置其值为true)
  b. 定时检测,如果当前时间(小时)已经和正在写的.chukwa文件中的时间(小时)不一致,则将.chukwa文件改名为.done文件
  这样得到的.done文件即为一个小时内的日志,而且已经进行了分类,可直接对其进行分析或导入hive
  三、将Chukwa 0.5部署到基于Cloudera CDH4的Hadoop集群
  chukwa 0.5基于hadoop 1.0版,但因为hdfs的API在1.0版与0.23版之间变化不大,因此可以将其部署在CDH4环境下,只不过因为mapreduce的API存在一定变化,因此demux、rolling进程可能会受到影响,但基于上面的步骤2,已经将chukwa的日志收集机制修改为只和hdfs的API相关,因此mapreduce不兼容的问题可以不用考虑。
  a. 删除$CHUKWA_HOME/share/chukwa/lib/hadoop-core-1.0.0.jar
  b. 复制
  $HADOOP_HOME/share/hadoop/common/hadoop-common-0.23.0-cdh4b1.jar
  $HADOOP_HOME/share/hadoop/hdfs/hadoop-hdfs-0.23.0-cdh4b1.jar
  到$CHUKWA_HOME/share/chukwa/lib/
  c. 复制
  $HADOOP_HOME/share/hadoop/common/lib/*.jar
  $HADOOP_HOME/share/hadoop/hdfs/lib/*.jar
  到
  $CHUKWA_HOME/share/chukwa/hadoop-common-lib/
  $CHUKWA_HOME/share/chukwa/hadoop-hdfs-lib/
  (这些都是hadoop-common、hadoop-hdfs依赖的 jar包)
  在$CHUKWA_HOME/libexec/chukwa-config.sh中添加依赖的jar包
  CHUKWA_CLASSPATH="${CHUKWA_HOME}/share/chukwa/*:${CHUKWA_HOME}/share/chukwa/lib/*:${CHUKWA_HOME}/share/chukwa/hadoop-common-lib/*:${CHUKWA_HOME}/share/chukwa/hadoop-hdfs-lib/*"
  d.
  删除$CHUKWA_HOME/share/chukwa/lib/protobuf-java-2.3.0.jar
  (与hadoop-common、hadoop-hdfs中的protobufjar包有冲突)
  这样既可在CDH4环境下继续使用chukwa收集日志。
  matrix.lisp@gmail.com

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-312981-1-1.html 上篇帖子: 由官方文档看hadoop的单机与伪分布运行 下篇帖子: hadoop-eclipse-plugin-1.1.1.jar
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表