kam*_*aci 5 java hbase apache-spark
我为我的测试类启动了一个Hbase集群.我使用那个助手类:
并使用它像:
private static final HBaseClusterSingleton cluster = HBaseClusterSingleton.build(1);
Run Code Online (Sandbox Code Playgroud)
我按如下方式检索配置对象:
cluster.getConf()
Run Code Online (Sandbox Code Playgroud)
我在Spark上使用它如下:
sparkContext.newAPIHadoopRDD(conf, MyInputFormat.class, clazzK,
clazzV);
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,不需要启动Hbase集群,因为Spark将连接到我的虚拟集群.但是,当我运行我的测试方法时,它会抛出一个错误:
2015-08-26 01:19:59,558 INFO [执行任务启动worker-0-SendThread(localhost:2181)] zookeeper.ClientCnxn(ClientCnxn.java:logStartConnect(966)) - 打开到服务器localhost/127.0.0.1的套接字连接:2181.不会尝试使用SASL进行身份验证(未知错误)
2015-08-26 01:19:59,559 WARN [执行任务启动worker-0-SendThread(localhost:2181)] zookeeper.ClientCnxn(ClientCnxn.java:run(1089)) - 服务器空的会话0x0,意外错误,关闭套接字连接并尝试重新连接 java.net.ConnectException: 在org.apache.zookeeper的sun.nio.ch.SocketChannelImpl.finckConnect(SocketChannelImpl.java:739)的sun.nio.ch.SocketChannelImpl.checkConnect(本地方法)中拒绝连接 .ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)at org.apache.zookeeper.ClientCnxn $ SendThread.run(ClientCnxn.java:1068)
不在Spark上运行的Hbase测试运行良好.当我检查日志时,我看到群集和Spark正确启动:
2015-08-26 01:35:21,791 INFO [main] hdfs.MiniDFSCluster(MiniDFSCluster.java:waitActive(2055)) - 群集处于活动状态
2015-08-26 01:35:40,334 INFO [main] util.Utils(Logging.scala:logInfo(59)) - 在端口56941上成功启动了服务'sparkDriver'.
我意识到当我从命令行启动一个hbase时,我的Spark测试方法会连接到它!
那么,这是否意味着它不关心我传递给它的conf?关于如何解决它的任何想法?
| 归档时间: |
|
| 查看次数: |
300 次 |
| 最近记录: |