Bootstrap

hive连接mysql报错:Unknown version specified for initialization: 3.1.0

分享下一些报错的可能原因吧

1.要开启hadoop

命令:start-all.sh

2.检查 hive-site.xml 和 hive-env.sh。

hive-site.xml中应设置自己mysql的用户名和密码

我的hive-site.xml如下:

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>                  #自己mysql的用户名
  </property>

  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>                #自己mysql的密码
  </property>

  <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>node1</value>
  </property>

  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://node1:9083</value>
  </property>

  <property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
  </property>

</configuration>

 我的 hive-env.sh 如下:

export HADOOP_HOME=/export/server/hadoop
export HIVE_CONF_DIR=/export/server/hive/conf
export HIVE_AUX_JARS_PATH=/export/server/hive/lib

3.hive/scripts/metastore/upgrade目录下是否有mysql文件夹

出现原因:你可能会因为mysql版本问题去下载新的mysql,在卸载旧的mysql时使用了

find / -name mysql,然后你一顿删除,却没注意到把hive里的mysql文件也删掉了

解决方法:再去解压一个hive压缩文件,将mysql文件夹放到这个目录下

;