您的位置:首页 > 产品设计 > UI/UE

解决Hive installation issues: Hive metastore database is not initialized

2016-06-14 20:30 615 查看
I tried to install hive on a raspberry pi 2. I installed Hive by uncompress zipped Hive package and configure $HADOOP_HOME and $HIVE_HOME manually under hduser user-group I created. When running hive, I got the following error message: hiveERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlyingdatabase in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for MySQL)So I ran the command suggested in the above error message: schematool -dbType derby -initSchema I got the error message:Error: FUNCTION 'NUCLEUS_ASCII' already exists. (state=X0Y68,code=30000) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! * schemaToolfailed *It seems there aren't any helpful information when I try to google this error online. Any help or any explanation on how Hive works with Derby would be appreciated!answer:After installing hive, if the first thing you did was run hive, hive attempted to create/initialize the metastore_db, but apparently might not get it right. On that initial run, maybe you saw your error:
Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql)
Running hive, even though it fails, creates a metastore_db directory in the directory from which you ran hive:
ubuntu15-laptop: ~ $>ls -l |grep meta
drwxrwxr-x 5 testuser testuser 4096 Apr 14 12:44 metastore_db
So when you then tried running
ubuntu15-laptop: ~ $>schematool -initSchema -dbType derby(或者mysql)
The metastore already existed, but not in complete form.Soooooo the answer is:Before you run hive for the first time, runschematool -initSchema -dbType derby(或者mysql)
If you already ran hive and then tried to initSchema and it's failing:mv metastore_db metastore_db.tmpRe runschematool -initSchema -dbType derby(或者mysql)Run hive again**Also of note: if you change directories, the metastore_db created above won't be found! I'm sure there's a good reason for this that I don't know yet because I'm literally trying to use hive for the first time today. Ahhh here's information on this: metastore_dbcreated wherever I run Hive
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: