摘要:安裝環(huán)境依賴于大數(shù)據(jù)平臺(tái),安裝部署之前確認(rèn),大數(shù)據(jù)平臺(tái)已經(jīng)安裝。
0x01 Kylin安裝環(huán)境
Kylin依賴于hadoop大數(shù)據(jù)平臺(tái),安裝部署之前確認(rèn),大數(shù)據(jù)平臺(tái)已經(jīng)安裝Hadoop, HBase, Hive。
1.1 了解kylin的兩種二進(jìn)制包預(yù)打包的二進(jìn)制安裝包:apache-kylin-1.6.0-bin.tar.gz
特別二進(jìn)制包:apache-kylin-1.6.0-HBase1.x-bin.tar.gz
說明:特別二進(jìn)制包是一個(gè)在HBase 1.1+環(huán)境上編譯的Kylin快照二進(jìn)制包;安裝它需要HBase 1.1.3或更高版本,否則之前版本中有一個(gè)已知的關(guān)于fuzzy key過濾器的缺陷,會(huì)導(dǎo)致Kylin查詢結(jié)果缺少記錄:HBASE-14269。此外還需注意的是,這不是一個(gè)正式的發(fā)布版(每隔幾周rebase KYLIN 1.3.x 分支上最新的改動(dòng)),沒有經(jīng)過完整的測試。
0x02 安裝部署 2.1 下載可以選擇自己需要的版本進(jìn)行下載,這里下載的是pache-kylin-1.6.0-bin.tar.gz
2.2 安裝$ tar -zxvf apache-kylin-1.6.0-bin.tar.gz $ mv apache-kylin-1.6.0 /home/hadoop/cloud/ $ ln -s /home/hadoop/cloud/apache-kylin-1.6.0 /home/hadoop/cloud/kylin2.3 配置環(huán)境變量
在/etc/profile里配置KYLIN環(huán)境變量和一個(gè)名為hive_dependency的變量
# vim /etc/profile //追加 export KYLIN_HOME=/home/hadoop/kylin export PATH=$PATH:$ KYLIN_HOME/bin export hive_dependency=/home/hadoop/hive/conf:/home/hadoop/hive/lib/*:/home/hadoop/hive/hcatalog/share/hcatalog/hive-hcatalog-core-2.0.0.jar
使配置文件生效
# source /etc/profile # su hadoop $ source /etc/profile
這個(gè)配置需要在從節(jié)點(diǎn)master2,slave1,slave2上同時(shí)配置,因?yàn)閗ylin提交的任務(wù)交給mr后,hadoop集群將任務(wù)分發(fā)給從節(jié)點(diǎn)時(shí),需要hive的依賴信息,如果不配置,則mr任務(wù)將報(bào)錯(cuò)為: hcatalogXXX找不到。
2.4 配置kylin.sh$ vim ~/cloud/kylin/bin/kylin.sh //顯式聲明 KYLIN_HOME export KYLIN_HOME=/home/Hadoop/kylin //在HBASE_CLASSPATH_PREFIX中顯示增加$hive_dependency依賴 export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX2.5 檢查環(huán)境是否設(shè)置成功
$ check-env.sh KYLIN_HOME is set to /home/hadoop/kylin2.6 配置kylin.properties
進(jìn)入conf文件夾,修改kylin各配置文件kylin.properties如下
$ vim ~/cloud/kylin/conf/kylin.properties kylin.rest.servers=master:7070 #定義kylin用于MR jobs的job.jar包和hbase的協(xié)處理jar包,用于提升性能。 kylin.job.jar=/home/hadoop/kylin/lib/kylin-job-1.6.0-SNAPSHOT.jar kylin.coprocessor.local.jar=/home/hadoop/kylin/lib/kylin-coprocessor-1.6.0-SNAPSHOT.jar2.7 配置kylin_hive_conf.xml和kylin_job_conf.xml
將kylin_hive_conf.xml和kylin_job_conf.xml的副本數(shù)設(shè)置為2
2.8 啟動(dòng)服務(wù)dfs.replication 2 Block replication
注意:在啟動(dòng)Kylin之前,先確認(rèn)以下服務(wù)已經(jīng)啟動(dòng)
hadoop的hdfs/yarn/jobhistory服務(wù)
start-all.sh mr-jobhistory-daemon.sh start historyserver
hive 元數(shù)據(jù)庫
hive --service metastore &
zookeeper
zkService.sh start
需要在每個(gè)節(jié)點(diǎn)上執(zhí)行,分別啟動(dòng)所有節(jié)點(diǎn)的zookeeper服務(wù)
hbase
start-hbase.sh
檢查hive和hbase的依賴
$ find-hive-dependency.sh $ find-hbase-dependency.sh
啟動(dòng)和停止kylin的命令
$ kylin.sh start $ kylin.sh stop
Web訪問地址: http://192.168.1.10:7070/kylin/login
默認(rèn)的登錄username/password 是 ADMIN/KYLIN
0x03 測試 3.1 測試Kylin自帶的sampleKylin提供一個(gè)自動(dòng)化腳本來創(chuàng)建測試CUBE,這個(gè)腳本也會(huì)自動(dòng)創(chuàng)建出相應(yīng)的hive數(shù)據(jù)表。運(yùn)行sample例子的步驟:
S1: 運(yùn)行${KYLIN_HOME}/bin/sample.sh腳本
$ sample.sh
關(guān)鍵提示信息:
KYLIN_HOME is set to /home/hadoop/kylin Going to create sample tables in hive... Sample hive tables are created successfully; Going to create sample cube... Sample cube is created successfully in project "learn_kylin"; Restart Kylin server or reload the metadata from web UI to see the change.
S2:在MYSQL中查看此sample創(chuàng)建了哪幾張表
select DB_ID,OWNER,SD_ID,TBL_NAME from TBLS;
S3: 在hive客戶端查看創(chuàng)建的表和數(shù)據(jù)量(1w條)
hive> show tables; OK kylin_cal_dt kylin_category_groupings kylin_sales Time taken: 1.835 seconds, Fetched: 3 row(s) hive> select count(*) from kylin_sales; OK Time taken: 65.351 seconds, Fetched: 1 row(s)
S4: 重啟kylin server 刷新緩存
$ kylin.sh stop $ kylin.sh start
S5:用默認(rèn)的用戶名密碼ADMIN/KYLIN訪問192.168.200.165:7070/kylin
進(jìn)入控制臺(tái)后選擇project為learn_kylin的那個(gè)項(xiàng)目。
S6: 選擇測試cube “kylin_sales_cube”,點(diǎn)擊“Action”-“Build”,選擇一個(gè)2014-01-01以后的日期,這是為了選擇全部的10000條測試記錄。
選擇一個(gè)生成日期
點(diǎn)擊提交會(huì)出現(xiàn)重建任務(wù)成功提交的提示
S7: 監(jiān)控臺(tái)查看這個(gè)任務(wù)的執(zhí)行進(jìn)度,直到這個(gè)任務(wù)100%完成。
任務(wù)完成
切換到model控制臺(tái)會(huì)發(fā)現(xiàn)cube的狀態(tài)成為了ready,表示可以執(zhí)行sql查詢了
執(zhí)行過程中,在hive里會(huì)生成臨時(shí)表,待任務(wù)100%完成后,這張表會(huì)自動(dòng)刪除
please make sure user has the privilege to run hbase shell
檢查hbase環(huán)境變量是否配置正確。重新配置后問題解決。
參考:http://www.jianshu.com/p/632b...
Kylin安裝問題--/home/hadoop-2.5.1/contrib/capacity-scheduler/.jar (No such file or directory)
WARNING: Failed to process JAR [jar:file:/home/hadoop-2.5.1/contrib/capacity-scheduler/.jar!/] for TLD files java.io.FileNotFoundException: /home/hadoop-2.5.1/contrib/capacity-scheduler/.jar (No such file or directory) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:215) at java.util.zip.ZipFile.(ZipFile.java:145) at java.util.jar.JarFile.(JarFile.java:153) at java.util.jar.JarFile.(JarFile.java:90) at sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:93) at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69) at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:99) at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122) at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89) at org.apache.tomcat.util.scan.FileUrlJar.(FileUrlJar.java:41) at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:34) at org.apache.catalina.startup.TldConfig.tldScanJar(TldConfig.java:485) at org.apache.catalina.startup.TldConfig.access$100(TldConfig.java:61) at org.apache.catalina.startup.TldConfig$TldJarScannerCallback.scan(TldConfig.java:296) at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:258) at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:220) at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:269) at org.apache.catalina.startup.TldConfig.lifecycleEvent(TldConfig.java:565) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5412) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1081) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1877) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
其實(shí)這個(gè)問題只是一些小bug問題把這個(gè)腳本的內(nèi)容改動(dòng)一下就好了${HADOOP_HOME}/etc/hadoop/hadoop-env.sh把下面的這一段循環(huán)語句給注釋掉
#for f in $HADOOP_HOME/contrib/capacity-scheduler/*.jar; do # if [ "$HADOOP_CLASSPATH" ]; then # export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f # else # export HADOOP_CLASSPATH=$f # fi #done4.3 清理kylin空間
kylin.sh org.apache.kylin.storage.hbase.util.StorageCleanupJob --delete true
4.4 Permission deniedkylin cube測試時(shí),報(bào)錯(cuò):org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
解決辦法:
1 配置hdfs-site.xml
dfs.permissions false
2 在hdfs上給目錄/user 777的權(quán)限
$ hadoop fs -chmod -R 777 /user
0x05 參考鏈接http://kylin.apache.org/cn/do...
http://kylin.apache.org/cn/do...
http://www.cnblogs.com/avivay...
2017-02-17 19:51:39 星期五
update1: 2017-05-04 20:10:05 星期四
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/35865.html
摘要:基礎(chǔ)設(shè)施技術(shù)在這一領(lǐng)域經(jīng)受了最為殘酷的考驗(yàn)。支付寶在中國已經(jīng)無處不在。中國之外除了本土技術(shù),國外的一些技術(shù)也有了中國式規(guī)模的味道。在中國互聯(lián)網(wǎng)經(jīng)濟(jì)大環(huán)境中,有一些問題一定要考慮到,特別是信息審查方面的問題。 本文轉(zhuǎn)載自公眾號(hào)「AI前線」。 策劃編輯|Natalie 作者|Kevin Xu 譯者|無明 編輯|Debra AI 前線導(dǎo)讀:中國科技公司是典型的早期采用者——不是因?yàn)橼s時(shí)髦,而...
摘要:企業(yè)微信截圖企業(yè)微信截圖兼容最廣的一站式智能大數(shù)據(jù)平臺(tái)涵蓋了等眾多開源大數(shù)據(jù)組件,支持對(duì)這些組件進(jìn)行運(yùn)維中臺(tái)建設(shè)數(shù)據(jù)開發(fā)業(yè)務(wù)可視化等全棧式大數(shù)據(jù)開發(fā)運(yùn)維管理。通過一站式智能大數(shù)據(jù)平臺(tái)支持的等分布式運(yùn)算框架,可以高效的進(jìn)行機(jī)器學(xué)習(xí)應(yīng)用開發(fā)。背景在大數(shù)據(jù)業(yè)務(wù)系統(tǒng)中,所有技術(shù)棧生態(tài)均是圍繞著存儲(chǔ)進(jìn)行擴(kuò)展的,目前開源的主流存儲(chǔ)技術(shù)棧主要包含如下 3 種類型:· HDFS:Hadoop 系列套件,包含...
摘要:機(jī)器學(xué)習(xí)機(jī)器學(xué)習(xí)通過算法對(duì)大量數(shù)據(jù)進(jìn)行分析,挖掘出其中蘊(yùn)含的規(guī)律,并用于事物預(yù)測或者分類,有大量的計(jì)算需求。通過一站式智能大數(shù)據(jù)平臺(tái)支持的等分布式運(yùn)算框架,可以高效的進(jìn)行機(jī)器學(xué)習(xí)應(yīng)用開發(fā)。在大數(shù)據(jù)業(yè)務(wù)系統(tǒng)中,所有技術(shù)棧生態(tài)均是圍繞著存儲(chǔ)進(jìn)行擴(kuò)展的,目前開源的主流存儲(chǔ)技術(shù)棧主要包含如下 3 種類型:· HDFS:Hadoop 系列套件,包含 Hive、Hbase、Phoenix 等;· Ela...
閱讀 710·2021-11-18 10:02
閱讀 2248·2021-11-15 18:13
閱讀 3173·2021-11-15 11:38
閱讀 2962·2021-09-22 15:55
閱讀 3683·2021-08-09 13:43
閱讀 2452·2021-07-25 14:19
閱讀 2461·2019-08-30 14:15
閱讀 3457·2019-08-30 14:15