Mac hive更换IP地址之后
学习hadoop过程中一直在用macos系统在学习,有一个问题是IP地址一直在变化,更换IP之后需要进入/etc更改hosts的IP地址
今天更换IP之后爆出错误
ERROR [ddc658f0-5f45-42af-8383-88f93872c9ce main] ql.Driver: FAILED:
HiveAccessControlException Permission denied: Principal [name=zhinian,
type=USER] does not have following privileges for operation LOAD
[[INSERT, DELETE] on Object [type=TABLE_OR_VIEW,
name=db_hive.testexterval, action=INSERT]]
org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAccessControlException:
Permission denied: Principal [name=zhinian, type=USER] does not have
following privileges for operation LOAD [[INSERT, DELETE] on Object
[type=TABLE_OR_VIEW, name=db_hive.testexterval, action=INSERT]]
后来发现这个原因是admin用户进入hive时要使用命令
set role admin
当然这是题外话
之后会爆出
java.net.ConnectException: Call From zhiniandeMBP/192.168.1.112 to zhiniandeMBP:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:
原因是需要重新初始化namenode
stop-all.sh
hadoop namenode -format
start-all.sh
之后导入数据的时候会报错
no datanode之类错误
原因是:当我们使用hdfs namenode -format格式化namenode时,会在namenode数据文件夹中保存一个current/VERSION文件,记录clusterID,而datanode中保存的current/VERSION文件中的clustreID的值是第一次格式化保存的clusterID,刚好有进行了一次格式化,在namenode的current/VERSION文件保存新的clusterID这样datanode和namenode之间的ID不一致。导致上述结果!
于是在找current/VERSION文件路径。
在namenode节点的路径是:/解压路径/hadoop-2.7.2/tmp/dfs/name/current/
在datanode节点的路径是:/解压路径/hadoop-2.7.2/tmp/dfs/data/current/
找到VERSION后打开查看,一对比,datanode的clustreID与其他3台datanode的clustreID真的不同!
将datanode的clustreID的值改成与namenode的clustreID相同后再启动,成功!
原文:https://blog.csdn.net/yangjjuan/article/details/56497516