2016-04-05 17 views
1

CentOS 6.7'de HDP 2.4 kullanıyorum.Paket kurulumu sırasında Oozie/Sqoop jar konumu yapılandırılmamalıdır?

Kümeyi Ambari ile oluşturdum, böylece Oozie Ambari tarafından kuruldu ve yapılandırıldı.

Oozie/Sqoop'u jar dosyası konumuyla ilgili çalıştırırken iki hatam var. Sqoop işi Postgres'den kademeli olarak içe aktarıldığı için ilk ilgili postgresql-jdbc.jar. Ben HDF'ler için postgresql-jdbc.jar dosyayı eklendi ve workflow.xml kendisine çekti:

<file>/user/hdfs/sqoop/postgresql-jdbc.jar</file> 

Bu sorun çözüldü. Ancak ikinci hata kite-data-mapreduce.jar endişe görünüyor. Ancak, bu dosya için aynı şeyi:

<file>/user/hdfs/sqoop/kite-data-mapreduce.jar</file> 

sorunu çözmek için görünmüyor:

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SqoopMain], main() threw exception, org/kitesdk/data/DatasetNotFoundException java.lang.NoClassDefFoundError: org/kitesdk/data/DatasetNotFoundException

Bu otomatik ambarı tarafından yapılandırılmamış garip görünüyor ve kavanoz dosyaları kopyalamak zorunda hata almaya başladığımız zaman HDFS'ye

Bu doğru yöntem mi yoksa bazı yapılandırma adımlarını mı özledim?

+1

Bu kavanozları, iş akışınızın basepathının 'lib' dizinine eklemelisiniz. Basepath, workflow.xml dosyanızın depolandığı dizindir. Bu dizini oluşturmalı ve tüm özel kavanozları iş akışınızın ihtiyaçlarını karşılamanız gerekir. Bu onları sınıf yoluna yükler. – YoungHobbit

+0

@YoungHobbit, "lib" dizinini anlattığın gibi kullandım. Sonuç aynı. Önceden olduğu gibi yüklenen JAR dosyalarını görüyorum, ama yine de "org/kitesdk/data/DatasetNotFoundException" değerini aldım. Kök tablosunda yeni sütun yoksa bu istisna gerçekleşmez. Bu durumda, oozie işi planlandığı gibi çalışır ve sqoop sadece içe aktarılacak yeni satırların olmadığını söylüyor. Ancak tabloya yeni bir satır eklediğimde, bu özel durum oluşur. Garip, çünkü sqoop işini doğrudan (oozie yerine) çalıştırabilirim ve tamam çalışıyor. –

+1

Tamam, fark ettim ki aslında JAR'ı ekledikten sonra değişiklikler var. İstisna, 'org/kitesdk/data/mapreduce/DatasetKeyOutputFormat' idi ve JAR dosyasını ekledikten sonra' org/kitesdk/data/DatasetNotFoundException 'olur ve bu yüzden doğru yolda olduğumu görüyorum. Başka bir JAR dosyası belki de gereklidir. –

cevap

2

Bu, sınıf yolundaki eksik kavanozlar nedeniyle gerçekleşiyor.özelliğini job.properties dosyasında kullanmanızı öneririm. Tüm sqoop ile ilgili kavanozlar otomatik olarak sınıf yoluna eklenecektir. Sonra sadece iş akışı uygulama yolunun lib dizini için gereken özel jar ekleyin. Tüm sqoop ile ilgili kavanozlar /user/oozie/share/lib/lib_<timestamp>/sqoop/*.jar'dan eklenecektir.