cdh6.3.2升级hive至3.x后登陆HiveServer2连接失败.doc
### CDH 6.3.2 升级 Hive 至 3.x 后登录 HiveServer2 连接失败问题分析及解决方法 #### 一、问题背景与现象 在将 Cloudera Data Hub (CDH) 6.3.2 版本中的 Hive 升级到 3.x 版本后,用户在尝试通过 JDBC 连接到 HiveServer2 时遇到了连接失败的问题。具体的错误信息如下: **后台日志显示:** ``` Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop105:10000: Failed to open new session: java.lang.IllegalArgumentException: Cannot modify hive.query.redaction.rules at runtime. It is not in list of params that are allowed to be modified at runtime (state=08S01,code=0) ``` **HiveServer2 日志记录:** ``` [HiveServer2-Handler-Pool: Thread-55]: Error opening session: org.apache.hive.service.cli.HiveSQLException: Failed to open new session: java.lang.IllegalArgumentException: Cannot modify hive.query.redaction.rules at runtime. It is not in list of params that are allowed to be modified at runtime at org.apache.hive.service.cli.session.SessionManager.createSession(SessionManager.java:420) ~[hive-service-2.1.1-cdh6.3.2.jar:2.1.1-cdh6.3.2] ``` 这些错误信息明确指出,在运行时无法修改 `hive.query.redaction.rules` 参数,因为该参数不在允许运行时修改的参数列表中。 #### 二、问题分析 1. **参数理解**: - `hive.query.redaction.rules` 是一个配置项,用于控制查询字符串的脱敏规则。在某些场景下,可能需要对发送到 Hive 的 SQL 查询进行部分脱敏处理,以保护敏感数据或满足合规性要求。 2. **运行时修改限制**: - 在 Hive 3.x 版本中,默认情况下不允许运行时修改 `hive.query.redaction.rules` 这样的配置项,因为这类参数通常涉及到安全性和系统稳定性,更改可能会导致不可预知的行为。 3. **版本兼容性问题**: - 当从旧版本的 Hive 升级到 3.x 版本时,可能存在某些配置项在新版本中有不同的默认行为或限制。在这种情况下,`hive.query.redaction.rules` 在运行时的修改被阻止了。 #### 三、解决方案 根据提供的部分内容,解决这个问题的方法是修改 `/opt/cloudera/parcels/CDH/lib/hive/conf/` 目录下的 `hive-env.sh` 文件,并注释掉 `export HIVE_OPTS` 配置行。具体步骤如下: 1. **备份原始配置文件**: - 在执行任何更改之前,确保备份原始的 `hive-env.sh` 文件。这样如果遇到问题,可以轻松地恢复到初始状态。 ```bash cp /opt/cloudera/parcels/CDH/lib/hive/conf/hive-env.sh /opt/cloudera/parcels/CDH/lib/hive/conf/hive-env.sh.bak ``` 2. **编辑并注释掉 `export HIVE_OPTS`**: - 使用文本编辑器打开 `hive-env.sh` 文件。 ```bash vim /opt/cloudera/parcels/CDH/lib/hive/conf/hive-env.sh ``` - 查找包含 `export HIVE_OPTS` 的行,并在其前面添加 `#` 符号以注释掉这行代码。 ```bash # export HIVE_OPTS="$HIVE_OPTS -Dhive.query.redaction.rules=myCustomRules" ``` 3. **验证配置更改**: - 保存并关闭编辑器后,通过不重启 Beeline 客户端的方式测试连接是否成功。 ```bash beeline -u jdbc:hive2://master02:10000 ``` - 如果连接成功,说明问题已解决。如果仍然出现问题,则需要进一步排查其他可能的原因。 #### 四、注意事项 1. **集群一致性**: - 确保集群中所有节点都进行了相同的修改,以保持一致性。 2. **版本差异**: - 如果在升级过程中遇到其他问题,应参考 Hive 3.x 版本的官方文档来了解有关配置项的具体变化。 3. **测试验证**: - 在生产环境中应用任何更改前,建议先在一个测试环境中进行充分的测试和验证。 通过以上步骤,可以有效地解决在升级 Hive 至 3.x 版本后登录 HiveServer2 连接失败的问题。























- 粉丝: 767
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 嵌入式系统及应用-Chapter1-嵌入式系统导论.ppt
- 网络营销精英培训计划.pptx
- 最新毋岩毕业设计正文(基于单片机设计的数字电子钟).doc
- 乐活网电子商务解决方案.doc
- 数字图像处理(冈萨雷斯)第一章-绪论.ppt
- 校园网络维护记录[最终版].pdf
- 循环程序设计陈.doc
- 主流计算机图像技术.doc
- 云计算关键技术与应用技能协作训练组集训专项方案.doc
- 数据库原理与技术课程习题答案.doc
- 网络工程生产实习报告.doc
- 学习]网络科学导论度分布.ppt
- 专升本《计算机软件基础》模拟题试卷.doc
- 互联网应用与安全.ppt
- 项目管理技术在工程成本方面的综合运用.doc
- 网络游戏营销方案.pptx


