本文介绍如何通过DbVisualizer和kettle远程访问Hive 2。 1、Hadoop设置 通过以下命令启动远程服务:
hadoop@bdi:~$ hive --service hiveserver2 >/dev/null &
远程服务对外的端口是10000,启动成功后,使用netstat命令验证:
hadoop@bdi:~$ netstat -antpl|grep 10000
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 3763/java
tcp 0 0 192.168.120.95:10000 192.168.120.124:63152 ESTABLISHED 3763/java
如果再启动的过程中报错,可以使用下面的命令进行调试:
hadoop@bdi:~$ hive --hiveconf hive.root.logger=DEBUG,console
默认情况下,是不允许远程以匿名用户访问的,如果访问,会提示如下报错:
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: hadoop is not allowed to impersonate hadoop
这里修改需要hadoop的配置文件core-site.xml,加入以下内容:
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
注意:这里的hadoop用户是操作系统上管理hadoop服务的用户,根据自己实际情况进行替换。 完了后重启hadoop服务。 2、Hive的JDBC驱动下载 JDBC驱动可以从官方网站下载,选择hive对应版本的jdbc驱动即可。我这里使用的是hive 2.2.3,所以下载的驱动名称为:hive-jdbc-2.3.2-standalone.jar 下载完成后,将文件拷贝至DbVisualizer的lib文件夹。 3、配置DbVisualizer 初次配置连接的时候,会提示识别不了jdbc驱动,手工确认jdbc驱动的路径并加载即可。 4、配置Kettle访问 首先,还是把hive的jdbc驱动复制到kettle的lib目录下,然后新建“转换”-->数据库连接,如下图所示: