我是hadoop和docker的新手。
我一直在扩展cloudera/quickstart docker映像docker文件,并希望挂载一个目录表单主机并将其Map到hdfs位置,以便提高性能并在本地持久保存数据。
当我用 -v /localdir:/someDir
一切正常,但那不是我的目标。但当我这么做的时候 -v /localdir:/var/lib/hadoop-hdfs
datanode和namenode都无法启动,我得到:“cd/var/lib/hadoop hdfs:permission denied”。当我这么做的时候 -v /localdir:/var/lib/hadoop-hdfs/cache
没有权限被拒绝,但是datanode和namenode,或者其中一个在启动docker映像时无法启动,并且我在日志文件中找不到任何有关原因的有用信息。
可能有人遇到了这个问题,或者有其他解决方案将hdfs放到docker容器之外?
2条答案
按热度按时间2wnc66cl1#
你应该跑一趟
jfewjypa2#
我也有同样的问题,我把整个事情都处理了
/var/lib
从容器到本地目录的目录从终端,启动
cloudera/quickstart
不启动所有hadoop服务的容器:在另一个终端中,将容器目录复制到本地目录:
将所有文件从容器复制到本地目录后,停止容器并指向
/var/lib
新的目标。确保/local_var_lib
目录包含hadoop目录(hbase、hadoop hdfs、oozie、mysql等)。启动容器: