linux - 需要在 Hadoop-2.0.0 中手动创建 dfs.domain.socket.path 才能使用 Impala?

标签 linux hadoop hadoop2 impala

我正在按照说明配置 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/

相关文章:

linux - gnutls 配置错误 : checking for libgcrypt. .. 没有

c - 是否可以对二进制文件中的某些代码片段而不是整个二进制文件使用 vtune?

java - 数据结构最佳设计(大数据)

hadoop - Hadoop-如何在运行另一个mapreduce作业的同时运行它?

java - 在hadoop中没有reducer的情况下限制多输出中映射器的数量

linux - 从 bash 中的文件行获取字符串

sql-server - 如何在 Linux 中为 ODBC 创建 DSN?

hadoop - 修改cloudera manager端口7180为80

logging - HBase 适合存储和查询日志数据吗?

hadoop - 为什么 mapper 会抛出 ArrayIndexoutofboundexception?