CDH集群启动后使用Hive报错:

解决方案一:
-
查看状态二个namenode节点都为standby状态:
$./hdfs haadmin -getServiceState namenode1
standby
$./hdfs haadmin -getServiceState namenode2
standby -
强行手工将namenode1状态转换为active即可:
$/hdfs haadmin -transitionToActive --forcemanual namenode1 -
或者在CM界面手动切换即可:

解决方案二:
- 检查是不是自己的Hive表创建时location写的不对,因为HA时就不能写单个节点的主机名了,错误示例如下:
执行命令:show create table t_camera;

- 修改表的location即可:
执行命令:
alter table t_camera set location ‘hdfs://nameservice1/user/hive/warehouse/ods.db/t_camera’;
或者不写nameservices的名称:
alter table t_camera set location ‘/user/hive/warehouse/ods.db/t_camera’;

本文解决CDH集群启动后使用Hive遇到的两个常见问题:namenode状态异常和Hive表location配置错误。通过手动转换namenode状态和调整Hive表的location设置,确保Hive在CDH集群上的正常运行。
1万+





