回复:关于Rapidminer Studio使用Radoop - Hive问题

phellingerphellinger 员工,成员职位:103RM工程
2019年6月编辑 帮助

嗨,自从他,

你用相同的吗用户名密码SQL设置连接对话框的一部分,就像你在Beeline?

用户名通常是蜂巢例如,使用LDAP或Kerberos时除外。

您可以检查Radoop构建的JDBC URL,如果启用日志面板通过查看->显示面板->日志,并将日志级别设置为FINE (正确的点击面板->设置日志级别-> FINE)并运行测试。你应该看到一行字写着“连接到Hive。JDBC url:“.你可以忽略radoop_hive_0.13.0前缀,其余部分看起来应该类似于您在Beeline中使用的URL。)

最好的

彼得

标记:
tasbihmr

答案

  • tasbihmrtasbihmr 成员职位:9贡献我

    亲爱的所有,

    我得到一个关于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都是最新版本。你能帮我解决这个问题吗?

    最好的问候,

    自从他

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,成员职位:1761年独角兽

    我打算把这个话题转移到Radoop论坛。

  • tasbihmrtasbihmr 成员职位:9贡献我

    彼得,谢谢你的回复。

    这很有帮助。然而,我有一个问题如下:

    我可以从命令行直接使用命令行,进入命令行后,我可以使用命令“!”对于连接,然后提示我输入用户和密码,这实际上是直接要求我提供连接到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数据库的用户和密码。

    问候,

    自从他

登录注册置评。