1、进入hive/conf目录下,修改hive-default.xml: @baidu, I 修改的是 hive-site.xml
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.0.121:3307/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/hadoop/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
然后启动 bin/hive,执行show tables命令 这时报FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user 'root'@'fuyanqing.feinno.com' (using password: YES)。这是因为mysql不允许远程访问的问题,执行 grant all on *.* to 'root'@'%' identified by 'root';
然后再执行show tables命令,这时报:FAILED: Error in metadata: javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes。
这个问题是因为hive对mysql的UTF-8编码方式有限制,修改一下mysql的编码方式即可:alter database name character set latin1;
转载于:https://www.cnblogs.com/robbychan/p/3786641.html