在Java连接hbase时出现的问题

本文记录了在使用Zookeeper和HBase过程中遇到的连接异常、数据插入卡死及乱码等问题,并提供了详细的解决方案,包括检查配置文件、调整连接数及设置正确的字符编码等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题1:

java.net.ConnectException: Connection refused: no further information

  • zookeeper.ClientCnxn: Session 0x0 for server null
    • zookeeper未启动,或无法连接,从查看各节点zookeeper启动状态、端口占用、防火墙等方面查看原因。

问题2:

找不到zookeeper服务器,则需要在windows本地的C:\Windows\System32\drivers\etc\下的hosts文件中添加zookeeper集群的映射。 

 

问题3:

在最初的时候,我们设计的模式是拿出每天的股票信息,以股票名作为表名,然后每天遍历爬虫爬取到的股票信息,逐一添加到各个表中,结果在我执行了代码以后,每次都是程序执行到了插入第300条股票信息,也就是在往第三个表中插入数据的时候,程序就会卡死,接下来就会一直提示信息INFO [main] client.AsyncProcess: #2, waiting for some tasks to finish. Expected max=0, tasksInProgress=35。强制结束后再次运行就会报错,后来发现在/hbase/hbase-common/src/main/resources/hbase-default.xml中有这么一条配置信息

就是说我的代码连接数过大引起的问题。当然,与此同时集群也出现了问题,hdfs文件系统中的/hbase文件夹出现了损坏,于是我删掉重新建了一个,重启服务之后集群恢复正常。之后我们重新讨论了一下,设计了一下hbase中的表的模式,我们决定将所有股票信息插入在一张表中,问题从侧面得到了解决。

 

问题4:

最终显示页面读取数据的时候发现传入的数据是乱码

  解决:代码中涉及到的全部的编码全是utf-8,在页面输入时的数据传入java查询类中时  

String str  = new String(stocknum.getBytes("UTF-8"), "ISO-8859-1");

 

 

转载于:https://www.cnblogs.com/Try-kevin/p/7901302.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值