本文主要记录docker
下安装单机版cloudera
的详细流程,方便大家日常工作的简单测试。
首先需要先拉取docker
镜像,镜像大小大概4.4G
,下载时间比较长(如果没用动静,可能需要科学上网):
docker pull cloudera/quickstart
拉取成功之后,可以从镜像列表看到记录:
docker images |grep cloud
接下来可以启动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
启动容器成功之后,cdh
并没有真正启动,需要进入容器去启动(备注:下面的3dc308a6f3eb
为容器的id
):
# docker ps 去查询启动的容器
docker exec -it 3dc308a6f3eb bash
进入容器后,看看那些java服务开启了:
jps
可以看到不少的组件都启动了,这些组件,我们可以通过启动Cloudera Manager来管理,命令如下:
sudo /home/cloudera/cloudera-manager --express --force
启动时间较长,约10分钟,启动成功后如下:
退出,配置hosts
文件(cdh
里面的组件跳转到各自的WebUI
是使用到了这个域名):
[root@quickstart /]# exit
sudo vi /etc/hosts
添加:
127.0.0.1 quickstart.cloudera
浏览器访问:http://127.0.0.1:7180/
可以看到能正常打开cloudera了,进入登录页面(账号密码均为:cloudera
),登录成功后如下:
这么一看,似乎界面有点不正常,我们在容器里输入继续输入jps
:
可以看到很多组件都关闭了,这个可以理解,但是为什么时间不对呢?点击hosts
,进去看,发现Clock
关闭了,也就是NTP service
没启动:
在容器里面继续开启NTP服务:
service ntpd start
等待几分钟,可以看到界面正常了(虽然有些组件标黄了,其实是警告,主要建议主机是多个节点,没多大影响):
我们这里启动一个HDFS看看:
启动成功后,进入HDFS
,点击它的WebUI
按钮,可以看到能正常显示了:
到这里,博主已经详细地讲解了在docker
下安装cdh
的完整流程,希望能帮助到大家,谢谢大家的阅读,最后附上参考资料:
- 《Installing Cloudera Quickstart VM through Docker Hub (on Mac)》:https://blog.clairvoyantsoft.com/cloduera-quickstart-vm-using-docker-on-mac-2308acd196f2
本文完!