说明:hadoop版本:hadoop-1.2.1.tar.gz。linux系统12.04,不过这里跟系统无关,可能安装软件的命令有差别。
一.概述
默认的hbase安装包已经有了thrift服务,使用见hbase文档。Hadoop默认包没有thrift服务,即没有网上说的hadoophome/src/contrib/thriftfs/scripts/start_thrift_server.sh,因此需要手动编译,使用的编译工具是Ant。Bin包其实是已经编译过的安装包,所以不具有以上文件夹,无法编译,需要下载非bin的hadoop软件包。
二.Hadoop包解压
这里要安装非bin的hadoop包,解压到相应目录,执行start_thrift_server.sh发现提示缺少jar包,所有要编译hadoop(具体的原理还不太清楚),以下编译。
三.Ant安装
1。下载
下载地址:http://ant.apache.org/bindownload.cgi 下载apache-ant-1.9.0-bin.tar.gz
2。解压
tar -zxvf apache-ant-1.9.0-bin.tar.gz
解压后会生成一个文件夹apache-ant-1.9.0
3。配置环境变量
(ant是基于java的,所以要先确保系统中已经安装了jdk)
vi /etc/profile
添加如下内容:
ANT_HOME=/usr/local/apache-ant-1.8.1
PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
cd /usr/bin
ln -s -f /usr/local/apache-ant-1.8.1/bin/ant (好像可以不执行这个)
运行ant -version,输出如下内容:
[root@localhost ~]# ant -version
Apache Ant(TM) version 1.9.0 compiled on March 5 2013
ok,ant配置完成。
四.Ivy安装以及其它需要包安装
这里网速文档有点不负责任了,只安装ant根本无法编译hadoop还要安装一下包;
1.ivy
tar -zxvf apache-ivy-2.2.0-bin.tar.gz -C /opt
cp /opt/apache-ivy-2.2.0/ivy-2.2.0.jar /opt/ant/lib
cd /opt/apache-ivy-2.2.0/src/example/hello-ivy
ant
这里可能ant会有问题,重试后成功。这里确保能上网吧,虽然我这里这不不联网,但是能连接本地源。另外这里是下载包解压到指定目录的,apt安装应该没问题,只是后面的配置要准确。
2.其他需要包安装
apt-get install m4 autoconf automake libtool
这些包没有什么配置,直接apt安省事。如果确实这些包的话会提示一些作物:
Cannot run program “autoreconf” 找不到某个文件之类的,其实不是找不到文件,就是这些包没安装。
五.Hadoop编译
1.概述
其实hadoop包已经可以使用了,hadoop服务开启没问题,这里的编译应该是生成一些jar包,比如为eclipse提供插件,还有现在需要的为thrift提供插件的包。真正的意思不是编译整个hadoop,至于为什么会生成这些包,就不太明白了。
2.修改build.xml
这里先进去hadoop目录修改build.xml文件,这里只对版本号更改为自己的hadoop版本即可,网上更改较多,没有尝试,根据需要可查阅其他文档。
Vi build.xml
3.编译
进入hadoop目录
ant compile
六.开启thrift服务
.hadoophome/src/contrib/thriftfs/scripts/start_thrift_server.sh 执行前改变文件权限。
开启服务后,服务是前台运行的,不能关闭,重新开启一个终端,jps查看可看到thrift服务