一、使用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
分享到:
相关推荐
c语言涂格子游戏源码.rar
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
矩阵头文件
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
2020届软件工程本科毕业生毕业设计项目
欧母龙PLC例程源码自动倒角机new提取方式是百度网盘分享地址
【资源说明】 毕业设计 基于Python+Django知识图谱(Neo4j)PDF的识别与分析信息检索系统源码+详细文档+全部数据资料高分项目毕业设计 基于Python+Django知识图谱(Neo4j)PDF的识别与分析信息检索系统源码+详细文档+全部数据资料高分项目毕业设计 基于Python+Django知识图谱(Neo4j)PDF的识别与分析信息检索系统源码+详细文档+全部数据资料高分项目 【备注】 1、该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过mac/window10/11测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
施耐德PLC例程源码恒压供水程序(用施耐德TWIDO PLC编的)提取方式是百度网盘分享地址
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
c语言实现的象棋源码.rar
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
解忧驿站--毕业设计
基于spring mvc,spring,mybatis,websocket开发的模仿了微博的功能,是一个毕业设计 系统功能包括:分享新鲜事,点赞,收藏,回复等。因为使用了websocket,所以当别人点赞或者回复的时候,服务器端会将消息主动推送到客户端,增强了用户体验。通过该系统的参考学习有助于加深对websocket的理解。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
应用宝-手机批改网.apk
mysql查询语句汇总在数据库领域中,MySQL无疑是最受欢迎的关系型数据库之一。对于数据库管理员、开发者以及数据分析师来说,熟练掌握MySQL查询语句是必不可少的技能。本文将全面介绍MySQL查询语句的各个方面,从基础查询到高级操作,旨在帮助读者提升MySQL查询技能,更好地应对日常工作中的挑战。
海康威视工业相机的MVS的驱动下载
操作系统