当前位置: 首页 > 知识库问答 >
问题:

Java客户端无法连接到Zookeeper和HBase

万俟亦
2023-03-14

我编写了一个简单的HBase客户端程序来在我的HBase集群(1个主服务器和3个区域服务器)中执行CRUD操作。Zookeeper实例仅在主服务器中运行,仲裁包括所有4台服务器。集群运行良好,可以使用YCSB客户端执行读/写操作(意味着服务器/Zookeeper端没有任何错误)。

现在,在eclipse类路径中,我添加了所有HBase库和hbase-0.94.7.jar(包含hbase-default.xml文件)。我还在项目中添加了来自集群的原始hbase-site.xml文件

最初,我使用未经修改的hbase-default.xml运行客户机代码,我发现客户机试图与zookeeper实例的localhost通信。从而忽略hbase-site.xml。

然后,我修改了保存master/zookpeer服务器的公共IP地址的3个参数,然后再试一次。这一次,我得到了以下错误,其中客户端正在不断尝试连接Zookeeper和它的其他仲裁成员。

我拥有Zookeeper仲裁中的所有4台服务器,假设它们的IP地址是:

>

  • w.w.w//HBase主服务器和Zookeeper服务器

    x.x.x.x//HBase RS和Zookeeper仲裁成员

    Y.Y.Y.Y//HBase RS和Zookeeper仲裁成员

    Z.Z.Z.Z//HBase RS和Zookeeper仲裁成员

    13/06/19 13:06:23 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=W.W.W.W:2181,X.X.X.X:2181,Y.Y.Y.Y:2181,Z.Z.Z.Z:2181 sessionTimeout=180000 watcher=hconnection
    
    13/06/19 13:06:23 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 5828@Kamal-VAIO
    
    13/06/19 13:06:24 INFO zookeeper.ClientCnxn: Opening socket connection to server W.W.W.W:2181. Will not attempt to authenticate using SASL (unknown error)
    
    13/06/19 13:06:25 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
    
    java.net.ConnectException: Connection refused: no further information
    
    13/06/19 13:06:25 WARN zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
    
    13/06/19 13:06:25 INFO util.RetryCounter: Sleeping 2000ms before retry #1...
    
    13/06/19 13:06:25 INFO zookeeper.ClientCnxn: Opening socket connection to server X.X.X.X:2181. Will not attempt to authenticate using SASL (unknown error)
    
    13/06/19 13:06:26 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
    
    java.net.ConnectException: Connection refused: no further information
    

    ...等等

  • 共有2个答案

    段干英杰
    2023-03-14

    其实问题出在卡夫卡客户身上。因此在这种情况下,您必须显式使用kafka-client dependency Version1.0.2。有时其他卡夫卡客户端版本会给出问题。在我的案例中,在设置了kafka-client version&scope“provided”之后,错误就消失了。

     <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>1.0.2</version>
                <scope>provided</scope>
            </dependency>
    
    昝欣可
    2023-03-14

    问题已经解决了。

    1. 右键单击Eclipse中的项目
    2. 转到属性
    3. 选择Java生成路径
    4. 转到库
    5. 单击“添加类文件夹”
    6. 添加名为conf的新文件夹
    7. 按全部确定
    8. 将我的hbase-site.xml复制到conf文件夹
    9. 还要将我的HBase群集的IP主机列表添加到Win 7主机文件中并保存。
    10. 运行hbase代码,客户端就可以成功连接到Zookeeper和hbase Master。

    注意:步骤10是必须的,否则客户端将从Zookeeper实例获取主机名,并且无法解析它们。

    非常感谢大家。

     类似资料:
    • 我无法获取上一个已知位置。我已经在谷歌控制台中启用了地理编码API和谷歌地点API的Android。我在清单文件中添加了 API 密钥: 但我不断在控制台中收到一条消息:“无法连接到Google API客户端:连接结果{状态代码=API_UNAVAILABLE,分辨率=空}” 更新 我使用谷歌示例 onConnected和onConnectionFailed不调用。 而且我也使用Android反应

    • 我正在尝试连接到我的AWS S3存储桶,以便根据这些链接的说明上传文件。 http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjSingleOpJava.html http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/credentials.html#credenti

    • 我的Mosquitto实例没有设置身份验证或密码。我尝试在Mosquitto日志中打开调试消息,但它们没有显示任何有用的信息。我不知所措。为什么我无法从C++Paho代码连接到Mosquitto? 编辑:这是客户端代码...同样,这对Adafruit很有效,但是当我把它指向我在localhost的蚊子时,它会像描述的那样挂起。(我省略了用户名和密码--我正在发送它们,但我真的不认为这些是问题所在,

    • 我设置了一个带有官方REPO elasticsearch docker图像的elasticsearch容器。然后运行它 轻松又有效。ps信息是 我可以使用超文本传输协议访问服务器-客户端通过端口32769- 现在我需要我的JAVA程序与dockerize elasticsearch一起工作。java Node客户端只能通过32768-连接到elasticsearch 然后我在控制台中得到以下错误:

    • 主要内容:1.概述,2.接口描述1.概述 在 dubbo-remoting-zookeeper 模块,实现了 Dubbo 对 Zookeeper 客户端的封装。在该模块中,抽象了通用的 Zookeeper Client API 接口,实现了两种 Zookeeper Client 库的接入: 基于 Apache Curator 实现: <dubbo:registry address=“zookeeper://127.0.0.1:2

    • 我试图删除一个包含8个分区和2个复制的Kafka主题。首先,我使用Kafka主题删除该主题。sh——删除命令。然后我使用了zkCli。sh-服务器从属1。。。。。slave3和rmr/brokers/topics/MY_主题。 然而我仍然看到这个话题在 /brokers/topics/.我试着重启Kafka,一切都一样。 顺便说一句,具有1个分区和1个副本的主题可以成功删除。