************************************************************************************************
首先,這是我博客園的第一篇記錄,終於加入了分享的隊伍,恭喜自己!!
************************************************************************************************
以下正文:
工作原因,最近開始學習Kylin,關於Apache Kylin的介紹可以參見中文官網:
1 http://kylin.apache.org/cn/
本篇主要記錄一下Kylin的安裝及我遇到的問題。
首先,Kylin的下載安裝很簡單,可以參考官網安裝文檔:
1 http://kylin.apache.org/cn/docs/install/index.html
其中包含了JDK,Hadoop,Hive,HBase等相關組件的版本要求,硬件要求以及安裝步驟。
如果是在已有JDK,Hadoop,Hive,HBase的環境下,最好先根據現有環境的組件版本去官網確定要使用的Kylin版本,然后再下載。
官網下載地址:
1 http://kylin.apache.org/cn/download/
下載,解壓,配置環境變量后,根據安裝文檔的指導運行環境檢測文檔:
$KYLIN_HOME/bin/check-env.sh
如果您的環境存在任何的問題,腳本將打印出詳細報錯信息。如果沒有報錯信息,代表您的環境適合 Kylin 運行。
環境檢測時我遇到了幾個HDFS權限問題:
於是天真的我手動創建了該路徑:
sudo -u hdfs hadoop fs -mkdir /kylin
讓我意外的是,之后出現了另一個同樣的問題:
我居然之前居然以為只會創建一個路徑而沒有其他寫操作,真不知道當時怎么想的。
打開check-env.sh來看,創建路徑的命令為:
hadoop ${hadoop_conf_param} fs -mkdir -p ...
后面還有幾個類似的行,將命令改為:
sudo -u hdfs hadoop ${hadoop_conf_param} fs -mkdir -p ...
即可解決。
OK,至此環境檢測完成。
下一步,啟動Kylin
sudo ./kylin.sh start
新的問題出現了:
問題出現在find-hive-dependency.sh中,把 hive_env=`hive ${hive_conf_properties} -e set 2>&1 | grep 'env:CLASSPATH'` 這一行注釋掉,加入下面幾行:
hive -e set >/tmp/hive_env.txt 2>&1 hive_env=`grep 'env:CLASSPATH' /tmp/hive_env.txt` hive_env=`echo ${hive_env#*env:CLASSPATH}` hive_env="env:CLASSPATH"${hive_env}
問題解決,原因應該是管道符,前面命令輸出的字符長度有限,詳情請參見:
https://www.cnblogs.com/langfanyun/p/10407881.html
再次啟動Kylin
沒錯
新問題:
在kylin.properties中kylin.env.hadoop-conf-dir的默認值為/etc/hadoop/conf,導致啟動Kylin在檢查Hive,HBase的依賴配置文件時找不到相關文件,所以需要根據自己的情況修改路徑。
第三次啟動Kylin
報錯
Permission denied: user=root, access=WRITE, inode="/user":hdfs:hdfs:drwxr-xr-x
解決方法:
$ hdfs dfs -mkdir /user/root $ hdfs dfs -chown root:root /user/root
第四次啟動Kylin
終於,啟動成功~~