Missing Hive Builtins Jar: /data/hive-0.11.0/lib/hive-builtins-*.jar

本文详细解答了在编译Hive-0.11时遇到的执行错误,发现$HIVE_HOME/lib目录下缺少hive-builtins-*.jar文件的问题,并提供了解决方案——下载CDH版本的Hive-0.10以修复此问题。

问题:编译hive-0.11,执行hive报这个错,发现$HIVE_HOME/lib下面没有hive-builtins-*.jar。

方案:下载cdh版本 hive-0.10



<think>好的,我现在需要解决用户提到的Hive schematool初始化时缺少hive-exec.jar的问题。用户提到使用Derby作为数据库类型,但遇到缺少hive-exec.jar的情况。我需要根据提供的引用内容和已有的知识来梳理解决方案。 首先,我需要确认用户的问题场景。当用户执行schematool初始化命令时,比如: ```bash schematool -dbType derby -initSchema ``` 系统报错提示找不到hive-exec.jar。这可能是因为Hive的环境变量配置不正确,或者相关的JAR文件没有正确放置。 根据引用[5],schematool用于初始化数据库,而初始化时需要依赖Hive的库文件。如果hive-exec.jar不在CLASSPATH中,schematool就无法找到它,导致初始化失败。因此,解决方案应围绕如何确保hive-exec.jar被正确包含在环境变量中。 接下来,我需要考虑可能的解决步骤: 1. **检查HIVE_HOME环境变量**:确保HIVE_HOME指向正确的Hive安装目录。如果这个变量没有设置或设置错误,schematool可能无法找到相关的JAR文件。用户可以通过`echo $HIVE_HOME`来验证。 2. **确认hive-exec.jar的位置**:通常,hive-exec.jar位于Hivelib目录下,比如`$HIVE_HOME/lib/hive-exec-*.jar`。用户需要检查该目录下是否存在这个文件。如果不存在,可能需要重新安装Hive或者从其他来源获取该JAR。 3. **手动添加JAR到CLASSPATH**:如果环境变量没有问题,但schematool仍然找不到JAR,可以尝试在命令中显式指定CLASSPATH。例如: ```bash export CLASSPATH=$HIVE_HOME/lib/hive-exec-*.jar:$CLASSPATH schematool -dbType derby -initSchema ``` 这样可以直接将hive-exec.jar添加到类路径中。 4. **检查Hive的安装完整性**:如果缺少多个JAR文件,可能是Hive安装不完整。建议重新下载Hive的二进制包,并按照官方文档进行安装,确保所有必要的文件都存在。 5. **查看错误日志**:详细错误信息可能提供更多线索。用户应该检查命令执行的输出,看是否有其他缺失的依赖项或配置问题。 另外,根据引用[4],用户可能在操作Hive的元数据存储时遇到问题,但这里的问题更侧重于初始化时的依赖缺失。引用[3]和[5]提到使用MySQL时的初始化步骤,但用户当前使用的是Derby,所以需要调整解决方案以适应Derby的配置。 总结可能的解决方案步骤,并验证每个步骤的正确性。同时,需要提醒用户注意路径中的版本号,例如hive-exec-3.1.2.jar,版本号可能因安装的Hive版本而异,用户需要根据实际情况替换。 最后,生成相关问题,帮助用户深入理解可能相关的其他问题,比如环境变量配置、Hive的其他初始化问题等。</think>### 解决Hive schematool初始化时缺少hive-exec.jar的问题 #### 问题原因 当使用`schematool`初始化Hive元数据库(如Derby)时,如果系统提示`hive-exec.jar`缺失,通常是因为: 1. **环境变量未正确配置**:`HIVE_HOME`未设置或指向错误的路径,导致`schematool`无法找到依赖的JAR文件。 2. **Hive安装不完整**:安装包损坏或未包含完整的依赖项(如`hive-exec.jar`丢失)。 --- #### 逐步解决方案 1. **确认`HIVE_HOME`环境变量** - 检查`HIVE_HOME`是否指向正确的Hive安装目录: ```bash echo $HIVE_HOME # 正确示例输出:/usr/local/hive ``` - 如果未设置或路径错误,需在`~/.bashrc`或`~/.bash_profile`中添加: ```bash export HIVE_HOME=/path/to/hive export PATH=$HIVE_HOME/bin:$PATH ``` 保存后执行`source ~/.bashrc`生效[^5]。 2. **验证`hive-exec.jar`是否存在** - 检查`$HIVE_HOME/lib`目录下是否包含类似`hive-exec-*.jar`的文件: ```bash ls $HIVE_HOME/lib | grep hive-exec ``` - 如果缺失,需重新下载Hive安装包或从其他节点复制该文件[^4]。 3. **手动指定CLASSPATH** - 在初始化命令前显式添加`hive-exec.jar`到类路径: ```bash export CLASSPATH=$HIVE_HOME/lib/hive-exec-*.jar:$CLASSPATH schematool -dbType derby -initSchema ``` 4. **重新初始化元数据库** - 若Derby数据库已损坏,尝试备份并删除旧数据后重新初始化: ```bash mv $HIVE_HOME/metastore_db $HIVE_HOME/metastore_db.bak # 备份元数据库 schematool -dbType derby -initSchema ``` --- #### 验证是否成功 - 成功初始化后会显示: ```bash Metastore connection URL: jdbc:derby:;databaseName=metastore_db;create=true Initialization script completed ``` - 如果仍有报错,检查日志文件(如`/tmp/hive`目录下的日志)确认具体原因[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值