Hive問題まとめ

2560 ワード

転載url:http://blog.csdn.net/cjfeii/article/details/49363653
1 Canot execute statement:impossible to write to binary lognce BINLOG_FOREMAT=STATEMENT…Hiveを起動するとエラーが発生します。
Causeby:javax.jdo.JDOException:Couldnt obatain a new sequence:Canot execute statement:impossible towriteto binary logsince BINLOG_FOREMAT=STATEMENT and at least one table uses a storage engine limited to row-based loging.InnoDB is limited to row-logging when trance isolation level Ind COMMITTED.READ UNCOMMITTED.
Nested Throwables:
java.sql.SQLException:Canot execute statement:impossible towriteto binary logsince BINLOG_FOREMAT=STATEMENT and at least one table uses a storage engine limited to row-based loging.InnoDB is limited to row-logging when trance isolation level Ind COMMITTED.READ UNCOMMITTED.
この問題は、hiveのメタデータ記憶MySQLの構成が不適切であることに起因し、このように解決することができる。
mysql>setglobal binloguformat='MIXED'
2 For direct MetaStore DB connects,we don’t support retries at the client level.Hiveにテーブルを作成するとエラーが発生します。
FAILE D:Execution Errror、return code 1 from org.apphe.hadoop.hivel.ql.exc.DDLtask.MetaException(message:For direct Metastore DB connects,we don't supportries the.Met.Metrient.Mets.Mets.Mets.Mets.Mets.Mets.Message.Message.Message.Messag
これは文字セットの問題で、MySQLの文字セットを構成する必要があるからです。
mysql;alter database hivecharacterset latin 1;
3 HiveConf of name hive.metastore.local does not existHiveクライアントを実行すると、次のようなエラーが発生します。
WARN conf.HiveConf:HiveConfoname 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--------。
これはHivehdfs:/tmpディレクトリの権限を持っていないため、権限を与えられても良いです。
hadoop dfs-chmod-R 777/tmp
5 hive dropテーブルブルnameカードが死ぬ(長い間反応しない)
hiveでは、show tables、createなどのコマンドが正常に実行され、テーブルdrop table xを削除すると、引っ掛かりが発生します。
mysqlに入ります
show variables like'char'
見えます
本来ならば正しい。
後に発見されたのは、hiveデータベースを作った後で、最初の時間はcharacter_を持っていません。setdatabaseコードはutf 8からlating 1に変更されました。hiveに行ってcreateを作成しました。その後、character_を作りました。setdatabaseコードはutf 8からlatinに変更されました。
解決策:
mysqlでdrop hive
新たにcreate hiveを行います
コーディングを修正して、alter database hive character set latin 1
hive shellに入る
テーブルを作成します。dropテーブルは正常です。