not instantiate implementation: com.thinkaurelius.titan.diskstorage.hbase.HBaseStoreManager

前言

在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數據!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章