Tag Archives: Docker

docker挂载文件的更新问题

将宿主机配置文件挂载到容器,在宿主机修改配置文件,但容器内挂载的文件并未发生变化,直至docker重启。 记得不是这样的。起初以为是版本的原因。于是在最新版docker上做了测试,问题依旧。 只好Google之。最后从docker issue上找到了答案: docker挂载文件基于inode。vim等编辑工具保存文件时,并非直接保存,而是将一份新的临时文件覆盖了旧文件。对于inode而言,原文件并未被修改。 解决方案有三: 1、换用nano等直接更新文件的编辑工具 2、改为挂载目录。 3、修改vim配置,添加:set backupcopy=yes 参考: https://github.com/docker/docker/issues/15793 http://www.ruanyifeng.com/blog/2011/12/inode.html

Posted in Uncategorized | Tagged | Leave a comment

利用docker部署Hadoop单节点环境

之前早就编译好了几个hadoop镜像,含2.4.1、2.6.0、2.7.0三个版本。但一直未能成功地部署好docker hadoop环境。这个周末终于能静下心来,做成这件小事。 网络上所流传的docker hadoop部署方式,大都是一个容器一个节点(即master或slave)。我这里采用的是一个容器一个服务的方式。 必须要强调,这只是第一步。多节点部署方式还待研究。 先从镜像服务器拉取我制作的hadoop镜像。我所编译的hadoop镜像的hadoop原生库为64位,jdk为openjdk-7-jdk,Dockerfile见这里。这次我使用的版本是2.6.0。 docker pull wencan/hadoop:2.6.0 创建本地配置文件目录,和数据目录 mkdir conf mkdir data 拷贝hadoop etc/hadoop目录下的全部配置文件到conf目录下,配置几个关键项。如果本地没有hadoop包,可以创建一个hadoop容器,利用docker cp从容器拷贝出默认的配置文件。 主要配置可见这里。另外还需要需要的配置的为namenode的数据目录,和datanode的数据目录,这个可以参考这里。 格式化namenode数据目录 这里必须使用默认的桥接网络,否则会出错 docker run –rm -it -e HADOOP_CONF_DIR=/etc/hadoop -v $PWD/conf/:/etc/hadoop -v $PWD/data:/data wencan/hadoop:2.6.0 hdfs namenode -format 运行namenode,使用宿主网络,后面相同 docker run -d –name hadoop_namenode … Continue reading

Posted in Uncategorized | Tagged , | Leave a comment