java - HBase java 错误 - 预期 HEADER=HBas 但收到 HEADER=\x00\x00\x01\x0B
问题描述
我正在尝试从 java 应用程序连接到远程 hbase。
远程的hbase版本是2.1.0,比如我本地的hbase-client。
该代码在另一个 cloudera 环境中运行良好,唯一的区别是该环境受 kerberos 保护,但我在日志中成功登录。
在 RpcServer 日志中,我发现“预期 HEADER=HBas 但收到 HEADER=\x00\x00\x01\x0B from :61866”。
我在互联网上找不到任何东西,我不知道要检查什么。
关于我应该检查什么的任何帮助?
解决方案
在网上我发现只有旧的或错误的配置。
这是唯一对我有用的:
org.apache.hadoop.conf.Configuration configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.quorum", "server1, server2, server3");
configuration.set("hbase.zookeeper.property.clientPort", "2181");
configuration.set("hadoop.security.authentication","kerberos");
configuration.set("hbase.security.authentication","kerberos");
configuration.set("hbase.cluster.distributed", true);
configuration.set("hbase.rpc.protection","authentication"); // Check this on your hbase configuration
configuration.set("hbase.regionserver.kerberos.principal", "hbase/_HOST@yourdomain");
configuration.set("hbase.master.kerberos.principal","hbase/_HOST@yourdomain");
UserGroupInformation.setConfiguration(configuration);
UserGroupInformation.loginUserFromKeytab(youruser, "src/main/resources/key.keytab");
推荐阅读
- curl - 如何为 curl Rust crate 启用 NTLM 支持?
- javascript - Javascript:在画布上绘制图像时,图像大小变为两倍
- javascript - 无法在 Mongodb 中进行正确的查询
- android - 如何根据列表显示带有数字的图像
- python - IP 地址引发 Python 套接字错误
- amazon-web-services - Terraform 错误:错误锁定状态:获取状态锁定错误:发生 2 个错误:
- python - ImportError:虽然我安装了谷歌云视觉,但无法从“google.cloud.vision”导入名称“类型”
- javascript - Jquery自定义选择插件无法使用代码选择选项
- javascript - style.css 不适用于 wordpress 子主题
- python - Pandas 将切片列中的值复制到切片列