windows下eclipse连接hbase失败,如何解决??跪求大神!!

我已经成功在linux下搭建hadoop+zookeeper+hbase三台组成的集群,并实现在linux终端建表等操作。但想在一台远程windows下用eclipse操作hbase建表、查询时则出现了以下错误。

前提是代码绝对没问题,jar包也没缺。另外已经可以在eclipse用MapReduce操作文件了,所以eclipse的一些有关hadoop的参数配置也是没问题的。
但从报错看感觉是编译的问题,但又不知从何改起,困扰很久了,希望各路大神指点迷津!!!!!
请各位不要随便黏贴一个别人写的就套用在我遇到的问题上,会就会,不会就不会,拜托了。

第一种情况:
1.测试hbase:

a) cd hbase-0.90.4
b) bin/start-hbase.sh
c) bin/hbase shell
d) create ‘database’,’cf’
e) list
f) 如果成功则可以看到有下面的结果:
hbase(main):001:0>list TABLE database 1 row(s)in 0.5910 seconds

2. 创建Java project, 将hbase-0.90.4下面的lib目录拷贝到工程,将其中的jar包加入classpath, 还有hbase-0.90.5.jar 和 test.jar

3. 创建类

public class HelloHBase {
public static void main(String[] args) throws IOException {
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "192.168.128.128");
HBaseAdmin admin = new HBaseAdmin(conf);
HTableDescriptor tableDescriptor = admin.getTableDescriptor(Bytes.toBytes("database"));
byte[] name = tableDescriptor.getName();
System.out.println(new String(name));
HColumnDescriptor[] columnFamilies = tableDescriptor.getColumnFamilies();
for (HColumnDescriptor d : columnFamilies) {
System.out.println(d.getNameAsString());
}
}

运行,此时应该打印出下面两行:
database cf
若没有,说明配置失败,请检查其他设置。

==============================================
问题1:
java.net.ConnectException: Connection refused: no further information

a. zookeeper.ClientCnxn: Session 0x0 for server null,

解决: zppkeeper未启动,或无法连接,从查看各节点zookeeper启动状态、端口占用、防火墙等方面查看原因

b. getMaster attempt 4 of 10 failed; retrying after sleep of 2000

解决:查看 master log , 如果有信息org.apache.hadoop.hbase.regionserver.HRegionServer: Serving as BRDVM0240,43992,1373943529301, RPC listening on /127.0.0.1:43992, sessionid=0x13fe56a7d4b0001

则说明, HRegionServer
监听的端口是localhost 127.0.0.1, 需要修改 server端 /etc/hosts 文件, 127.0.0.1
servername localhost.localdomain localhost
去掉 servername, 然后重启hbase
第二种情况:
java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119)
12/09/03 15:37:15 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.0.118:2181
12/09/03 15:37:16 INFO zookeeper.ClientCnxn: EventThread shut down
12/09/03 15:37:16 INFO zookeeper.ZooKeeper: Session: 0x0 closed
Exception in thread "main" org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect to ZooKeeper but the connection closes immediately. This could be a sign that the server has too many connections (30 is the default). Consider inspecting your ZK server logs for that error and then make sure you are reusing HBaseConfiguration as often as you can. See HTable's javadoc for more information.
at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:156)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1209)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:511)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:502)
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:172)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:92)
at com.biencloud.test.first_hbase.main(first_hbase.java:22)
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
at org.apache.zookeeper.KeeperException.create(KeeperException.java:90)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:42)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:809)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:837)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.createAndFailSilent(ZKUtil.java:931)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:134)
... 6 more

这个错误说明eclipse没有连接到zookeeper,在程序中添加zookeeper配置信息即可,具体如下:
Configuration conf=HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","192.168.0.118, 192.168.0.186, 192.168.0.182");
conf.set("hbase.zookeeper.property.clientPort","2222");

附上出处链接:http://www.aboutyun.com/thread-5866-1-1.html追问

试过了,还是这个错误。linux下的hbase完全正常,zookeeper也启动了。

温馨提示:内容为网友见解,仅供参考
无其他回答

windows+eclipse操作Hbase连接过程中debug记录(一)
主要从连接出发: 发现ping不通内网IP,可以ping通公网IP,换 windows下的ip映射为公网IP映射 ,实验依旧报同样的错。用telnet命令检查端口,发现没有打开2181端口,在 阿里云服务器上添加新的规则,打开2181端口 即可。 windows+eclipse操作Hbase连接过程中debug记录(二)

如何在windows平台上用Eclipse调试运行HBase
7.修改HBase的配置文件 在HBase project下的src中可以看到hbase-default.xml和hbase-site.xml两个文件,改哪个都可以。直接在hbase-default.xml改的,重要的是下面3个属性hbase.rootdir,hbase.cluster.distributed,hbase.tmp.dir,把hbase.rootdir,hbase.tmp.dir都指向了本地的目录,当然可以根据...

如何使用Eclipse构建HBase开发环境
1:从HBase集群中复制一份Hbase部署文件,放置在开发端某一目录下(如在\/app\/hadoop\/hbase096目录下)。2:在eclipse里新建一个java项目HBase,然后选择项目属性,在Libraries->Add External JARs...,然后选择\/app\/hadoop\/hbase096\/lib下相关的JAR包,如果只是测试用的话,就简单一点,将所有的JAR选...

如何学好java语言啊?
建议一:有系统的学习方案,系统的学习教程,先把Java学了一遍之后才是真正的入门,然后就是不断的练习,不断的巩固,为之后的工作打下坚实的基础。建议二:学习Java不要先看书学,一定要先把一块的知识点学完一遍,并且自己多多少少会动手操作,然后去看书温习。还有不要盲目的看视频,很多人都是光看...

pycharm怎么没有django(2023年最新解答)
用pycharm创建django框架失败,找不到文件怎么回事这是pycharm在创建虚拟环境时候出错了,可以尝试一下解决方案 方案一(手动创建虚拟环境)手动创建虚拟环境有很多可选方案,这里推荐使用virtualenv,比较简单方便。首先安装virtualenv,需要安装如下两个库 pipinstallvirtualenv pipinstallvirtualenvwrapper-win 安装...

大数据学习需要哪些课程?
【大数据】需要学习的课程:1、大数据存储阶段:hbase、hive、sqoop。2、大数据架构设计阶段:Flume分布式、Zookeeper、Kafka。3、大数据实时计自算阶段:Mahout、Spark、storm。4、大数据zd数据采集阶段:Python、Scala。5、大数据商业实战阶段:实操企业大数据处理业务场景,分析需求、解决方案实施,综合技术实战...

如何使用Eclipse构建HBase开发环境
1:从HBase集群中复制一份Hbase部署文件,放置在开发端某一目录下(如在\/app\/hadoop\/hbase096目录下)。2:在eclipse里新建一个java项目HBase,然后选择项目属性,在Libraries->Add External JARs...,然后选择\/app\/hadoop\/hbase096\/lib下相关的JAR包,如果只是测试用的话,就简单一点,将所有的JAR选...

如何使用Eclipse构建HBase开发环境
1:从HBase集群中复制一份Hbase部署文件,放置在开发端某一目录下(如在\/app\/hadoop\/hbase096目录下)。2:在eclipse里新建一个java项目HBase,然后选择项目属性,在Libraries->Add External JARs...,然后选择\/app\/hadoop\/hbase096\/lib下相关的JAR包,如果只是测试用的话,就简单一点,将所有的JAR选...

如何使用Eclipse构建HBase开发环境
1:从HBase集群中复制一份Hbase部署文件,放置在开发端某一目录下(如在\/app\/hadoop\/hbase096目录下)。2:在eclipse里新建一个java项目HBase,然后选择项目属性,在Libraries->Add External JARs...,然后选择\/app\/hadoop\/hbase096\/lib下相关的JAR包,如果只是测试用的话,就简单一点,将所有的JAR选...

如何使用Eclipse构建HBase开发环境
1:从HBase集群中复制一份Hbase部署文件,放置在开发端某一目录下(如在\/app\/hadoop\/hbase096目录下)。2:在eclipse里新建一个java项目HBase,然后选择项目属性,在Libraries->Add External JARs...,然后选择\/app\/hadoop\/hbase096\/lib下相关的JAR包,如果只是测试用的话,就简单一点,将所有的JAR选...

相似回答