kettle9.1连接hive2时出现User: root is not allowed to impersonate anonymous解决办法

问题1:User: root is not allowed to impersonate anonymous

我在用kettle9.1连接虚拟机上hive2.3.8时出现错误1:如下

Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException
(org.apache.hadoop.security.authorize.AuthorizationException):
 User: root is not allowed to impersonate anonymous

User: root is not allowed to impersonate anonymous
提示没有权限

解决办法:

修改Hadoop配置文件core-site.xml
在里面添加如下内容:

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

在这里插入图片描述
然后关闭hadoop集群:stop-all.sh
再重启:start-all.sh
有可能还是不行,出现例如User: xqql is not allowed to impersonate anonymous
那你就把里面的root改为你的主机名

还要注意一点:记得更新你kettle里放的core-site.xml否则也会失败

问题2:

问题如下:

Error connecting to database: (using class org.apache.hive.jdbc.HiveDriver)

出现没有hive驱动的问题

解决办法:

去虚拟机上找到hive安装目录下的lib目录,把里面以hive开头的jar包复制到
F:\kettle\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp30\lib\pmr
建议再F:\kettle\data-integration\lib此目录下也放一份你复制的hive的jar包

另外如果是mysql.driver找不到,你就去弄一个对应的mysql连接jar包放到data-integration\lib目录下
注意:kettle9.0以及之后版本连接mysql8.0只需要一个jar包如mysql-connector-java-8.0.26.jar
如果用的的是kettle8.几版本去连mysql8.0还需要加一个jar包mysql-connector-java-5.1.49-bin.jar

Guess you like

Origin blog.csdn.net/qq_43278189/article/details/120934259