代码之家  ›  专栏  ›  技术社区  ›  Ishpreet

无法实例化元数据。配置单元中的SessionHiveMetaStoreClient(Ubuntu 16.04)

  •  0
  • Ishpreet  · 技术社区  · 9 年前

    语义异常

    hive-site.xml

    <configuration>
    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://localhost/metastore?useSSL=true;</value>
      <description>metadata is stored in a MySQL server</description>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
      <description>MySQL JDBC driver class</description>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>hiveuser</value>
      <description>user name for connecting to mysql server</description>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>hivepassword</value>
      <description>password for connecting to mysql server</description>
    </property>
    </configuration>
    

    我还使用mysql创建了metastore数据库 this 链接

    Error Image

    1 回复  |  直到 9 年前
        1
  •  0
  •   Ishpreet    9 年前

    我想出了解决办法。Metastore没有实例化的问题是由于mysql中存在重复的键。而不是从mysql中获取配置单元模式。使用此选项: hive --service metastore

    我更新了

    <configuration>
     <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://localhost/metastore?useSSL=false</value>
      <description>metadata is stored in a MySQL server</description>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
      <description>MySQL JDBC driver class</description>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>Username</value>
      <description>user name for connecting to mysql server</description>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>Password</value>
      <description>password for connecting to mysql server</description>
    </property>
    <property>
     <name>datanucleus.autoCreateSchema</name>
     <value>true</value>
    </property>
    <property>
     <name>datanucleus.fixedDatastore</name>
     <value>true</value>
    </property>
    <property>
     <name>datanucleus.autoCreateTables</name>
     <value>True</value>
    </property>
    

    还要查看完整的堆栈跟踪使用 : schematool -initSchema -dbType mysql --verbose