文档编写目的
CDSW服务Docker组件启动时自动创建docker0网桥,其默认IP为172.17.0.1。该网段的网关与公司的网关冲突,导致服务器上挂载的公共盘不能正常使用, Agent服务也与Cloudera Manager失去了联系。由于修改公司的网关影响范围大,所以本篇文章Fayson主要介绍如何修改CDSW服务Docker组件的默认网关。
如下图所示为Docker服务创建了docker0网桥,并以veth pair连接到各个容器的网络
- 测试环境:
1.Redhat7.2
2.采用root用户操作
3.CM和CDH为6.3.0
4.CDSW1.6
CDSW网关信息
1.在CDSW的Master节点可以看到有一个docker0的网卡信息
[root@cdsw docker]# ifconfig
[root@cdsw docker]# netstat -r
通过这两个命令可以看到CDSW创建的docker0网桥IP地址为:172.17.0.1,网关为:172.17.0.0
修改docker0默认网关
1.创建配置文件/etc/docker/daemon.json
[root@cdsw ~]# vim /etc/docker/daemon.json { "bip": "172.17.5.4/24", "fixed-cidr": "172.17.5.4/25", "fixed-cidr-v6": "2001:db8::/64", "mtu": 1500, "default-gateway": "172.17.5.1", "default-gateway-v6": "2001:db8:abcd::89", "dns": ["172.17.5.2","172.17.5.3"]}
2.修改启动脚本,添加配置参数
[root@cdsw scripts]# vim /opt/cloudera/parcels/CDSW/scripts/start-dockerd-standalone-core.sh如下图红框处添加下面这一行代码,添加一个配置文件。dockerd_opts+=(--config-file /etc/docker/daemon.json)
注意:如果CDSW的版本升级需要重新修改次配置
3.重启CDSW服务
4.重启完成后,再查看修改后的网关信息
[root@cdsw ~]# ifconfig
[root@cdsw ~]# netstat -r
可以看到成功的将docker0网桥的IP地址为172.17.5.4 网关为172.17.5.0
CDSW验证
修改完重启后,登陆CDSW启动一个session进行验证
示例代码执行成功,说明通过文章介绍的修改docker网关的方式可行。
总结
1.CDSW底层是基于Docker服务实现的,docker0网卡是由Docker Daemon服务启动时自动创建的。
2.Docker Daemon服务在启动时如果不指定docker0网桥的IP及网关信息就会使用172.17.0.1作为默认IP地址,172.17.0.0作为默认网关。
3.本篇文章修改docker0网桥的默认IP和网关,主要通过在Docker服务启动脚本里指定了config-file配置参数,在/etc/docker/daemon.json文件指定了docker0网桥的IP和网关等信息配置。