### Hive的一些报错及解决方法 #### 一、Hive连接报错 在更换网络接口卡后重新启动服务时,可能会遇到Hive连接失败的问题。此类问题通常与元数据存储中的异常有关,例如存在多个版本的元数据或者端口被其他服务占用。 1. **元数据版本冲突**: - **现象**:启动时提示`MetaException(message:Metastore contains multiple versions (2))`,表示Hive元数据存在多版本的情况。 - **解决步骤**: - 使用`DEBUG`级别查看详细的错误信息,以便更准确地定位问题。 ```shell hive --hiveconf hive.root.logger=DEBUG,console ``` - 检查MySQL数据库中Hive元数据表的版本信息,确认是否存在多版本的情况。 ```sql SELECT * FROM version; ``` - 如果确实存在多版本,则可以通过删除冗余版本或更新版本信息来解决问题。 - 为避免再次出现多版本的问题,可以在`version`表上添加唯一索引: ```sql ALTER TABLE version ADD UNIQUE (schema_version); ``` 2. **端口占用**: - **现象**:即使解决了元数据版本问题后,仍可能出现端口占用的情况。 - **解决步骤**: - 查看9083端口是否被占用,可以使用`lsof -i :9083`命令进行检查。 - 如果发现有进程占用了该端口,可以通过`ps -ef | grep pid`找到占用该端口的进程ID,并用`kill pid`命令终止该进程。 - 确保Hive客户端连接正常。 3. **Hadoop安全模式问题**: - **现象**:Hadoop集群进入安全模式,导致Hive无法正常工作。 - **解决步骤**: - 可以通过`hdfs dfsadmin -safemode get`命令查看当前Hadoop集群的安全模式状态。 - 若集群处于安全模式,可以尝试调整`dfs.safemode.threshold.pct`配置值为较小的值,如0.9。 - 或者使用`hadoop dfsadmin -safemode leave`命令强制退出安全模式。 #### 二、执行Hive脚本卡住报错 在执行Hive脚本时,可能会遇到脚本执行卡住或报错的情况。这类问题通常与Hadoop服务的状态有关。 1. **Timelineserver服务未启动**: - **现象**:执行Hive脚本时卡住或报错,检查发现10200端口没有相关进程。 - **解决步骤**: - 启动`timelineserver`服务: ```shell yarn-daemon.sh start timelineserver ``` - 再次检查10200端口是否有相关进程,以确认服务是否成功启动。 #### 三、换磁阵后查询Hive表数据报错且速度很慢 当更换磁盘阵列后,可能会出现查询Hive表数据时速度变慢甚至报错的问题。 1. **现象**:查询Hive表时,出现`BlockMissingException`异常,表示某些数据块丢失。 - **解决步骤**: - 分析元数据信息,确定哪些分区数据丢失。 - 删除丢失数据的分区: ```sql ALTER TABLE ods.tb_res_content_cancel DROP IF EXISTS PARTITION (month_part='201608'); ``` - 如果需要的话,可以考虑重建整个表。 #### 四、Hive执行脚本、查询有时较慢 在某些情况下,Hive执行脚本或查询的速度可能会变得非常慢。 1. **原因分析**: - Hadoop集群中可能存在其他服务运行,这些服务可能会占用大量的计算资源。 - 主节点的选择可能会对性能产生影响。 - **解决步骤**: - 确认Hadoop集群的主节点,如果当前的主节点运行了大量任务,可以尝试切换主节点。 - 在备用节点上启动`zkfc`服务,确保Zookeeper Failover Controller服务正常运行。 ```shell hadoop-daemon.sh start zkfc ``` - 停止当前作为主节点的`namenode`服务。 ```shell hadoop-daemon.sh stop namenode ``` - 通过访问`http://hadoop001:50070`确认主节点是否已经切换。 - 再次启动原主节点的`namenode`服务,确保其正确地作为备用节点运行。 ```shell hadoop-daemon.sh start namenode ``` - 通过访问`http://hadoop002:50070`确认其状态。 通过以上详细的步骤,可以有效地解决Hive在使用过程中遇到的各种常见问题。
剩余10页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助