Hadoop LXC上的Cloudera安装dfs.datanode.max.locked.memory问题

Hadoop LXC上的Cloudera安装dfs.datanode.max.locked.memory问题,hadoop,hdfs,cloudera-cdh,lxc,cloudera-manager,Hadoop,Hdfs,Cloudera Cdh,Lxc,Cloudera Manager,我已经在我的mac电脑上创建了虚拟盒ubuntu 14.04LTS环境。 在ubuntu的虚拟盒中,我创建了由三个lxc容器组成的集群。一个用于主节点,另两个用于从节点 在master上,我已经使用以下链接开始安装CDH5 我还对/etc/hosts进行了必要的更改,包括FQDN和主机名。还创建了名为“ubuntu”的无密码用户 在设置CDH5时,在安装过程中,我经常在datanodes上遇到以下错误。最大锁定内存大小:922746880字节的dfs.datanode.Max.locked.me

我已经在我的mac电脑上创建了虚拟盒ubuntu 14.04LTS环境。 在ubuntu的虚拟盒中,我创建了由三个lxc容器组成的集群。一个用于主节点,另两个用于从节点

在master上,我已经使用以下链接开始安装CDH5

我还对/etc/hosts进行了必要的更改,包括FQDN和主机名。还创建了名为“ubuntu”的无密码用户

在设置CDH5时,在安装过程中,我经常在datanodes上遇到以下错误。最大锁定内存大小:922746880字节的dfs.datanode.Max.locked.memory大于datanode的可用RLIMIT_MEMLOCK ulimit 65536字节

Exception in secureMain: java.lang.RuntimeException: Cannot start datanode because the configured max locked memory size (dfs.datanode.max.locked.memory) of 922746880 bytes is more than the datanode's available RLIMIT_MEMLOCK ulimit of 65536 bytes.
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:1050)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:411)
at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2297)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2184)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2231)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2407)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2431)
secureMain中的异常:java.lang.RuntimeException:无法启动datanode,因为配置的最大锁定内存大小(dfs.datanode.max.locked.memory)为922746880字节,大于datanode的可用RLIMIT_MEMLOCK ulimit为65536字节。 位于org.apache.hadoop.hdfs.server.datanode.datanode.startDataNode(datanode.java:1050) 位于org.apache.hadoop.hdfs.server.datanode.datanode.(datanode.java:411) 位于org.apache.hadoop.hdfs.server.datanode.datanode.makeInstance(datanode.java:2297) 位于org.apache.hadoop.hdfs.server.datanode.datanode.InstanceDataNode(datanode.java:2184) 位于org.apache.hadoop.hdfs.server.datanode.datanode.createDataNode(datanode.java:2231) 位于org.apache.hadoop.hdfs.server.datanode.datanode.secureMain(datanode.java:2407) 位于org.apache.hadoop.hdfs.server.datanode.datanode.main(datanode.java:2431) Krunal

这个解决方案对你来说可能已经晚了,但也许它可以帮助其他人,所以它就在这里。确保ulimit设置正确。但万一是配置问题

后藤:

查找最新的配置目录, 在这种情况下:

1016-hdfs-DATANODE 
在此目录中搜索参数:

grep -rnw . -e "dfs.datanode.max.locked.memory"
./hdfs-site.xml:163:    <name>dfs.datanode.max.locked.memory</name>
grep-rnw-e“dfs.datanode.max.locked.memory”
./hdfs site.xml:163:dfs.datanode.max.locked.memory

并将该值编辑为您的案例(65536)

我通过在Cloudera中打开一个单独的选项卡来解决,并从中设置值

grep -rnw . -e "dfs.datanode.max.locked.memory"
./hdfs-site.xml:163:    <name>dfs.datanode.max.locked.memory</name>