我正在运行cloudera管理器(免费版),向导正在创建配置单元元存储数据库。显示此错误并停止配置过程。
使用/var/run/cloudera scm agent/process/40配置单元metastore创建表/hadoop conf作为hadoop\u conf\u目录
我似乎找不到任何可能导致这种情况的信息?
到目前为止,所有东西都配置正确,所有东西都已安装,用户名和密码都正确。
以前有人见过这个错误吗?思想?
错误日志:
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:688)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1094)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2337)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2370)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2154)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.cloudera.enterprise.dbutil.SqlRunner.open(SqlRunner.java:109)
at com.cloudera.enterprise.dbutil.SqlRunner.runSingleQuery(SqlRunner.java:80)
at com.cloudera.cmf.service.hive.HiveMetastoreDbUtil.countTables(HiveMetastoreDbUtil.java:191)
... 2 more
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2540)
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:612)
... 20 more
2条答案
按热度按时间6qfn3psc1#
好的,cloudera使用的是Hive0.10版本,不支持远程登录
但是你需要绕过这个bug,登录到服务器上,这个服务器得到了cloudera管理器将告诉你的ip地址的错误
1) 创建登录到安装配置单元失败的服务器2)创建$haddop\u主页
3) 在失败的服务器上安装postgres
将其修改为文件中的行
您还需要在pg_hba.conf中为您的网络配置身份验证。您需要确保在下一步中创建的postgresql用户可以从远程主机访问服务器。为此,请在pgèhba.con中添加新行,该行包含以下信息:
启动postgresql server
使用chkconfig实用工具确保您的postgresql服务器将在引导时启动:
您可以使用chkconfig实用工具验证postgresql server是否将在启动时启动,例如:
步骤2:安装postgres jdbc驱动程序
在使用远程postgresql数据库运行配置单元元存储之前,必须为远程postgresql数据库配置jdbc驱动程序,设置初始数据库架构,并为配置单元用户配置postgresql用户帐户。
在debian/ubuntu系统上安装postgresql jdbc驱动程序:
安装libpostgresqljdbcjava并将文件符号链接到/usr/lib/hive/lib/目录。
步骤3:创建metastore数据库和用户帐户
现在需要将所有元存储表的权限授予用户hiveuser。postgresql没有一次为所有表授予权限的语句;您需要一次授予一个表的权限。可以使用以下sql脚本自动执行任务:
您可以从运行metastore服务的计算机验证连接,如下所示:
步骤4:配置metastore服务以与postgresql数据库通信
更改aws amazon主服务器或您的主服务器的ip,不要使用dns名称
在文件搜索中:
并更改为正确的ip,即您运行cloudera manager的主hadoop服务器。如果该文件中的每个链接未正确写入hadoop主cloudera manager连接器,则必须更改为正确的ip
在所有这些之后,只需返回到cloudera manager的自动安装并再次运行,一切都会很好:)
您必须围绕我们的合同cloudera支持进行所有安装(这是他们的业务):)
当我在declouderacdh4.x和sorl中遇到这个问题时,这一切对我来说都很好
当做
izkcnapc2#
转到此链接:http://www.cloudera.com/documentation/enterprise/5-7-x/topics/cm_ig_mysql.html
转到这个主题:安装mysql jdbc驱动程序
按照说明操作。最后重新启动配置单元服务
库马尔泰铢