问题描述
- spark整合tachyon一直报连接失败
-
Failed to connect (1) with master @ master/192.168.111.130:19998 : java.net.ConnectException: Connection refused详细日志:
org.apache.thrift.TException: Service name not found in message name: user_getUserId. Did you forget to use a TMultiplexProtocol in your client?
at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:103)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
解决方案
历时一周,终于解决这个问题。感叹自学不容易呀。总结问题原因:
1、spark整合tachyon,tachyon好像必须基于hdfs,也就是
export TACHYON_UNDERFS_ADDRESS=hdfs://master:9000/tachyon 必须配置成hdfs形式。 (猜测)
2、tachyon基于hdfs,默认的tachyon二进制包基于hadoop1.x,2.x 需要自己编译
3、spark和tachyon的兼容的版本号要对,最好要选官方推荐的
Spark Version Tachyon Version
1.0.x and Below v0.4.1
1.1.x v0.5.0
1.2.x v0.5.0
1.3.x v0.5.0
1.4.x v0.6.4
1.5.x v0.7.1
4、配置tachyon-env.sh中环境变量要多小心,export TACHYON_MASTER_ADDRESS=master
export TACHYON_UNDERFS_ADDRESS=hdfs://master:9000/tachyon 一定要保证对
5、core-site.xml 在hadoop中配置就好,spark conf中就不要配了,不然spark-env.sh中指定HADOOP_CONF_DIR会加载2次
6、spark1.3 + 的版本好像自己集成了tachyon-client,不用自己再指定了
解决方案二:
我的也是这个链接失败问题