2016-03-31 20 views
0

çalışırken hata veriyor this eğitimini kullanarak HIVE'ı yükledim. Ben folowing commadHive yüklendi ancak

hive

çalıştırdığınızda Ama bu hatayı

SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/lib/hive/apache-hive-2.0.0-bin/lib/hive-jdbc-2.0.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/hive/apache-hive-2.0.0-bin/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] Logging initialized using configuration in jar:file:/usr/lib/hive/apache-hive-2.0.0-bin/lib/hive-common-2.0.0.jar!/hive-log4j2.properties Thu Mar 31 13:11:06 IST 2016 Thread[main,5,main] java.io.FileNotFoundException: derby.log (Permission denied) Thu Mar 31 13:11:06 IST 2016 Thread[main,5,main] Cleanup action starting ERROR XBM0H: Directory /usr/lib/hive/apache-hive-2.0.0-bin/metastore_db cannot be created. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.services.monitor.StorageFactoryService$10.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(Unknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)

ve diğer birçok istisnaları olsun. çünkü öyle

DÜZENLEME 1 Bu 2 ans bu soruya wer DÜZENLEME değil altındadır

http://postimg.org/image/vloi2vneh/ gibi benim conf klasörü göründüğünü ancak sohbetlerinde kovanı-site.xml dosyasını

bulamıyor çok uzun

cevap

2

Çıktı mesajında ​​göründüğü gibi, yerel metastore Derby veritabanını kullanıyorsunuz ve varsayılan olarak konumu /usr/lib/hive/apache-hive-2.0.0-bin/metastore_db, ancak görünüşe göre t üzerine yazma izniniz yok. şapka dizini

Metastore dizinini, yazma izninizin olduğu bir yere değiştirin. Eğer hive-site.xml değiştirme izniniz yoksa, içeri kovanı-site.xml dosyasını koyabilirsiniz

<property> 
    <name>javax.jdo.option.ConnectionURL</name> 
    <value>jdbc:derby:;databaseName=/PATH/TO/NEW/METASTORE/DIR/metastore_db;create=true</value> 
    <description>JDBC connect string for a JDBC metastore</description> 
</property> 

:

hive-site.xml eklenti (ya modifiy) aşağıdaki özellik de, metastore dizinin konumunu değiştirmek için Örneğin bir dizin $HOME/hive-config, varsayılan kovan-site.xml kopyalayarak başlayabilir ve sonra değiştirebilirsiniz. Sonra kovanı şu şekilde başlatın:

$ cp /usr/lib/hive/apache-hive-2.0.0-bin/conf/hive-default.xml.template $HOME/hive-config/hive-site.xml 
###Modify the new hive-site.xml as mentioned above, then: 
$hive --config $HOME/hive-config/ 
+0

HBASE kullanmak istediğim için derbi kullanmak istemiyorum, bu yüzden ilk önce HBASE'i kurmalıyım ve sonra bu hatayı düzeltmeliyim? –

+0

Sanırım yanlış anladım. Derby, Hive tablolarınız hakkında meta verilerinizin olduğu metastore'dur ve çalışmak istediğiniz gerçek verilerle ilgisi yoktur. Metastore veritabanı ya Derby ya da biri olabilir: MySQL, Postgres, Oracle ya da MS SQL Server https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin#AdminManualMetastoreAdmin-SupportedBackendDatabasesforMetastore – user1314742

+0

Hive HBase verileriyle birlikte kullanmak için , başka bir soru :) Eğer bir başlangıç ​​için burada bir göz atabilirsiniz (ama tabii ki sizin için sorun çözmeniz gerekir :)): https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration. Hatasız HBase ile ilgili değil, ama tabiki HBase – user1314742