自己编译tachyon0.7.0关联hadoop2.6.0
由于使用编译好的tachyon
和自己的hadoop连接不上,总是出现下面这个问题:
org.apache.hadoop.ipc.RemoteException: Server IPC version 9 cannot communicate with client version 4 at org.apache.hadoop.ipc.Client.call(Client.java:1070)
无奈只好自己编译了。
在这里还是承接一面两篇文章,拥有一个master
一个slave
.
安装maven
首先安装maven
在ubuntu
下使用命令1
sudo apt-get install maven
编译tachyon
首先下载tachyon0.7.0
1
wget https://github.com/amplab/tachyon/archive/v0.7.0.zip
然后解压并且移动到我们的大数据文件夹1
mv v0.7.0 tachyon-0.7.0.zip
unzip tachyon-0.7.0.zip
mv tachyon-0.7.0.zip /usr/local/bigdata/
cd tachyon-0.7.0
然后开始编译,记得加上自己的hadoop
版本,他默认的好像是hadoop1.x的版本,会造成一种错误
org.apache.hadoop.ipc.RemoteException: Server IPC version 9 cannot communicate with client version 4 at org.apache.hadoop.ipc.Client.call(Client.java:1070)
编译的时候要用mvn
,所以在源码文件夹下执行:1
mvn -Dhadoop.version=2.6.0 clean package -DskipTests=true
额,我在虚拟机中编译了大概20分钟。
编译完成后,在源码目录下创建几个文件夹:1
mkdir journal
mkdir ramdisk
配置tachyon
首先在.bashrc
中添加环境变量:1
#tachyon
export TACHYON_HOME=/usr/local/bigdata/tachyon-0.7.0
export PATH=$TACHYON_HOME/bin:$PATH
然后将conf
文件夹下的tachyon-env.sh.template
改名为tachyon-env.sh
1
cp conf/tachyon-env.sh.template conf/tachyon-env.sh
vim conf/tachyon-evn.sh
修改其中的配置文件:1
export TACHYON_MASTER_ADDRESS=master
#export TACHYON_UNDERFS_ADDRESS=$TACHYON_HOME/underFSStorage
export TACHYON_UNDERFS_ADDRESS=hdfs://master:9000
-Dtachyon.master.journal.folder=$TACHYON_HOME/journal #这一条不改好像也没多少关系
然后设置日志的输出位置,默认是命令行中。1
vim conf/log4j.properties
在=
后面写上地址就好了.
tachyon.logs.dir=/usr/local/bigdata/tachyon-0.7.0/logs
接下来在conf
下创建core-site.xml
:1
vim conf/core-site.xml
在里面添加:1
2
3
4
5
6<configuration>
<property>
<name>fs.tachyon.impl</name>
<value>tachyon.hadoop.TFS</value>
</property>
</configuration>
最后,在conf/workers
里面添加slave
.
然后将tachyon-0.7.0
这个文件夹分发到slave
节点.
启动tachyon
启动之前首先应该格式化:1
bin/tachyon format
因为我不是用root
账户登录的,所以只能用下面这条命令运行:1
bin/tachyon-start.sh all SudoMount
输入密码后,即可完成启动,可以在master:19999
查看情况,也可以通过jps
去查看。
!提示,如果是虚拟机启动失败或者是tacnyon
能启动,确无法跑任务,可以参考下面的文章:http://innerac.github.io/2017/01/15/48/