本文主要记录docker下安装单机版cloudera的详细流程,方便大家日常工作的简单测试。

首先需要先拉取docker镜像,镜像大小大概4.4G,下载时间比较长(如果没用动静,可能需要):

docker pull cloudera/quickstart

保姆级教程:docker下安装CDH(单机版)_cdh

拉取成功之后,可以从镜像列表看到记录:

docker images |grep cloud

保姆级教程:docker下安装CDH(单机版)_大数据_02

接下来可以启动cdh的容器(注意:下面-v /etc/localtime:/etc/localtime:ro可以根据用户自己的系统去配置或者省略不写,主要解决容器时间与宿主主机时间不一致的问题。)

docker run \
--hostname=quickstart.cloudera \
--privileged=true -t -i \
-v /etc/localtime:/etc/localtime:ro \
-p 8888:8888 -p 10000:10000 -p 10020:10020 -p 11000:11000 -p 18080:18080 \
-p 18081:18081 -p 18088:18088 -p 19888:19888 -p 21000:21000 -p 21050:21050 \
-p 2181:2181 -p 25000:25000 -p 25010:25010 -p 25020:25020 -p 50010:50010 \
-p 50030:50030 -p 50060:50060 -p 50070:50070 -p 50075:50075 -p 50090:50090 \
-p 60000:60000 -p 60010:60010 -p 60020:60020 -p 60030:60030 -p 7180:7180 -p 7183:7183 \
-p 7187:7187 -p 80:80 -p 8020:8020 -p 8032:8032 -p 802:8042 -p 8088:8088 -p 8983:8983 -p 9083:9083 \
cloudera/quickstart /usr/bin/docker-quickstart

保姆级教程:docker下安装CDH(单机版)_cdh_03

启动容器成功之后,cdh并没有真正启动,需要进入容器去启动(备注:下面的3dc308a6f3eb为容器的id):

# docker ps 去查询启动的容器
docker exec -it 3dc308a6f3eb bash

进入容器后,看看那些java服务开启了:

jps

保姆级教程:docker下安装CDH(单机版)_cdh_04

可以看到不少的组件都启动了,这些组件,我们可以通过启动Cloudera Manager来管理,命令如下:

sudo /home/cloudera/cloudera-manager --express --force

启动时间较长,约10分钟,启动成功后如下:

保姆级教程:docker下安装CDH(单机版)_cdh_05

退出,配置hosts文件(cdh里面的组件跳转到各自的WebUI是使用到了这个域名):

[root@quickstart /]# exit
sudo vi /etc/hosts

添加:

127.0.0.1 quickstart.cloudera

浏览器访问:http://127.0.0.1:7180/

保姆级教程:docker下安装CDH(单机版)_cloudera_06

可以看到能正常打开cloudera了,进入登录页面(账号密码均为:cloudera),登录成功后如下:

保姆级教程:docker下安装CDH(单机版)_docker_07

这么一看,似乎界面有点不正常,我们在容器里输入继续输入jps

保姆级教程:docker下安装CDH(单机版)_cloudera_08

可以看到很多组件都关闭了,这个可以理解,但是为什么时间不对呢?点击hosts,进去看,发现Clock关闭了,也就是NTP service没启动:

保姆级教程:docker下安装CDH(单机版)_容器化技术_09

在容器里面继续开启NTP服务:

service ntpd start

保姆级教程:docker下安装CDH(单机版)_cdh_10

等待几分钟,可以看到界面正常了(虽然有些组件标黄了,其实是警告,主要建议主机是多个节点,没多大影响):

保姆级教程:docker下安装CDH(单机版)_cloudera_11

我们这里启动一个HDFS看看:

保姆级教程:docker下安装CDH(单机版)_docker_12

启动成功后,进入HDFS,点击它的WebUI按钮,可以看到能正常显示了:

保姆级教程:docker下安装CDH(单机版)_cloudera_13

到这里,博主已经详细地讲解了在docker下安装cdh的完整流程,希望能帮助到大家,谢谢大家的阅读,最后附上参考资料:

本文完!