yumgpkpm 2024-11-03 06:13 采纳率: 0%
浏览 11
已结题

CDH6.3 运行hive -e hive -e "show databases;"报错:hive-env.sh:行24: hbase-common.jar: 权限不够

在麒麟V10SP3下安装CDH6.3,运行 # hive -e "show databases;",,报错
/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin/../lib/hive/conf/hive-env.sh:行24: /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/hbase-common.jar: 权限不够
/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin/../lib/hive/conf/hive-env.sh:行25: /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/hbase-hadoop-compat.jar: 权限不够
/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin/../lib/hive/conf/hive-env.sh:行26: /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/hbase-hadoop2-compat.jar: 权限不够
/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin/../lib/hive/conf/hive-env.sh:行27: /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/hbase-protocol.jar: 权限不够
/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin/../lib/hive/conf/hive-env.sh:行28: /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/hbase-server.jar: 权限不够
/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin/../lib/hive/conf/hive-env.sh:行29: /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/lib/htrace-core.jar: 权限不够
能正常显示库表
OK
default
Time taken: 1.896 seconds, Fetched: 1 row(s)
同样运行 beeline 也出同样的错误

  • 写回答

20条回答 默认 最新

  • 问答-莫得感情 2024-11-03 06:14
    关注

    ️题主您好️,目前由我为您解答👇🏼
    🧡参考谷歌智能助手,由吾为汝整理提供🧡

    The error message clearly indicates a permission issue with the HBase JAR files located in the CDH parcel directory. Hive relies on some HBase libraries, and your current user doesn't have the necessary permissions to access them. Here's a breakdown of the solution and some important considerations:

    1. Verify Ownership and Permissions:

    First, determine the user and group owning the CDH installation and the problematic JAR files:

    ls -l /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/
    

    The output should show the owner and group (e.g., cloudera-scm:cloudera-scm). Ensure your user belongs to the correct group.

    2. Correcting Permissions (Recommended approach - using chmod and chown):

    The most common solution is to recursively grant read and execute permissions to the hbase directory and its contents for the appropriate group and user. This is the safest method if you know the correct owner and group for your CDH installation. Replace cloudera-scm with the actual user and group from the ls -l output if they are different.

    sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase
    sudo chmod -R g+rx /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase
    
    • chown -R cloudera-scm:cloudera-scm ...: This recursively changes the owner and group of the hbase directory and all its contents to cloudera-scm.
    • chmod -R g+rx ...: This recursively grants read (r) and execute (x) permissions to the group (g) associated with the hbase directory.

    3. Adding User to Group (If your user isn't already in the group):

    If your user is not part of the cloudera-scm group (or the group owning the CDH installation), add them:

    sudo usermod -a -G cloudera-scm <your_username>
    

    Replace <your_username> with your actual username. Log out and back in (or run newgrp cloudera-scm) for the group change to take effect.

    4. Using chmod 755 (Less recommended - broad permissions):

    While chmod 755 will grant read and execute permissions to everyone, it's generally less secure. Only use this if you fully understand the implications and other options aren't feasible.

    sudo chmod -R 755 /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase
    

    5. Check Hive Configuration (Less likely, but important):

    Ensure that hive-env.sh is correctly configured and sourcing the necessary environment variables. Verify that the HBASE_HOME environment variable (if set) points to the correct HBase installation directory.

    Important Considerations:

    • CDH User: It's best practice to run Hive commands as the dedicated CDH user (e.g., cloudera-scm). This simplifies permission management and avoids such issues. You can use sudo -u cloudera-scm hive -e "show databases;".
    • Parcel Management: If you've recently upgraded or modified CDH parcels, re-distributing the parcels and restarting related services might resolve the issue: Use the Cloudera Manager UI to re-deploy the CDH and HBase parcels.
    • Kylin V10 SP3 Compatibility: While CDH 6.3 should generally be compatible with Kylin V10 SP3, ensure all dependencies are met. Check the Kylin and CDH documentation for specific compatibility details.

    By following these steps, you should be able to resolve the permission issue and run Hive commands successfully. Remember to replace placeholders like <your_username> and cloudera-scm with your system's actual values. Always prefer the more specific permission adjustments (chown and chmod with group permissions) over broad changes like chmod 755. If the issue persists, double-check your CDH installation and configuration.

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月4日
  • 创建了问题 11月3日

悬赏问题

  • ¥50 gki vendor hook
  • ¥15 centos7中sudo命令无法使用
  • ¥15 灰狼算法和蚁群算法如何结合
  • ¥15 这是一个利用ESP32自带按键和LED控制的录像代码,编译过程出现问题,请解决并且指出错误,指导如何处理 ,协助完成代码并上传代码
  • ¥20 stm32f103,hal库 hal_usart_receive函数接收不到数据。
  • ¥20 求结果和代码,sas利用OPTEX程序和D-efficiency生成正交集
  • ¥50 adb连接不到手机是怎么回事?
  • ¥20 抓取数据时发生错误: get_mooncake_data() missing 1 required positional argument: 'driver'的问题,怎么改出正确的爬虫代码?
  • ¥15 vs2022无法联网
  • ¥15 TCP的客户端和服务器的互联