回复:关于Rapidminer Studio使用Radoop - Hive问题
phellinger
员工,成员职位:103RM工程
嗨,自从他,
你用相同的吗用户名和密码在SQL设置连接对话框的一部分,就像你在Beeline?
用户名通常是蜂巢例如,使用LDAP或Kerberos时除外。
您可以检查Radoop构建的JDBC URL,如果启用日志面板通过查看->显示面板->日志,并将日志级别设置为FINE (正确的点击面板->设置日志级别-> FINE)并运行测试。你应该看到一行字写着“连接到Hive。JDBC url:“.你可以忽略radoop_hive_0.13.0前缀,其余部分看起来应该类似于您在Beeline中使用的URL。)
最好的
彼得
标记:
1
答案
亲爱的所有,
我得到一个关于Rapidminer Radoop的错误。我已经下载并安装了Radoop扩展到Rapidminer Studio的最新版本。我可以看到安装的所有扩展。我点击Manage Radoop Extension,输入Hadoop和Hive的字段,通过加载Hadoop配置文件,Hive似乎一切正常。我的Hive版本也是最新的,我通过直线命令工具连接jdbc:hive2,它通过mySQL连接到Hive数据库。然而,Radidminer Studio连接失败,出现以下错误:
“serverProtocolVersion”未设置。
我也得到以下输出:
(org.apache.hadoop.security.authorize.AuthorizationException): User: maziar不允许冒充root
org.apache.hadoop.ipc.Client.call (Client.java: 1470)
org.apache.hadoop.ipc.Client.call (Client.java: 1401)
org.apache.hadoop.ipc.ProtobufRpcEngine Invoker.invoke美元(ProtobufRpcEngine.java: 232)
在com.sun.proxy。Proxy30美元。getFileInfo(未知来源)
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo (ClientNamenodeProtocolTranslatorPB.java: 752)
在sun.reflect.GeneratedMethodAccessor2。调用(未知源)
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43)
java.lang.reflect.Method.invoke (Method.java: 498)
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod (RetryInvocationHandler.java: 187)
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke (RetryInvocationHandler.java: 102)
在com.sun.proxy。Proxy31美元。getFileInfo(未知来源)
org.apache.hadoop.hdfs.DFSClient.getFileInfo (DFSClient.java: 1977)
org.apache.hadoop.hdfs.DistributedFileSystem docall 18.美元(DistributedFileSystem.java: 1118)
org.apache.hadoop.hdfs.DistributedFileSystem docall 18.美元(DistributedFileSystem.java: 1114)
org.apache.hadoop.fs.FileSystemLinkResolver.resolve (FileSystemLinkResolver.java: 81)
org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus (DistributedFileSystem.java: 1114)
org.apache.hadoop.fs.FileSystem.exists (FileSystem.java: 1400)
org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir (SessionState.java: 674)
org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs (SessionState.java: 622)
org.apache.hadoop.hive.ql.session.SessionState.start (SessionState.java: 550)
…28日更
用户“maiziar”是我的Hadoop用户,用户“root”是mySQL Hive用户。
有人能帮我解决这个错误吗?请注意所有已安装的Rapidminer studio、Hadoop、Hive都是最新版本。你能帮我解决这个问题吗?
最好的问候,
自从他
我打算把这个话题转移到Radoop论坛。
彼得,谢谢你的回复。
这很有帮助。然而,我有一个问题如下:
我可以从命令行直接使用命令行,进入命令行后,我可以使用命令“!”对于连接,然后提示我输入用户和密码,这实际上是直接要求我提供连接到hive的凭据。我的hive基本上被设置为mySQL数据库,而不是Apache Derby。连接到mySQL数据库的凭据是root:root,所以当我将它应用到直线上时,我得到一个jdbc:hive2连接,然后我可以看到mySQL中的hive表。
我不知道如何将此应用于Radoop,因为Radoop给出了用户和密码不正确的错误,并且我不能使用URL jdbc:hive2://,它必须是jdbc:hive2://localhost:10000。如果我在直线中使用这个实际URL,我也会得到凭据错误。
那你觉得我错在哪里?
考虑到问题在很大程度上与凭据有关,那么为什么当我使用完整的URL字符串时,我得到相同的凭据错误,而如果我像上面解释的那样使用URL的简短格式,它至少可以在直线中工作?我的问题是在Hadoop安装?对于我来说,Hadoop安装使用的用户和密码是mazar:admin,而Hive安装使用的用户和密码是root:root,这也是Hive访问的mySQL数据库的用户和密码。
问候,
自从他