tachyon0.8.2 развернут с помощью hadoop2.6.0, но версия IPC не соответствует

Теперь я хочу развернуть tachyon0.8.2 на моем Ubuntu14.04, у меня уже есть hadoop и spark: на мастере

bd@master$ jps
11871 Jps
3388 Master
2919 NameNode
3266 ResourceManager
3123 SecondaryNameNode

на рабе

bd@slave$ jps
4350 Jps
2778 NodeManager
2647 DataNode
2879 Worker

И я редактирую taachyon-env.sh:

export TACHYON_MASTER_ADDRESS=${TACHYON_MASTER_ADDRESS:-master}
export TACHYON_UNDERFS_ADDRESS=${TACHYON_UNDERFS_ADDRESS:-hdfs://master:9000}

Затем я запускаю bin/tachyon formatа также bin/tachyon-start.sh local, Я не вижу тахионМастер в JPS:

/usr/local/bigdata/tachyon-0.8.2 [06:06:32]
bd$ bin/tachyon-start.sh local
Killed 0 processes on master
Killed 0 processes on master
Connecting to master as bd...
Killed 0 processes on master
Connection to master closed.
[sudo] password for bd:
Formatting RamFS: /mnt/ramdisk (512mb)
Starting master @ master
Starting worker @ master
/usr/local/bigdata/tachyon-0.8.2 [06:06:54]
bd$ jps
12183 TachyonWorker
3388 Master
2919 NameNode
3266 ResourceManager
3123 SecondaryNameNode
12203 Jps

и я вижу логи в master.logs, я сказал, что:

2015-12-27 18:06:50,635 ERROR MASTER_LOGGER (MetricsConfig.java:loadConfigFile) - Error loading metrics configuration file.
2015-12-27 18:06:51,735 ERROR MASTER_LOGGER (HdfsUnderFileSystem.java:<init>) - Exception thrown when trying to get FileSystem for hdfs://master:9000
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)
    at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
    at com.sun.proxy.$Proxy1.getProtocolVersion(Unknown Source)
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396)
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379)
    at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:119)
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:238)
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:203)
    at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1386)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1404)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:254)
    at org.apache.hadoop.fs.Path.getFileSystem(Path.java:187)
    at tachyon.underfs.hdfs.HdfsUnderFileSystem.<init>(HdfsUnderFileSystem.java:74)
    at tachyon.underfs.hdfs.HdfsUnderFileSystemFactory.create(HdfsUnderFileSystemFactory.java:30)
    at tachyon.underfs.UnderFileSystemRegistry.create(UnderFileSystemRegistry.java:116)
    at tachyon.underfs.UnderFileSystem.get(UnderFileSystem.java:100)
    at tachyon.underfs.UnderFileSystem.get(UnderFileSystem.java:83)
    at tachyon.master.TachyonMaster.connectToUFS(TachyonMaster.java:412)
    at tachyon.master.TachyonMaster.startMasters(TachyonMaster.java:280)
    at tachyon.master.TachyonMaster.start(TachyonMaster.java:261)
    at tachyon.master.TachyonMaster.main(TachyonMaster.java:64)
2015-12-27 18:06:51,742 ERROR MASTER_LOGGER (TachyonMaster.java:main) - Uncaught exception terminating Master
java.lang.IllegalArgumentException: All eligible Under File Systems were unable to create an instance for the given path: hdfs://master:9000
java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException: Server IPC version 9 cannot communicate with client version 4

    at tachyon.underfs.UnderFileSystemRegistry.create(UnderFileSystemRegistry.java:132)
    at tachyon.underfs.UnderFileSystem.get(UnderFileSystem.java:100)
    at tachyon.underfs.UnderFileSystem.get(UnderFileSystem.java:83)
    at tachyon.master.TachyonMaster.connectToUFS(TachyonMaster.java:412)
    at tachyon.master.TachyonMaster.startMasters(TachyonMaster.java:280)
    at tachyon.master.TachyonMaster.start(TachyonMaster.java:261)
    at tachyon.master.TachyonMaster.main(TachyonMaster.java:64)

Что я должен сделать для этой проблемы?

1 ответ

Это исключение возникает из-за несоответствия версий клиента и сервера Hadoop. Проверьте свою версию Hadoop, а затем перекомпилируйте Tachyon для этой версии с помощью этой команды:

mvn -Dhadoop.version=your_hadoop_version clean install

Пример: mvn -Dhadoop.version=2.4.0 clean install

Теперь настройте ваш скомпилированный Tachyon, и он должен работать нормально. Ссылочная ссылка.

Другие вопросы по тегам