redhat 安装(redhat 安装docker)

redhat 安装(redhat 安装docker)p Kylin 的有些版本官方已经下架了 Docker Hub 上也没镜像了 所以需要自己搭建以下 为了以后更方便快捷地使用 就编写了一个更轻量级的 Dockerfile p 本次搭建使用的源码包来自华为云镜像站 里面有 Kylin 各个版本的二进制包

大家好,我是讯享网,很高兴认识大家。



 <p>Kylin的有些版本官方已经下架了&#xff0c;Docker Hub上也没镜像了&#xff0c;所以需要自己搭建以下&#xff0c;为了以后更方便快捷地使用&#xff0c;就编写了一个更轻量级的Dockerfile。</p> 

讯享网

本次搭建使用的源码包来自华为云镜像站,里面有Kylin各个版本的二进制包:

讯享网 https://repo.huaweicloud.com:8443/artifactory/apache-local/kylin/

以3.1.1版本为例,进入Kylin的官网可以找到安装指南Installation Guide | Apache Kylin,根据要求准备Kylin的依赖环境:


讯享网

检查 Hive 的可用版本。可以访问 Apache Hive 官方存档页面,查看最新的可用版本:

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

以此类推,找到HBase和Hadoop的下载链接:

讯享网 https://archive.apache.org/dist/hbase/  https://archive.apache.org/dist/hadoop/common/

需要注意的是一定要根据官方指南进行版本对齐。

因为需要反复调试,所以记录下一些基本的调试命令:

 # 构建容器  docker build -t kylin:3.1.1 .  # 运行  sudo docker run -d --name kylin -p 7070:7070 kylin:3.1.1  # 进入容器  docker exec -it kylin /bin/bash  # 查看日志  docker logs kylin  # 停止容器  sudo docker stop kylin  # 删除容器  sudo docker rm kylin  # 查看镜像  docker images  # 删除镜像  docker rmi ID  # 删除所有镜像  docker rmi $(docker images -q) --force  # 清除缓存  docker system prune -a

解决:

讯享网 # 使用 openjdk:8-jdk-alpine 作为基础镜像  FROM openjdk:8-jdk-alpine  # 设置工作目录  WORKDIR /root  # 默认运行 bash  CMD ["/bin/sh"]

构建并进入容器:

 docker build -t openjdk-alpine .  sudo docker run -it openjdk-alpine

查找JAVA的真实路径并修改好Dockerfile。

解决:修改/conf/kylin.properties:

讯享网 # 使用本地文件系统路径  kylin.engine.spark-conf.spark.eventLog.dir=file:///tmp/kylin/spark-history  kylin.engine.spark-conf.spark.history.fs.logDirectory=file:///tmp/kylin/spark-history

重新打包:

 tar -czvf apache-kylin-3.1.1-bin-hbase1x.tar.gz apache-kylin-3.1.1-bin-hbase1x

别忘了创建相应的目录:

讯享网
 2024-11-08 10:35:03,089 INFO [main-SendThread(localhost:2181)] zookeeper.ClientCnxn:975 : Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)  2024-11-08 10:35:03,091 WARN [main-SendThread(localhost:2181)] zookeeper.ClientCnxn:1102 : Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect  java.net.ConnectException: Connection refused   at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)   at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716)   at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)   at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)

解决:HBase没启动成功,要把hbase放在启动命令CMD里。

设置容器启动时执行的命令,先启动hbase,再起hadoop,最后起kylin,最后使用死循环挂起容器

解决:复制一份默认配置到同目录下。

讯享网
 2024-11-08 10:41:12,357 INFO [close-hbase-conn] hbase.HBaseConnection:137 : Closing HBase connections...  2024-11-08 10:41:12,357 INFO [close-hbase-conn] client.ConnectionManager$HConnectionImplementation:1676 : Closing zookeeper sessionid=0x0  2024-11-08 10:41:12,457 INFO [close-hbase-conn] zookeeper.ZooKeeper:684 : Session: 0x0 closed  2024-11-08 10:41:12,457 INFO [main-EventThread] zookeeper.ClientCnxn:512 : EventThread shut down  ERROR: Unknown error. Please check full log.

解决:替换hive-site.xml中的占位符为本地路径,否则Hive还是启动不了

讯享网

当然如果觉得麻烦,还可以用awk命令一键执行上述操作:

 

最后别忘了创建相应的临时目录:

讯享网

解决:版本不对,确认版本对齐。

如果还是不成功,可以直接使用我的Dockerfile:

 

最终成功执行的、完整的Docker Logs,仅供参考:

讯享网

刚才只是以3.1.1版本为例,其实其他版本也是同理,例如调试后可运行的2.3.1版本的Dockerfile:

 


小讯
上一篇 2025-06-15 13:53
下一篇 2025-05-13 16:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/206647.html