通过Bigtop编译Hadoop组件的rpm包

我安装所使用的系统是CentOS6,也可以是red5、6都可以。Bigtop官方网上有Ubuntu系统安装的具体过程。

1.    安装系统依赖

1.1   系统更新并安装新的包

Building Bigtop requires the following tools:

·        Java JDK 1.6

·        Apache Ant(可以通过yum安装)

·        Apache Maven

·        wget

·        tar

·        git

·        subversion

·        gcc

·        gcc-c++

·        make

·        fuse

·        protobuf-compiler(yum无法安装通过定制安装)

·        autoconf

·        automake

·        libtool

·        sharutils

·        asciidoc

·        xmlto

On RPM-based systems one also needs

·        lzo-devel

·        zlib-devel

·        fuse-devel

·        openssl-devel

·        python-devel

·        libxml2-devel

·        libxslt-devel

·        cyrus-sasl-devel

·        sqlite-devel

·        mysql-devel

·        openldap-devel

·        rpm-build

·        createrepo

·        redhat-rpm-config(RedHat/CentOS only)

以上具体依赖包请参考官方网站(http://bigtop.apache.org/)。

1.2    安装Sun JDK 6

cd /opt

chmod +x jdk-6u31-linux-x64.bin

./ jdk-6u31-linux-x64.bin

1.3   安装Maven3

wget

http://apache.petsads.us/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz

tar -xzvf apache-maven-3.0.5-bin.tar.gz

1.4安装Apache Forrest

cd /opt
wgethttp://archive.apache.org/dist/forrest/0.9/apache-forrest-0.9.tar.gz
tar -xzvf /home/ubuntu/Downloads/apache-forrest-0.9.tar.gz
 
# modify certain lines in the forrest-validate xml, otherwise buildfails. either sed or nano are fine.
 
sed -i ‘s/propertyname="forrest.validate.sitemap"value="${forrest.validate}"/propertyname="forrest.validate.sitemap" value="false"/g‘apache-forrest-0.9/main/targets/validate.xml
 
sed -i ‘s/propertyname="forrest.validate.stylesheets"value="${forrest.validate}"/propertyname="forrest.validate.stylesheets" value="false"/g‘apache-forrest-0.9/main/targets/validate.xml
 
sed -i ‘s/propertyname="forrest.validate.stylesheets.failonerror"value="${forrest.validate.failonerror}"/propertyname="forrest.validate.stylesheets.failonerror"value="false"/g‘ apache-forrest-0.9/main/targets/validate.xml
 
sed -i ‘s/property name="forrest.validate.skins.stylesheets"value="${forrest.validate.skins}"/propertyname="forrest.validate.skins.stylesheets" value="false"/g‘apache-forrest-0.9/main/targets/validate.xml

1.5安装protobuf

protobuf版本至少需要2.4.0,具体版本视hadoop版本而定,例如hadoop-2.4.0即需要依赖protobuf-2.5.0

到 Protocol Buffers 的官网https://code.google.com/p/protobuf/下载2.5.0的安装源文件进行安装:

tar -zxf protobuf-2.5.0.tar.gz

cd protobuf-2.5.0

./configure --prefix=/usr/local/protobuf

make check

make install

安装完成后,执行 protoc --vresion 验证是否安装成功。

2.     设置环境变量

在/etc/profile文件中添加以下内容:

vi /etc/profile

export JAVA_HOME=/opt/jdk1.6.0_31

export JRE_HOME=/opt/jdk1.6.0_31/jre

export MAVEN_HOME=/opt/apache-maven-3.0.5

export FORREST_HOME=/opt/apache-forrest-0.8

exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

exportPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$MAVEN_HOME/bin:$FORREST_HOME/bin

source /etc/profile

3.    下载并编译源代码

git clone git://git.apache.org/bigtop.git

# put files under bigtop directory

cd bigtop

# you can also use a different branch, e.g.git checkout branch-0.7

为了加快编译速度,你可以修改Makefile文件中的APACHE_MIRROR和APACHE_ARCHIVE为国内的速度较快的apache镜像地址,例如:http://mirror.bit.edu.cn/apache

编译源代码:

./check-env.sh # make sure all the requiredenvironment variables are set

make realclean

make bigtop-utils-rpm # build this projectfirst

make bigtop-jsvc-rpm

make bigtop-tomcat-rpm

make hadoop-rpm # to build just for hadoopfirst

make rpm # build all the rest

编译之后deb输出在output目录

4. 安装和测试

在使用dpkg命令安装之前,先关掉自动启动服务。使用root用欢创建/usr/sbin/policy-rc.d,该文件内容如下:

#!/bin/sh

exit 101

添加执行权限:

sudo chmod +x /usr/sbin/policy-rc.d

安装deb文件:

cd output/bigtop-utils

sudo dpkg --install *.deb

cd ..

sudo dpkg --install **/**.deb

最后别忘了删除掉policy-rc.d:

sudo rm /usr/sbin/policy-rc.d

初始化hdfs:

sudo -u hdfs hadoop namenode -format

启动服务:

sudo /etc/init.d/hadoop-hdfs-namenode start

sudo /etc/init.d/hadoop-hdfs-datanode start

#sudo /etc/init.d/hadoop-xxxx start

接下来可以查看日志和web页面是否正常了。访问http://localhost:50070/,你就可以看到hadoop-2.3.0的小清新的管理界面了。

5. 排错

1) bigtop-0.7依赖的是protobuf-2.4.0而不是protobuf-2.5.0,导致编译过程出现protobuf的版本需要2.5.0的提示,请卸载2.4.0版本重新编译protobuf-2.5.0。

2) 运行make deb时出现more change dataor trailer的异常(详细异常信息见下面),请将操作系统的LANG修改为en_US

parsechangelog/debian: warning:     debian/changelog(l4): badly formattedtrailer line

LINE: -- Bigtop <[email protected]> 四, 17 4月 2014 14:30:17 +0800

parsechangelog/debian: warning:     debian/changelog(l4): found eof whereexpected more change data or trailer

dpkg-buildpackage: source package zookeeper

dpkg-buildpackage: source version 3.4.5-1

dpkg-buildpackage: error: unable todetermine source changed by

通过Bigtop编译Hadoop组件的rpm包

时间: 2024-07-29 01:21:38

通过Bigtop编译Hadoop组件的rpm包的相关文章

自己动手一步一步安装hadoop(含编译hadoop的native本地包)

最近项目需要用到hadoop,边学习边应用,第一步无疑是安装hadoop,我安装的是hadoop-2.4.1,下面是详细步骤,做备忘以后查看 一.下载依赖软件 1.java hadoop官网说明只支持java 6和7 ,下载最新的java7 http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz 2.maven 从maven官网下载http://maven.apache.org/download

编译安装apm+xcache, rpm包, php module;

编译安装:apm+xcache, rpm包, php module: #由于时间关系是直接发PDF:

解决编译nginx模块与rpm包安装的nginx不兼容问题

环境:centos  nginx-10.0.1 现象: 自己开发一个nginx模块,放到rpm包安装的nginx服务器上启动服务时报错如下: 30490#0: module "/usr/lib64/nginx/modules/ndk_http_module.so" is not binary compatible in /usr/share/nginx/modules/route.conf:1 解决方法: 查看nginx -V 所编译使用的选项 重新编译nginx源码生成.so模块 网

Linux学习之建立yum源、yum命令的使用及rpm包编译安装

一.什么是Yum Yum的全称为 Yellowdog Update Modifier,其主要目的是为了解决RPM包安装时的依赖关系的问题.yum只是一个用于软件安装的前端工具,其主要的服务对象还是RPM软件包. 二.yum配置客户端         1.主配置文件(中心配置文件):/etc/yum.conf.              通常不需要进行修改,保持其默认配置即可.         2.提供repo配置文件,指明仓库访问路径及各种属性信息.              在目录/etc/y

Centos 中如何快速定制二进制的内核 RPM 包

1.rpm 制作前的环境准备: yum install -y ncurses-devel qt-devel rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel bc 2.准备内核的源代码组件 cd /

Centos 中如何快速定制二进制的内核RPM 包

随着Linux服务器越来越多了,底层系统内核想要保持版本统一就需要定制专门的二进制安装包来便捷的升级和管理. RedHat系那当然就是使用rpmbuild来做定制化管理了. 今天我们分俩个部分(root和普通用户)来讲解如何制作内核的二进制rpm包. Building主机系统环境约定: OS : CentOS release 6.6 Arch : i686 一,rpm包简单定制 注意: 这里我们首先要预留至少20GB的临时文件空间. 1.rpm 制作前的环境准备: yum -y groupins

Red Hat 系列如何快速定制二进制内核 RPM 包?

随着Linux服务器越来越多了,底层系统内核想要保持版本统一就需要定制专门的二进制安装包来便捷的升级和管理. RedHat系那当然就是使用rpmbuild来做定制化管理了. 今天我们分俩个部分(root和普通用户)来讲解如何制作内核的二进制rpm包. Building主机系统环境约定: OS : CentOS release 6.6 Arch : i686 第一部分,rpm包简单定制 注意: 这里我们首先要预留至少20GB的临时文件空间. 一.rpm 制作前的环境准备: yum -y group

centos7下使用rpm包安装clickhouse

clickhouse是由俄罗斯Yandex公司开发的列式存储数据库,于2016年开源,clickhouse的定位是快速的数据分析,对于处理海量数据的情况性能非常好,在网上也有很多测试的案例,在大数据的情况下性能远超过其他数据库,并且不依赖于hadoop的生态系统,都是独立使用,在大数据存储业务上还是可以考虑的. clickhouse官网地址:https://clickhouse.yandex/,文档地址:https://clickhouse.yandex/docs/en/ 另外推荐单页文档,更方

httpd 2.4的rpm包制作

参考: http://rpm-guide.readthedocs.io/en/latest/rpm-guide.html http://laoguang.blog.51cto.com/6013350/1103628 http://blog.csdn.net/u013639526/article/details/52355081 rpm制作简介: rpm包的制作时由rpmbuild这个软件包来实现的,rpmbuild的工作流程大概是这样的: 1.找到源码包,加压并拷贝到编译工作车间(官方文档的翻译