转载url:http://blog.youkuaiyun.com/cjfeii/article/details/49363653
1 Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT…
当启动Hive
的时候报错:
Causedby: javax.jdo.JDOException: Couldnt obtain a new sequence (unique id) : Cannot execute statement: impossible towriteto binary logsince BINLOG_FORMAT = STATEMENT andat least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
NestedThrowables:
java.sql.SQLException: Cannot execute statement: impossibletowriteto binary logsince BINLOG_FORMAT = STATEMENT andat least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
这个问题是由于hive
的元数据存储MySQL
配置不当引起的,可以这样解决:
mysql>setglobal binlog_format='MIXED';
2 For direct MetaStore DB connections, we don’t support retries at the client level.
当在Hive
中创建表的时候报错:
FAILED: ExecutionError,return code 1from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections, we don't support retries at the client level.)
这是由于字符集的问题,需要配置MySQL
的字符集:
mysql> alter database hivecharacterset latin1;
3 HiveConf of name hive.metastore.local does not exist
当执行Hive
客户端时候出现如下错误:
WARN conf.HiveConf: HiveConfofname hive.metastore.localdoesnot exist
这是由于在0.10 0.11或者之后的HIVE版本 hive.metastore.local 属性不再使用。将该参数从hive-site.xml
删除即可。
4 Permission denied: user=anonymous, access=EXECUTE, inode=”/tmp”
在启动Hive
报如下错误:
(Permissiondenied: user=anonymous, access=EXECUTE, inode="/tmp":hadoop:supergroup:drwx------
这是由于Hive
没有hdfs:/tmp
目录的权限,赋权限即可:
hadoop dfs-chmod-R777 /tmp