TL;DR

  • 场景: 3 节点(h121/122/123)资源吃紧环境,部署 Apache Kylin 3.1.1(HBase1.x 版)
  • 结论: 通过环境变量与软链补齐、修正 HADOOP_CONF_DIR、按序启动组件,成功启动并登录 Kylin(7070)
  • 产出: 完整命令序列、版本矩阵(已验证)、错误速查卡(常见症状→定位→修复)

版本矩阵

组件/包名版本已验证说明
Apache Kylin3.1.1 (apache-kylin-3.1.1-bin-hbase1x)来自 archive.apache.org,运行于 h122,Web 端口 7070,默认 ADMIN/KYLIN(大写)
Hadoop2.9.2HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop;先启 HDFS,再启 YARN;HADOOP_CLASSPATH=hadoop classpath
Hive2.3.9独立启动 Metastore(9083),日志 /tmp/metastore.log
HBase1.3.1hbase.zookeeper.quorum 仅填主机名;三节点协同启动
Spark2.4.5 (without-hadoop, Scala 2.12)作为依赖配置软链;未跑计算作业
ZooKeeper版本未记录(三节点)各节点 zkServer.sh start

集群规划

注意:要求 HBase 的 hbase.zookeeper.quorum 值必须只能是 host1、host2 这种,不允许 host1:2181、host2:2181 这种。

配置 hbase-site.xml:

cd /opt/servers/hbase-1.3.1/conf
vim hbase-site.xml

项目下载

下载地址:

https://archive.apache.org/dist/kylin/

使用版本:

https://archive.apache.org/dist/kylin/apache-kylin-3.1.1/apache-kylin-3.1.1-bin-hbase1x.tar.gz

下载命令:

cd /opt/software
wget https://archive.apache.org/dist/kylin/apache-kylin-3.1.1/apache-kylin-3.1.1-bin-hbase1x.tar.gz

解压移动

cd /opt/software
tar -zxvf apache-kylin-3.1.1-bin-hbase1x.tar.gz

移动到 servers 目录:

mv apache-kylin-3.1.1-bin-hbase1x /opt/servers/

环境变量

vim /etc/profile

加入 Kylin 的环境变量:

export KYLIN_HOME=/opt/servers/apache-kylin-3.1.1-bin-hbase1x
export PATH=$PATH:$KYLIN_HOME/bin

刷新环境变量:

source /etc/profile

依赖组件

cd $KYLIN_HOME/conf

# 创建软链
ln -s $HADOOP_HOME/etc/hadoop/hdfs-site.xml hdfs-site.xml
ln -s $HADOOP_HOME/etc/hadoop/core-site.xml core-site.xml
ln -s $HBASE_HOME/conf/hbase-site.xml hbase-site.xml
ln -s $HIVE_HOME/conf/hive-site.xml hive-site.xml
ln -s $SPARK_HOME/conf/spark-defaults.conf spark-defaults.conf

配置环境

修改 kylin.sh:

cd $KYLIN_HOME/bin
vim kylin.sh

需要写入这些依赖,防止后续报错:

export HADOOP_HOME=/opt/servers/hadoop-2.9.2
export HIVE_HOME=/opt/servers/apache-hive-2.3.9-bin
export HBASE_HOME=/opt/servers/hbase-1.3.1
export SPARK_HOME=/opt/servers/spark-2.4.5-bin-without-hadoop-scala-2.12

修正 HADOOP_CONF_DIR(常见问题):

# 修正 Flink YARN 配置
# export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_CLASSPATH=`hadoop classpath`

检查依赖

$KYLIN_HOME/bin/check-env.sh

如果报错,检查 HADOOP_CONF_DIR 是否正确配置,然后重新自检。


启动集群

ZooKeeper

启动 h121 h122 h123 集群模式,每个节点都运行:

zkServer.sh start

HDFS

启动 h121(检查确认):

start-dfs.sh

YARN

启动 h121(检查确认):

start-yarn.sh

HBase

启动 h121(检查确认):

start-hbase.sh

Metastore

启动 h121 即可:

nohup hive --service metastore > /tmp/metastore.log 2>&1 &

history server

启动 h121 即可:

mr-jobhistory-daemon.sh start historyserver

Kylin

启动 h122:

kylin.sh start

节点详情

h121

  • Metastore
  • Zookeeper
  • HBase
  • HDFS
  • YARN
  • Hadoop

h122

  • YARN
  • ZooKeeper
  • HBase
  • Kylin
  • HDFS

h123

  • YARN
  • HBase
  • ZooKeeper
  • Hadoop
  • HDFS

启动结果

访问地址:

http://h122.wzk.icu:7070/kylin/login

登录信息(默认大写):

  • 账号:ADMIN
  • 密码:KYLIN

错误速查

症状根因定位修复
check-env.sh 自检失败,提示找不到 Hadoop 配置HADOOP_CONF_DIR 指向 $HADOOP_HOME 而非 …/etc/hadoop运行自检脚本输出 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop && export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop && export HADOOP_CLASSPATH=\hadoop classpath`source /etc/profile` 重新自检
Kylin 启动后连接 HBase 报 ZK 相关异常hbase.zookeeper.quorum 误写成 host1:2181,host2:2181将 quorum 改为仅主机名(如 host1,host2),重启 HBase 与 Kylin
访问 :7070 无响应/拒连Kylin 未成功拉起;或防火墙/端口未放行ps -ef 检查进程
各类 “No FileSystem for scheme: hdfs”/找不到配置$KYLIN_HOME/conf 缺少软链到 Hadoop/HBase/Hive/Spark 配置目录检查 $KYLIN_HOME/conf 依照文中命令补齐软链并重启
Hive Metastore 连接拒绝/NoSuchObjectException未启动 Metastore 或 9083 被占用检查 /tmp/metastore.lognetstat -lntp
登录失败/账号密码不对账号密码大小写错误或自定义覆盖使用默认大写 ADMIN/KYLIN;如改过,在 conf 内确认账号策略并重置
启动时报 JDK 版本不兼容(常见于旧栈)使用了非 JDK8切换至 JDK8 并确保 JAVA_HOME 与 PATH 指向一致

总结

本文详细记录了 Apache Kylin 3.1.1 在 Hadoop 2.9/Hive 2.3/HBase 1.3 环境下的最小可用部署过程,包括:

  1. 环境准备与版本选择
  2. 软链配置
  3. 环境变量设置
  4. 集群组件按序启动
  5. 常见错误排查与修复

通过本文的步骤,可以成功在资源受限的三节点环境中部署并运行 Kylin,实现亚秒级的 OLAP 查询。