用 Docker 运行 Kylin

为了让用户方便的试用 Kylin,以及方便开发者在修改了源码后进行验证及调试。我们提供了 Kylin 的 docker 镜像。该镜像中,Kylin 依赖的各个服务均已正确的安装及部署,包括:

  • JDK 1.8
  • Hadoop 2.7.0
  • Hive 1.2.1
  • HBase 1.1.2
  • Spark 2.3.1
  • Zookeeper 3.4.6
  • Kafka 1.1.1
  • MySQL 5.1.73
  • Maven 3.6.1

快速试用 Kylin

我们已将面向用户的 Kylin 镜像上传至 docker 仓库,用户无需在本地构建镜像,直接执行以下命令从 docker 仓库 pull 镜像:

  1. docker pull apachekylin/apache-kylin-standalone:3.0.1

pull 成功后,执行以下命令启动容器:

  1. docker run -d \
  2. -m 8G \
  3. -p 7070:7070 \
  4. -p 8088:8088 \
  5. -p 50070:50070 \
  6. -p 8032:8032 \
  7. -p 8042:8042 \
  8. -p 16010:16010 \
  9. apachekylin/apache-kylin-standalone:3.0.1

在容器启动时,会自动启动以下服务:

  • NameNode, DataNode
  • ResourceManager, NodeManager
  • HBase
  • Kafka
  • Kylin

并自动运行 $KYLIN_HOME/bin/sample.sh 及在 Kafka 中创建 “kylin_streaming_topic” topic 并持续向该 topic 中发送数据。这是为了让用户启动容器后,就能体验以批和流的方式的方式构建 Cube 并进行查询。

容器启动后,我们可以通过 “docker exec -it bash” 命令进入容器内。当然,由于我们已经将容器内指定端口映射到本机端口,我们可以直接在本机浏览器中打开各个服务的页面,如:

容器资源建议

为了让 Kylin 能够顺畅的构建 Cube,我们为 Yarn NodeManager 配置的内存资源为 6G,加上各服务占用的内存,请保证容器的内存不少于 8G,以免因为内存不足导致出错。

为容器设置资源方法请参考:


关于如何定制修改 Docker image,请参阅 Git 代码库的 kylin/docker