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’;