Hadoop On Docker 实践
2017-03-09 15:07
459 查看
Nodemanager
Docker 上启动 Nodemanager 进程后,Docker 容器会承载很多 Container(Yarn 的资源单元),而这些 Container 其实是需要对外提供 tcp 服务的,而这些端口需要暴露到网络上,所以,选择 Docker 网络时需要注意,如果运行Docker容器的主机没有提供 sudo 权限其实会有很多限制,那么可以:
docker run --network="host" \
--cap-add=SYS_ADMIN \
-h="dn100" ...
--network 指定 host 表示完全使用主机的网络,例如:启动 tomcat 监听 8080,而运行 docker 容器的主机 ip 为 10.0.0.11,则可以在局域网中访问 10.0.0.11:8080,事实上 容器 中的 /etc/hosts /etc/hostname 这些都是和宿主机一样,而且默认 hostname xxx 来更改主机名时是不允许的,但是可以通过增加 --cap-add=SYS_ADMIN 选项来搞定,而且它改得只是 docker 容器的,不是宿主机的。-h="dn100"
选项貌似是没有用的。
datanode
如果启用了 kerberos,而且 datanode 使用 jsvc 启动时,docker 容器默认情况比较难启动起来:
cat /data/logs/hadoop/jsvc.err
set_caps: failed to set capabilities
check that your kernel supports capabilities
set_caps(CAPS) failed for user 'hadoop'
Service exit with a return value of 4
需要某些内核特性的支持:
http://man7.org/linux/man-pages/man7/capabilities.7.html
这时可以通过在 docker run 增加 --cap-add=ALL 解决;
Docker 上启动 Nodemanager 进程后,Docker 容器会承载很多 Container(Yarn 的资源单元),而这些 Container 其实是需要对外提供 tcp 服务的,而这些端口需要暴露到网络上,所以,选择 Docker 网络时需要注意,如果运行Docker容器的主机没有提供 sudo 权限其实会有很多限制,那么可以:
docker run --network="host" \
--cap-add=SYS_ADMIN \
-h="dn100" ...
--network 指定 host 表示完全使用主机的网络,例如:启动 tomcat 监听 8080,而运行 docker 容器的主机 ip 为 10.0.0.11,则可以在局域网中访问 10.0.0.11:8080,事实上 容器 中的 /etc/hosts /etc/hostname 这些都是和宿主机一样,而且默认 hostname xxx 来更改主机名时是不允许的,但是可以通过增加 --cap-add=SYS_ADMIN 选项来搞定,而且它改得只是 docker 容器的,不是宿主机的。-h="dn100"
选项貌似是没有用的。
datanode
如果启用了 kerberos,而且 datanode 使用 jsvc 启动时,docker 容器默认情况比较难启动起来:
cat /data/logs/hadoop/jsvc.err
set_caps: failed to set capabilities
check that your kernel supports capabilities
set_caps(CAPS) failed for user 'hadoop'
Service exit with a return value of 4
需要某些内核特性的支持:
http://man7.org/linux/man-pages/man7/capabilities.7.html
这时可以通过在 docker run 增加 --cap-add=ALL 解决;
相关文章推荐
- Hadoop on Ubuntu 实践一:单机配置
- 搭建Hadoop Yarn on Docker
- Hadoop on Mac OS 实践一:单机配置
- Hadoop on Docker
- Hadoop Yarn on Docker
- Hadoop on Docker
- Start hadoop, hive, hue server in the virtual hadoop clusters based on docker
- Start hadoop, hive, hue server in the virtual hadoop clusters based on docker
- Docker实践sshd镜像
- Docker—从入门到实践—Welcome to the Docker user guide
- Dockerfile最佳实践(二)
- Hadoop实践 | 第一个例子WordCount
- How To Install Docker on Fedora 23
- 基于gitlab-ci runner的Docker stack实践
- 《Hadoop大数据架构与实践》学习笔记
- docker搭建hadoop分布式集群
- docker搭建hadoop分布式集群
- docker搭建hadoop分布式集群
- ASP.NET Core Docker jexus部署-CentOS实践版
- Docker实践-安装Docker并在容器里运行tomcat