weixin_46612565 2025-05-26 11:42 采纳率: 0%
浏览 4

hadoop的zeppline连接hive3.1.2连接不上

https://blog.csdn.net/yygabcd/article/details/123741387
https://blog.csdn.net/tiantang2renjian/article/details/130148815

我按照这两位的教程在zeppline给hive添加依赖后,仍然连不上hive,(后台hiveserver2已启动)我该怎么办

img

img

img

  • 写回答

4条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-05-26 13:26
    关注

    让【宝码香车】来帮你解答,本回答参考DeepSeek编写,并整理提供。

    如果还有疑问可以点击头像关注私信或评论。如果答案让您满意,请采纳、点赞、关注,非常感谢!

    Hadoop Zeppelin 连接 Hive 3.1.2 问题解决方案

    根据您提供的信息,问题主要出在 Zeppelin 连接 Hive 3.1.2 时缺少必要的依赖包,特别是 org.apache.curator.RetryPolicy 类。以下是详细的解决方案:

    问题分析

    从错误日志可以看到:

    java.lang.ClassNotFoundException: org.apache.curator.RetryPolicy
    

    这表明 Zeppelin 缺少 Curator 相关依赖包,这是 Hive 3.1.2 连接所需的。

    解决方案

    1. 添加必要的依赖包

    您需要将以下依赖包添加到 Zeppelin 的 interpreter 配置中:

    <!-- Hive JDBC 依赖 -->
    <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-jdbc</artifactId>
        <version>3.1.2</version>
    </dependency>
    
    
    <!-- Curator 依赖 -->
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>4.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-client</artifactId>
        <version>4.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>4.2.0</version>
    </dependency>
    
    
    <!-- 其他可能需要的依赖 -->
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>3.1.2</version>
    </dependency>
    

    2. 在 Zeppelin 中添加依赖

    1. 登录 Zeppelin Web UI
    2. 进入 "Interpreter" 设置页面
    3. 找到 Hive interpreter
    4. 在 "Dependencies" 部分添加上述依赖的 Maven 坐标
    5. 保存并重启 interpreter

    3. 验证 HiveServer2 服务

    确保 HiveServer2 服务已正确启动:

    # 检查 HiveServer2 是否运行
    ps aux | grep HiveServer2
    
    
    # 或者使用 jps 命令查看
    jps
    

    4. 检查 Zeppelin 连接配置

    确保 Zeppelin 中的 Hive 连接配置正确:

    jdbc:hive2://<hiveserver2_host>:10000/default
    

    5. 检查网络连接

    确保 Zeppelin 服务器可以访问 HiveServer2 的端口(默认 10000):

    telnet <hiveserver2_host> 10000
    

    6. 检查防火墙设置

    确保防火墙没有阻止相关端口:

    # 查看防火墙状态
    systemctl status firewalld
    
    
    # 如果防火墙开启,添加规则
    firewall-cmd --add-port=10000/tcp --permanent
    firewall-cmd --reload
    

    常见问题排查流程

    连接失败

    参考建议

    1. 确保所有节点的 Hadoop、Hive 版本一致
    2. 检查 Hive 和 Hadoop 的日志获取更多错误信息:
    tail -f /var/log/hive/hiveserver2.log
    tail -f /var/log/hadoop-yarn/yarn-yarn-nodemanager-*.log
    
    1. 如果问题仍然存在,可以尝试将相关 jar 包手动放入 Zeppelin 的 lib 目录

    希望这些解决方案能帮助您解决问题。如果仍有问题,请提供更多错误日志以便进一步分析。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月26日