说明
之前部署docker服务的时候都是安装最新的docker版本,并使用docker swarm部署大数据组件。
但是在近期的一次部署发现 docker 18.06.1 版本,在使用docker swarm部署大数据组件的时候namenode存储的datanode信息不正确。原因是 18.06.1 版本中的docker swarm 存在一个LB网络,造成了该问题。
这个问题对于Hadoop本身是没有任何问题的,但是当我们启动hbase的时候却有问题了。通过日志发现hbase找不到datanode的节点信息,因为hbase得到的是LB的IP而不是datanode本身的IP,最终导致hbase启动失败。
最后解决的方案就是docker版本回退到 17.09.0 版本,该版本不存在LB网络。Hadoop的namenode中存储的datanode信息是正确的。
1 | [root@mini03 docker-swarm]# docker -v |
docker安装指定版本
1 | # 安装必要的一些系统工具 |
加入开机自启动
1 | [root@mini02 tools]# systemctl status docker |
问题解决
1 | [root@mini02 tools]# systemctl start docker |
另请参考
参考博客:Docker CE 镜像源站
参考博客:docker启动异常driver not supported