前言
在hadoop-ha中集成Apache-Atlas管理元數據報錯處理
報錯
Factory method ‘get’ threw exception; nested exception is
java.lang.IllegalArgumentException: Could not instantiate
implementation:
com.thinkaurelius.titan.diskstorage.hbase.HBaseStoreManager
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:479)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
關鍵報錯位置at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:241) ... 106 more Caused by: java.net.UnknownHostException: mycluster ... 120 more
原因
atlas依賴於Hbase管理元數據,solr管理index,kafka或者api/rest進行數據交互,在加載hbase配置時無法讀取hbase-site.xml中配置的mycluster(爲hadoop裏集羣名稱)!
hbase-site.xml
解決方案
在${atlas_home}/conf/hbase中我們將外部hbase的conf目錄軟鏈接到了這個裏面!
只需要再進入這個軟鏈接conf目錄裏,把hdfs-site和core-site拿過來就行,因爲啓動atlas時,他會啓動內部的hbase,默認是不啓動,所以配置啓動外部hbase時他會讀這裏的配置信息,所以配上以後就可以解決!
總結
啓動atlas必要的組件,因爲需要kafka那麼就必須要zk,依賴於hbase,hbase依賴於HDFS。如果要管理hive的元數據,提前啓動hive的metastore服務。如果是後面搭建的atlas那麼需要手動去導入hive數據!