侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

【有用的干货】大数据组件 All-in-One 的 Docker 镜像

2022-07-05 星期二 / 0 评论 / 0 点赞 / 65 阅读 / 6884 字

文章首发于公众号【大数据学徒】,感兴趣请搜索 dashujuxuetu 或者文末扫码关注。为了方便学习和开发,我写了一个 Dockerfile,把常见的大数据相关软件都装了进去并且做了基本的配置,目前

.

文章首发于公众号【大数据学徒】,感兴趣请搜索 dashujuxuetu 或者文末扫码关注。

.

为了方便学习和开发,我写了一个 Dockerfile,把常见的大数据相关软件都装了进去并且做了基本的配置,目前各个组件都可以正常使用,欢迎大家使用和反馈,我会长期维护,觉得有用请 Star。

.

目前包含的组件有:Hadoop、Hive (on Tez)、Hue、Spark、Flink、Zookeeper、Kafka、MySQL

镜像 Docker Hub 地址:hub.docker.com/repository/…

项目 Github 地址:github.com/iamabug/Big…

.

内容提要:

  1. 基本信息
  2. 启动说明
  3. 使用示例
    1. 使用 Hue 上传文件到 HDFS
    2. 运行 Flink on Yarn 的 WordCount 例子
  4. 构建说明

1. 基本信息

各个组件的版本信息如下(MySQL的 root 密码为 root):

组件版本
基础镜像ubuntu:18.04
Hadoop3.1.3
Spark2.4.4
Hive (on Tez)3.1.2
Tez0.9.2
Hue4.5.0
Flink1.9.1
Zookeeper3.5.6
Kafka2.3.1
MySQL5.7

2. 启动说明

镜像已经推送到Docker Hub,直接执行如下命令应当会开始拉取镜像:

docker run -it -p 8088:8088 -p 8888:8888 -h bigdata iamabug1128/bdp bash

或者 clone 本项目并执行 run-bop.sh 脚本。

.

8088 是 YARN 的 Web UI 端口,8888 是 Hue 的端口。

主机名必须指定为 bigdata。

.

进入镜像后,启动所有组件的命令:

/run/entrypoint.sh

或者,单独启动 Kafka:

/run/start_kafka.sh

查看进程,确认所有进程都已经启动:

root@bigdata:/# jps1796 ResourceManager1316 DataNode2661 RunJar1205 NameNode2662 RunJar3719 Jps1914 NodeManager1530 SecondaryNameNode523 QuorumPeerMain543 Kafka

除了 Hue 安装在 /usr/share/hue 、MySQL 安装在系统路径以外,其它所有的组件的安装在 /usr/local/ 目录下:

root@bigdata:/# ls /usr/local/      bin  etc  flink  games  hadoop  hive  include  kafka  lib  man  sbin  share  spark  src  tez  zookeeper

3. 使用示例

3.1 使用 Hue 上传文件到 HDFS

访问 localhost:8888 ,输入 admin, admin 登录 Hue,点击左侧 Files 导航按钮,出现文件浏览器页面:

点击右上角的 Upload 按钮,选择一个文件上传,上传后页面:

回到容器的命令行中,查看 /user/admin 目录:

说明上传确实成功了。

3.2 运行 Flink on Yarn 的 WordCount 例子

在命令行中切换到 /usr/local/flink 目录,执行 ./bin/flink run -m yarn-cluster -p 4 -yjm 1024m -ytm 4096m ./examples/batch/WordCount.jar

在浏览器中打开 http://localhost:8088,可以看到正在执行的 Flink 任务:

任务顺利完成:

4. 构建说明

目录结构如下:

BigDataParty $ tree               .├── Dockerfile├── README.md├── build.sh├── conf├── packages├── run-bdp.sh└── scripts

除了 README 和 Dockerfile 各文件目录简介如下:

  • build.sh:下载各组件的压缩包并执行 docker build
  • run-bdp.sh:运行构建好的镜像,并暴露 Hue 和 Yarn 的 Web 端口
  • conf:存放各个组件的配置文件,构建镜像时拷贝到各组件的目录下
  • packages:存放各个组件的压缩包,构建镜像时解压到 /usr/local 目录下
  • scripts:存放各个组件初始化和启动脚本,构建镜像时拷贝到 /run 目录下

5. 待续

写这个镜像的目的是为了方便自己平时使用(学习、测试、验证等等),以后还会继续完善,如果你有兴趣,欢迎加入我。

欢迎交流讨论,吐槽建议,分享收藏。

勤学似春起之苗,不见其增,日有所长辍学如磨刀之石,不见其损,日有所亏关注【大数据学徒】,用技术干货助你日有所长

.

.

广告 广告

评论区