说明:hadoop版本:hadoop-1.2.1.tar.gz。linux系统ubuntu12.04,不过这里跟系统无关,可能安装软件的命令有差别。
一.概述
默认的hbase安装包已经有了thrift服务,使用见hbase文档。Hadoop默认包没有thrift服务,即没有网上说的hadoophome/src/contrib/thriftfs/scripts/start_thrift_server.sh,因此需要手动编译,使用的编译工具是Ant。Bin包其实是已经编译过的安装包,所以不具有以上文件夹,无法编译,需要下载非bin的hadoop软件包(官网下载)。
二.Hadoop包解压(即hadoop的安装,不做阐述)
这里要安装非bin的hadoop包,解压到相应目录,执行start_thrift_server.sh发现提示缺少jar包,所以要编译hadoop(这里hadoop已经可以启动,所以编译的不是hadoop整个软件,具体编译的什么东西,还需研究),以下编译。
三.Ant安装
1。下载
下载地址:http://ant.apache.org/bindownload.cgi下载apache-ant-1.9.0-bin.tar.gz
2。解压
tar-zxvfapache-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.9.0
PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
cd/usr/bin
ln-s-f/usr/local/apache-ant-1.9.0/bin/ant(如果an安装包放到了配置文件描述的地方则不需要这一步了,这里是把ant的安装包连接到ANT_HOME指定的目录)
运行ant-version,输出如下内容:
[root@localhost~]#ant-version
ApacheAnt(TM)version1.9.0compiledonMarch52013
ok,ant配置完成。
四.ivy安装以及其它需要包安装(ant需要)
这里网上文档有点不负责任了,只安装ant根本无法编译hadoop,还要安装以下包;
1.ivy
下载:http://download.youkuaiyun.com/detail/jiangheng0535/6339303
tar-zxvfapache-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
2.其他需要包安装
apt-getinstallm4autoconfautomakelibtool
这些包没有什么配置,直接apt安省事。如果缺少这些包的话会提示一些错误:
Cannotrunprogram“autoreconf”找不到某个文件之类的,其实不是找不到文件,就是这些包没安装。
五.Hadoop编译
1.概述
其实hadoop包已经可以使用了,hadoop服务开启没问题,这里的编译应该是生成一些jar包,比如为eclipse提供插件,还有现在需要的为thrift提供插件的包。真正的意思不是编译整个hadoop,至于为什么会生成这些包,就不太明白了。
2.修改build.xml
这里先进去hadoop目录修改build.xml文件,这里只对版本号更改为自己的hadoop版本即可,网上更改较多,没有尝试,根据需要可查阅其他文档。
Vibuild.xml 大约20几行可找到hadoop版本号,改为自己的。(这个号一般是与hadoop版本不一致,至于haoop为何这样据不清楚了。)
3.编译
进入hadoop目录
antcompile
六.开启thrift服务
.hadoophome/src/contrib/thriftfs/scripts/start_thrift_server.sh执行前改变文件权限。
开启服务后,服务是前台运行的,不能关闭,重新开启一个终端,jps查看可看到thrift服务,也可以ctrl+z挂起。
端口号是随机的,可以在后面加上 空格+端口号,也可以在shell脚本末行行尾加上端口号。