Apache Phoenix - 如何在 Kerberos 集群上启动查询服务器和瘦客户端

2023-12-27

我最近花了几天时间尝试通过zookeeper运行phoenix Thin(queryserver.py和sqlline-thin.py)和thick以保护集群。但是,我无法在安全集群上启动或连接phoenix服务。

在phoenix瘦客户端和胖客户端上面临以下问题

17/09/27 08:41:47 WARN util.NativeCodeLoader: Unable to load native-hadoop libra
ry for your platform... using builtin-java classes where applicable
Error: java.lang.RuntimeException: java.lang.NullPointerException (state=,code=0
)
java.sql.SQLException: java.lang.RuntimeException: java.lang.NullPointerExceptio
n
        at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(Connecti
onQueryServicesImpl.java:2465)
        at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(Connecti
onQueryServicesImpl.java:2382)
        at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExe
cutor.java:76)
        at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQ
ueryServicesImpl.java:2382)
        at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(Phoe
nixDriver.java:255)
        at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(Phoeni
xEmbeddedDriver.java:149)
        at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:221)

        at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
        at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)

        at sqlline.Commands.connect(Commands.java:1064)
        at sqlline.Commands.connect(Commands.java:996)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.jav
a:38)
        at sqlline.SqlLine.dispatch(SqlLine.java:809)
        at sqlline.SqlLine.initArgs(SqlLine.java:588)
        at sqlline.SqlLine.begin(SqlLine.java:661)
        at sqlline.SqlLine.start(SqlLine.java:398)
        at sqlline.SqlLine.main(SqlLine.java:291)
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(R
pcRetryingCaller.java:218)
        at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:
326)
        at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanne
r.java:301)
        at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConst
ruction(ClientScanner.java:166)
        at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.jav
a:161)
        at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:797)
        at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.
java:602)
        at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccess
or.java:366)
        at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java
:406)
        at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(Connecti
onQueryServicesImpl.java:2410)
        ... 20 more
Caused by: java.lang.NullPointerException
        at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.getMetaReplicaNode
s(ZooKeeperWatcher.java:489)
        at org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailabl
e(MetaTableLocator.java:558)
        at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getMetaRegionLocatio
n(ZooKeeperRegistry.java:61)
        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplement
ation.locateMeta(ConnectionManager.java:1211)
        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplement
ation.locateRegion(ConnectionManager.java:1178)
        at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getR
egionLocations(RpcRetryingCallerWithReadReplicas.java:305)
        at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(Scann
erCallableWithReplicas.java:156)
        at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(Scann
erCallableWithReplicas.java:60)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(R
pcRetryingCaller.java:210)
        ... 29 more
sqlline version 1.2.0
0: jdbc:phoenix:Namenode1>

按照以下步骤操作

  1. 删除phoenix上的hbase-site.xml文件并设置HBase打包环境。
  2. 在 $HBASE_CONF_DIR/hbase-site.xml 文件中提供了 Phoenix 查询服务器的 Kerberos 主体和密钥表。

    phoenix.queryserver.kerberos.principal HTTP/[电子邮件受保护] /cdn-cgi/l/email-protection

    phoenix.queryserver.kerberos.keytab
    C:\KeyTab\webuser.keytab

  3. 执行瘦服务器和客户端

    A。启动查询服务器 - /bin>python queryserver.ph 已正常启动。

    b.启动瘦客户端 - /bin>python sqlline.pyhttp://namenode1:8765;authentication=SPENGO;principal=HTTP/[email protected] /cdn-cgi/l/email-protection;keytab=C:\\KeyTab\\webuser.keytab

4.通过以下命令在胖客户端上执行

/bin> python sqlline.py Namenode1:2181:/hbase-secure:HTTP/[email protected] /cdn-cgi/l/email-protection:C:\\KeyTab\\webuser.keytab

让我知道,任何其他配置都需要具有安全集群的 Apache phoenix。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache Phoenix - 如何在 Kerberos 集群上启动查询服务器和瘦客户端 的相关文章

  • 使用 Hadoop 映射两个数据集

    假设我有两个键值数据集 数据集A和B 我们称它们为数据集A和B 我想用 B 组的数据更新 A 组中的所有数据 其中两者在键上匹配 因为我要处理如此大量的数据 所以我使用 Hadoop 进行 MapReduce 我担心的是 为了在 A 和 B
  • 我可以从 LDAP 更改自己的 Active Directory 密码(无需管理帐户)

    我没有 也不会 拥有管理员帐户 我想从 java 更改 Active Directory 中自己 用户 的密码 我怎样才能做到这一点 使用来自网络的代码 private void changePass throws Exception St
  • Sqoop mysql错误-通信链路故障

    尝试运行以下命令 sqoop import connect jdbc mysql 3306 home credit risk table bureau target dir home sqoop username root password
  • 从 Active Directory 同步数据库

    我想将我的用户数据库与活动目录中的用户和组同步 我的应用程序从 AD 读取对象并将它们复制到数据库 但随着 AD 更改而变得过时 有没有办法让活动目录在对象更改时通知我 C 示例代码会很棒 F bio 附 我正在使用 Oracle 数据库
  • hive查询无法通过jdbc生成结果集

    我是 Hive 和 Hadoop 的新手 在我的教程中 我想将表创建为 import java sql SQLException import java sql Connection import java sql ResultSet im
  • 从所有通讯组中删除所有前雇员

    因此 今天我被分配的任务是从所有 DL 中删除域中的所有前员工 他们在 AD 中拥有自己的文件夹 有没有什么方法可以快速做到这一点 或者至少比单独检查每个并转到 gt 的成员删除所有更快 Thanks 编辑以添加更多信息 有 822 个用户
  • 将日期字符串转换为“MM/DD/YY”格式

    我刚刚看到这个例子 我该如何解决这个问题 Hive 元存储包含一个名为 Problem1 的数据库 其中包含一个名为 customer 的表 customer 表包含 9000 万条客户记录 90 000 000 每条记录都有一个生日字段
  • AD、ADFS 与 LDAP:像我 5 岁一样解释一下

    我没有与 Microsoft 合作 但我很难从概念上理解 AD ADFS 和 LDAP 如何协同工作 假设我有一个需要身份提供者的应用程序 AD 和 LDAP 如何发挥作用 我的谷歌搜索还没有为我提供这些概念的清晰总结 但如果有存在的资源
  • JAAS keytab 配置的相对路径

    我有一个系统 其中 NET 客户端使用 Kerberos 针对 Java 服务器进行身份验证 一切正常 但我正在尝试改进服务器配置 目前一个keytab根目录中需要文件C 因为我的jaas配置文件看起来像这样 Server com sun
  • 如何使用 Amazon 的 EMR 在 CLI 中使用自定义 jar 指定 mapred 配置和 java 选项?

    我想知道如何指定mapreduce配置 例如mapred task timeout mapred min split size等等 当使用自定义 jar 运行流作业时 当我们使用 ruby 或 python 等外部脚本语言运行时 我们可以使
  • 从 .Net 应用程序(控制台)访问受 kerberos 保护的 webhdfs

    由于 Kerberos 安全性 我无法从浏览器访问 WebHDFS 谁能帮我这个 以下是浏览器中 http webhdfs v1 prod snapshot rpx archive op LISTSTATUS user name us 的错
  • 带有安全 Kafka 抛出的 Spark 结构化流:无权访问组异常

    为了在我的项目中使用结构化流 我正在 hortonworks 2 6 3 环境上测试 Spark 2 2 0 和 Kafka 0 10 1 与 Kerberos 的集成 我正在运行下面的示例代码来检查集成 我能够在 Spark 本地模式下的
  • Hive - 线程安全的自动递增序列号生成

    我遇到一种情况 需要将记录插入到特定的 Hive 表中 其中一列需要是自动递增的序列号 即在任何时间点都必须严格遵循 max value 1 规则 记录从许多并行的 Hive 作业插入到这个特定的表中 这些作业每天 每周 每月批量运行 现在
  • Hive“添加分区”并发

    我们有一个外部 Hive 表 用于处理原始日志文件数据 这些文件每小时一次 并按日期和源主机名分区 目前 我们正在使用简单的 python 脚本导入文件 这些脚本每小时触发几次 该脚本根据需要在 HDFS 上创建子文件夹 从临时本地存储复制
  • 在映射器的单个输出上运行多个减速器

    我正在使用地图缩减实现左连接功能 左侧有大约 6 亿条记录 右侧有大约 2300 万条记录 在映射器中 我使用左连接条件中使用的列来创建键 并将键值输出从映射器传递到减速器 我遇到性能问题 因为两个表中的值数量都很高的映射器键很少 例如分别
  • YARN UNHEALTHY 节点

    在我们的 YARN 集群已满 80 的情况下 我们看到一些纱线节点管理器被标记为不健康 在深入研究日志后 我发现这是因为数据目录的磁盘空间已满 90 出现以下错误 2015 02 21 08 33 51 590 INFO org apach
  • 找出哪些用户对邮箱具有完全访问权限

    我试图绘制一个图表 显示哪个 Exchange 用户对哪些 Exchange 邮箱拥有哪些权限 并根据权限类型为它们着色 截至目前 我无法找到 Exchange 考虑的所有类型的权限 我可以使用 EWS 找出用户自己授予谁访问邮箱的权限 f
  • 如何将SQL数据加载到Hortonworks中?

    我已在我的电脑中安装了 Hortonworks SandBox 还尝试使用 CSV 文件 并以表结构的方式获取它 这是可以的 Hive Hadoop nw 我想将当前的 SQL 数据库迁移到沙箱 MS SQL 2008 r2 中 我将如何做
  • 猪的组连接等效吗?

    试图在 Pig 上完成这个任务 寻找 MySQL 的 group concat 等效项 例如 在我的表中 我有以下内容 3fields userid clickcount pagenumber 155 2 12 155 3 133 155
  • RemoteAuthentication 错误:OpenIdConnectAuthenticationHandler:message.State 为 null 或为空

    RemoteAuthentication 错误 OpenIdConnectAuthenticationHandler message State 为 null 或为空 即使成功获取代码 id token 和 token 后 我将 Razor

随机推荐

  • 如何在 2012 年引用 SSIS 中的 dll?

    我正在尝试使用脚本组件向我的 SSIS 包 2012 添加 dll 引用 IntelliSense 正在为我工 作 编码时我没有看到错误 但是 我收到以下错误 无法加载文件或程序集 XYZ 版本 1 0 0 0 文化 中性 PublicKe
  • 使用 jQueryeach 获取图像高度

    我的页面上有一堆图像 我正在尝试使用 jQuery 来获取每个图像的高度并将其显示在图像之后 这是我的代码 document ready function thumb each function imageWidth thumb img a
  • 如何在 PostgreSQL 中从 Json 数组中获取元素

    我对此进行了很多搜索 但仍然无法回答 我正在使用 PostgreSQL 在下面的示例中 列名称为 sections 列类型为 json 我的专栏在数据库中如下所示 sections name section1 attributes attr
  • 如何处理 Django Admin 中的大量删除?

    我正在使用 Django 2 2 10 我有一个模型叫Site 以及一个名为Record 每条记录都与一个站点 外键 相关联 我的应用程序运行几天 几周 几个月后 每个站点都可以有数千条与之关联的记录 我有效地使用数据库 所以这通常不是问题
  • 如何根据标题选择 TabItem

    在我的程序中我有一个tabItem当 a 时被选择TreeViewItem与同等的header被选中 这就是我目前拥有的 它有效 parent TreeViewItem Items Contains SelectedItem tabCont
  • 如果异步服务器 socket.BeginAccept() 为分配新端口的每个客户端套接字启动一个新线程,我的客户端套接字如何知道该端口?

    我正在阅读这个微软异步服务器服务器套接字示例 Bind the listener socket object to the local endpoint and listen for incoming connections try lis
  • jQuery.ajax() - IE9 中返回未定义的数据

    我有一个非常简单的代码 ajax cache false dataType html complete function jqXHR console log jqXHR responseText success function data
  • 在 docker 容器中挂载带有符号链接的主机目录

    我使用以下参数安装了容器 v home test home test 在主机的 home test 内部有一个指向 mnt 文件夹的符号链接 但是该链接虽然可以看到指向的位置 但在容器内似乎已损坏 root f93f72b45013 var
  • 动态表列

    当我想从仅包含字符串的列表列表 例如来自 csv 的数据 生成表格时 我应该如何进行 列的名称并不重要 从提供的所有示例中 我只看到将表项绑定到特定模型 这不适合那里 因为我有未知的列数和名称 如果您已经知道列名称和数据类型 我建议对其进行
  • 使用带有 IN 子句的 query() 进行 CodeIgniter 数据库查询

    我的模型中有以下代码 sql SELECT t1 t2 FROM Table1 t1 INNER JOIN Table2 t2 ON t1 id t2 id AND t2 title IN AND t1 type ORDER BY t1 i
  • 将现有数据库与 ASP.NET 5 和 EF7(测试版 7)结合使用

    我正在尝试使用 ASP NET 和 EF 7 beta 7 的空模板项目连接到现有数据库 这是我的 project json 的样子 webroot wwwroot userSecretsId aspnet5 Titanes2015 409
  • 如何在 JTextArea 中设置文本格式

    我正在尝试输出多行文本来创建 ASCII 艺术 但是当我使用 JFrame 和 JTextArea 时 它无法正确排列 我正在尝试打印ASCII 艺术圣诞快乐 https i stack imgur com WSsLh png但是当我在新窗
  • 如何通过redirect()传递验证错误数据?

    我有一个包含表单的页面 当任何用户提交它时 数据都会发送到控制器 控制器检查验证 如果有任何错误 它将用户重定向到上一页 包含表单的页面 否则它将数据发送到模型 要从控制器重定向到上一页 如果有任何验证错误 我有以下代码 redirect
  • 调整缩放 Gmaps4Rails

    我正在使用 Gmaps4Rails gem 无法弄清楚如何调整默认缩放设置 在我看来 我有以下代码 我知道这个问题已经被问过并回答过很多次了 但也许我只是没有看到一些东西 有什么建议吗 我错过了一些完全明显的东西吗 我很抱歉重新发布这个问题
  • 为什么 UriInfo.getQueryParameters() 不解码“+”?

    我知道我可以解决这个问题 但是与从参数映射中提取参数 应该根据 javadoc 进行解码 相比 如果使用带注释的查询参数 行为会有所不同 这似乎很奇怪 这是一个错误 还是只是一个怪癖 GET Path Produces MediaType
  • .htaccess 从 GET 变量重定向到 url 字符串

    我需要重定向 search keywords somesearchterm to search somesearchterm 这看起来非常基本 但我已经为此绞尽脑汁一个小时了 感谢您花时间查看此内容 您想使用 mod rewrite 实现所
  • (ROSE 绘图错误)错误:分面变量必须至少有一个值

    我正在尝试使用下面的代码在 R 中绘制每月玫瑰图 但遇到错误 错误 分面变量必须至少有一个值 这是我正在使用的数据 链接到数据 https www dropbox com s spwpoukrli5p715 test csv dl 0 这段
  • 多线程 Python 中的信号处理

    这应该非常简单 我很惊讶我在 stackoverflow 上找不到这个问题的答案 我有一个类似守护程序的程序 需要响应 SIGTERM 和 SIGINT 信号才能与 upstart 良好地配合 我读到 执行此操作的最佳方法是在与主线程不同的
  • 从数组中返回具有最高值的对象

    我想从数组中返回一个属性具有最高值的对象 目前我正在做以下事情 Get VM Sort Object Property ProvisionedSpaceGB Select Object Last 1 这可行但效率低下 我不需要对整个数组进行
  • Apache Phoenix - 如何在 Kerberos 集群上启动查询服务器和瘦客户端

    我最近花了几天时间尝试通过zookeeper运行phoenix Thin queryserver py和sqlline thin py 和thick以保护集群 但是 我无法在安全集群上启动或连接phoenix服务 在phoenix瘦客户端和