临时需要一个hive2环境,之前没有接触过
在hive2中执行sql语句,如果出现以下错误:
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
到hive目录尝试以下语句后重试:
mv metastore_db metastore_db_bkup
schematool -initSchema -dbType derby
如果需要在其它机器连接hive2,则还需要启动服务:
启动服务:hiveserver2 &
PS:如果你的ssh端口不是22,那么需要找到hadoop-env.sh文件,加入如下代码:
export HADOOP_SSH_OPTS="-p 54170"
PS:你系统的主机名不能有下划线。。。否则hive2会报错
PS: 如果执行插入修改等操作提示权限错误。那么在hdfs-site.xml添加后重启hadoop:
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
如果其它机器连接 hive2服务出现类似错误:
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate root (state=08S01,code=0)
在core-site.xml添加:
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
如果出现如下错误:
org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Permission denied: user=…inode=“/tmp/hadoop-yarn”
那么:hadoop fs -chmod -R 777 /tmp/hadoop-yarn