Kylin下載安裝及部分報錯解決


1.Kylin下載和安裝

1.1 Kylin下載

Kylin 下載地址
慢速度:https://archive.apache.org/dist/kylin/
快速度:https://repo.huaweicloud.com/apache/kylin/

1.2 Kylin安裝

Kylin解壓

tar -zxvf apache-kylin-2.6.5-bin-hadoop3.tar.gz -C /data/soft/

 

修改文件夾名

mv apache-kylin-2.6.5-bin-hadoop3 kylin_2.6.5

 

1.3 配置Kylin相關環境變量

export JAVA_HOME=/usr/local/jdk1.8
export HADOOP_HOME=/data/soft/hadoop-3.2.0
export HADOOP_CONF_DIR=/data/soft/hadoop-3.2.0/etc/hadoop
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6
export HIVE_HOME=/data/soft/hive-3.1.2
export HBASE_HOME=/usr/local/hbase-2.1.0
export KAFKA_HOME=/usr/local/kafka_2.12
export SQOOP_HOME=/data/soft/sqoop-1.4.7
export SCALA_HOME=/usr/local/scala-2.11.12
export SPARK_HOME=/data/soft/spark
export FLINK_HOME=/data/soft/flink-1.12.5
export KYLIN_HOME=/data/soft/kylin_2.6.5

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin:$KAFKA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$FLINK_HOME/bin:$KYLIN_HOME/bin:$PATH

 

1.4 修改配置文件

修改kylin.properties配置文件,此步驟如果是單節點時可以忽略掉。

# 配置節點類型(kylin節點模式分為all、query(查詢模式)、job(任務構建模式))
kylin.server.mode=all
# kylin集群節點配置(這里選一台)
kylin.server.cluster-servers=bigdata02:7070

如果是集群多台節點配置的話,只能是由一台是job/all,其他台是query模式。

注意:其中主節點選擇all,從節點選擇query.

2. Kylin啟動

2.1 啟動依賴

使用kylin的前提是,kylin要有所有東西的權限。
第一步:zookeeper啟動
第二步:hadoop集群啟動,jobhistoryserver啟動

# 啟動集群
start-all.sh
# 啟動jobhistory
mr-jobhistory-daemon.sh start historyserver

 

第三步:HBase啟動

# 進入HBase HOME目錄
cd /usr/local/hbase-2.1.0/bin/
# 啟動HBase集群
 ./start-hbase.sh

 

第四步:Hive啟動

# 啟動hiveserver2
nohup hive --service hiveserver2 &

 

啟動mysql相關服務(hive元數據)

service mysqld start

 

所有的依賴基本上啟動完畢了,可以通過check-env.sh進行檢查

# $KYLIN_HOME/bin
cd /data/soft/kylin_2.6.5/bin
./check-env.sh

 

Could not find or load main class org.apache.hadoop.hbase.util.GetJavaProperty

解決方案:hbase腳本 CLASSPATH中添加HBase lib目錄。

cd /usr/local/hbase-2.1.0/bin/
vi hbase
# 找到這一行(大約是158行)
CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
# 修改為:(根據自己的路徑地址)
CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/usr/local/hbase-2.1.0/lib/*

 

修改完畢后,check-env.sh基本上會校驗通過。

2.2 啟動Kylin

啟動kylin腳本

# 進入$KYLIN_HOME/bin目錄
cd /data/soft/kylin_2.6.5/bin
# 執行啟動腳本
./kylin.sh start

 

報錯:Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=2, exceptions:

Exception in thread "main" java.lang.IllegalArgumentException: Failed to find metadata store by url: kylin_metadata@hbase
        at org.apache.kylin.common.persistence.ResourceStore.createResourceStore(ResourceStore.java:99)
        at org.apache.kylin.common.persistence.ResourceStore.getStore(ResourceStore.java:111)
        at org.apache.kylin.rest.service.AclTableMigrationTool.checkIfNeedMigrate(AclTableMigrationTool.java:99)
        at org.apache.kylin.tool.AclTableMigrationCLI.main(AclTableMigrationCLI.java:43)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.kylin.common.persistence.ResourceStore.createResourceStore(ResourceStore.java:92)
        ... 3 more
Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=2, exceptions:

 

 

 

解決方案:檢查HBase啟動是否正常。節點HMaster和HRegionServer是否正常啟動。 啟動完畢HBase后,重啟執行./kylin.sh start

當啟動后發現已經給出Web UI地址,則啟動腳本已完成,需進入$KYLIN_HOME/logs/kylin.log中查看相關輸出日志。

解決問題1:缺少derbyLocale 相關語言包? 解決方案:移步到maven中心倉庫,下載相關依賴jar. maven中心倉庫地址:https://search.maven.org/artifact. 根據報錯提示,將下載的jar包去掉版本信息,放到spark/jars目錄下。

/data/soft/spark-3.0.0-bin-hadoop3.2/jars

 

解決問題2:無法找到shims-0.7.45.jar?
將$SPARK_HOME/jar目錄下的shims-0.7.45.jar 按照報錯提供的位置,挪到$SPARK_HOME/jar/lib下。

解決問題3:/apache-kylin-2.6.2-bin/tomcat/conf/.keystore (No such file)?
進入kylin目錄下的tomcat下的conf,打開server.xml文件。

#進入SKYLIN_HOME/tomcat目錄
cd $KYLIN_HOME/tomcat 
# 編輯server.xml
vi conf/server.xml

 

將下面紅框部分注釋掉即可

解決問題4java.lang.ClassCastException: com.fasterxml.jackson.datatype.jsr310.JavaTimeModule cannot be cast to com.fasterxml.jackson.databind.Module? 由於出現jar包沖突的問題,會通過find-hive-dependency.sh找到hive和通過find-spark-dependency.sh中找到spark中的依賴,會導致與kylin中與jackson沖突,所以在找依賴的時候,需要過濾掉jackson文件。

解決方案:

  1. 進入kylin的bin目錄,修改find-hive-denpendency.sh中內容
vi find-hive-dependency.sh
# 在200行左右,添加 -name '*jackson*' !
hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*druid*' ! -name '*jackson*'  ! -name '*slf4j*' ! -name '*avatica*' ! -name '*c    alcite*' ! -name '*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'`
  1. vim find-spark-dependency.sh內容
# 在43行左右,添加 -name '*jackson*' !
spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*jackson*' ! -name '*slf4j*' ! -name '*calcite*' ! -name '*doc*' ! -na    me '*test*' ! -name '*sources*' ''-printf '%p:' | sed 's/:$//'`

 

  1. 刪除cache文件
rm -rf cache*.sh 

 

解決完上述報錯后,基本上就可以啟動正常.
登錄地址 http://bigdata02:7070/kylin/login.

用戶名ADMIN,密碼KYLIN(全大寫)。就可以正常登錄到Kylin中。
解決問題5:在導入數據源的時候,遇見了連接hive數據源報錯的問題?

分析:kylin直接hive查詢mysql中的元數據,在mysql中,沒有catalog_name,所以沒查詢到數據。
解決方案:通過第三方向hive發送(metastore端口)請求,獲取元數據。

  1. 向kylin中添加hive的配置,在conf目錄中新建hive-site文件夾
  
cd /data/soft/kylin_2.6.5/conf
# 創建hive_conf目錄
mkdir hive_conf

 

  1. 添加hive-site.xml中添加如下配置
vi hive-site.xml 

 

配置信息如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
   <property>
       <name>hive.metastore.uris</name>
       <value>thrift://bigdata02:9083</value>
   </property>
</configuration>

3.在find-hive-dependency.sh中,聲明hive的配置路徑。

# 大約55行左右
HIVE_CONF=/data/soft/kylin_2.6.5/conf/hive_conf

 

解決問題6: MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: 拒絕連接 (Connection refused).

Caused by: MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: 拒絕連接 (Connection refused)
    at org.apache.thrift.transport.TSocket.open(TSocket.java:185)
    at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:351)
    at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:219)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1424)
    at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:63)
    at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:73)
    at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2625)
    at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2644)
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:365)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:689)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:633)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

 

 

解決方案:需要先啟動元數據服務。在啟動hive

bin/hive --service metastore &

 

隨后就可以正常顯示hive中的數據

參考文檔:

  1. Kylin踩坑筆記 - 啟動 Kylin 報錯 org/apache/commons/configuration/ConfigurationException
  2. Kylin踩坑筆記 - 啟動Kylin出現Could not find or load main class org.apache.hadoop.hbase.util.GetJavaProperty
  3. MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent...
  4. Kylin常見問題匯總

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM