JDBC连接hive失败,一种原因的解决方法

报错信息类似:
Error: Could not open client transport with JDBC Uri: jdbc:hive2://master:10000/default: java.net.ConnectException: Connection refused (Connection refused) (state=08S01,code=0)

修改hadoop-conf/core-site.xml配置

<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>

这里的hadoop是JDBC连接hive时的用户名,应该根据自己的实际情况,进修改。

刷新更改的配置

hdfs dfsadmin -refreshSuperUserGroupsConfiguration
yarn rmadmin -refreshSuperUserGroupsConfiguration

启动hiveserver2

nohup hive --service metastore >> ./nohup.out 2>&1 &
nohup hive --service hiveserver2 >> ./nohup.out 2>&1 &

补充:关于2>&1 &的其他写法

nohup java -jar app_name.jar >> /home/log/app_name-$(date +%Y-%m-%d).log 2>&1 &
有以下两种简写方式
&>log
>&log
比如上面小节中的写法就可以简写为:
nohup java -jar app_name.jar &>log &