我正在按照说明配置 hadoop-2.0.0 集群以安装 Impala。在 hdfs-site.xml 中,我添加两个属性“dfs.client.read.shortCircuit”和“dfs.domain.socket.path”(/var/lib/hadoop-hdfs/dn_socket)。
但是当我通过start-dfs.sh启动Hadoop集群时,它无法启动datanodes。 datanode 中的日志显示“无法统计路径组件:'/var/lib/hadoop-hdfs'”。然后我手动创建/var/lib/hadoop-hdfs,并再次启动Hadoop集群。再次失败,日志显示这是该目录的权限问题。好的。我将hadoop-hdfs的所有者从root更改为ubuntu(ubuntu是机器用户名)。现在终于可以正常使用了。
我只是很困惑。我的做法正确吗?我们真的需要自己创建/var/lib/hadoop-hdfs 并更改该目录的权限或所有者吗?或者我错过了一些配置设置?
最佳答案
我在使用 Cloudera Manager 时遇到了类似的问题。这是尝试以“单用户模式”运行而不是使用 root 运行的问题。我认为您正在对用户 ubuntu 执行类似的操作。这是全新安装还是您正在升级/上次安装是否失败?
我猜你在某个地方执行了 sudo,你应该运行“ubuntu”这样的东西。
如果您可以通过手动设置权限来使其工作,那就去做吧。我有一种感觉,在您的系统中潜伏着许多由 root
拥有的其他文件,这些文件应该由 ubuntu
拥有。
有趣的是,如果服务器中没有关键数据,我发现更容易非常彻底从旧安装中删除所有文件,然后重新安装新的。
关于linux - 需要在 Hadoop-2.0.0 中手动创建 dfs.domain.socket.path 才能使用 Impala?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26014799/