利用 Docker 搭建单机的 Cloudera CDH 以及使用实践

想用 CDH 大礼包,于是先在 Mac 上和 Centos7.3 上分别搞个了单机的测试用。其实操作的流和使用到的命令差不多就一并说了:

首先前往官方下载包:

https://www.cloudera.com/downloads/quickstart_vms/5-13.html

如果使用 mac 并且安装 docker。 我们可以很轻松的使用 kitematic 来获取最新版本的 cloudera docker 镜像。只需要搜 cloudera/quickstar 即可这是地址:

https://hub.docker.com/r/cloudera/quickstart/

当我们下载好镜像之后就可以愉快的将进行加载起来。macos 基本是全程无脑,linux 稍微麻烦一点使用

docker import cloudera-quickstart-vm-5.13.0-0-beta-docker.tar

将镜像 import 进来。

然后使用命令启动就可以了。

Cloudera 的 docker 版本分成两部分启动。一方面是大礼包的启动 /usr/bin/docker-quickstart,一方面是 Cloudera manager 本身的启动 /home/cloudera/cloudera-manager

这里我们使用命令

docker run --name cdh --hostname=quickstart.cloudera --privileged=true -t -i -p 8020:8020 -p 8022:8022 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -p 8890:8890 -p 60010:60010 -p 10002:10002 -p 25010:25010 -p 25020:25020 -p 18088:18088 -p 8088:8088 -p 19888:19888 -p 7187:7187 -p 11000:11000 cloudera/quickstart /bin/bash -c '/usr/bin/docker-quickstart && /home/cloudera/cloudera-manager --express && service ntpd start'

直接启动两个程序。这里注意参数都可以从下面 refrence 查询到大概是什么意思,合理之所以要写这么多端口映射也是为了方便我们外面的机器可以方面的访问 docker 内部的这些端口,访问这些服务。 Cloudera 本身的 manager 是 7180 端口。当这些启动起来之后就可以访问目标机器 ip 的 7180 端口访问 Cloudera manager 了。

上图就是一个 dashbord 的样子。另外在 linux 机器有一个地方需要注意的是,可能你的 docker 用上面命令起起来之后,docker 内的实例没有办法访问外网,这里我们配置一下 docker 创建容器时候的参数增加 -net host 即可。也可以在宿主机器上在 /etc/default/docker 文件。并且配置上 DOCKER_OPTS="--dns host_ip" 即可。

从上图我们还可以注意到另外一个问题,除了主机和 manager 都没有启动。在 Cloudera 大礼包中,只有 hue 和 manager 本身是什么服务都不依赖的可以在任何时候选择启动和关闭。其他的应用多多少少存在着一些启动顺序上的依赖这个要注意。 

Reference:

https://www.cloudera.com/documentation/enterprise/5-15-x/topics/quickstart_docker_container.html  ---docker 安装启动文档

https://www.cloudera.com/documentation/enterprise/5-15-x/topics/cm_mc_start_stop_service.html#cmug_topic_5_6  ---启动 hdfs 服务教程



猜你喜欢

转载自www.cnblogs.com/piperck/p/9917118.html
今日推荐