1.Kylin启动过程中出错,进程一直阻塞在Retrieving hive dependency…
检查Kylin并未生成启动日志,用Kylin自带的check-env.sh脚本也未出现错误,用kill -9 {进程号} 杀掉kylin进程(在jps命令中显示为runjar),提示找不到hive-site.xml文件,建议另行配置HIVE_CONF,初步判断为HIVE_HOME配置有误,但是检查etc/profile文件后确认HIVE_HOME并无异常,突然想到以前没有配置HIVE_HOME时为了省事写过一个用绝对路径启动hive的脚本,此脚本名字为hive,并放在了/bin目录下,推测可能此脚本影响了kylin寻找Hive依赖时的HIVE_HOME环境变量(因为环境变量先扫描/bin目录下),删除此脚本后,重启Hadoop,yarn,hbase,zookeeper以及hive后启动kylin,问题解决
2.使用Kylin在cube的Build过程中第三步出错:
#3 Step Name: Extract Fact Table Distinct Columns
Data Size: 1.58 KB
Duration: 0.61 mins Waiting: 12 seconds
错误信息提示为:
java.net.ConnectException: to 0.0.0.0:10020 failed
TIPS:
MapReduce 的 JobHistory Server,这是一个独立的服务,可通过 web UI 展示历史作业日志,之所以将其独立出来,是为了减轻 ResourceManager 负担。JobHistory Server 将会分析作业运行日志,并展示作业的启动时间、结束时间、各个任务的运行时间,各种Counter数据等,并产生一个指向作业和任务日志的链接,其默认端口号为 19888。通常可以启动在一*立的机器上。
解决办法:10020 端口为Hadoop的历史服务器端口, hadoop的datanode需要访问namenode的jobhistory server,如果没有修改,则默认为0.0.0.0:10020,则可以修改mapred-site.xml文件:
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop102:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop102:19888</value>
</property>
配置完成后还要启动历史服务器
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver