gpt4 book ai didi

hadoop - 树莓派 Hadoop 集群配置

转载 作者:可可西里 更新时间:2023-11-01 16:35:37 27 4
gpt4 key购买 nike

我最近一直在尝试构建和配置 (8-Pi) Raspberry Pi 3 Hadoop 集群(作为夏季的个人项目)。请耐心等待(不幸的是我对 Hadoop 有点陌生)。我使用的是 Hadoop version 2.9.2。我认为重要的是要注意,现在我正在尝试让一个 Namenode 和一个 Datanode 彼此完全发挥作用,然后继续前进并在其余七个 Pi 上复制相同的过程。

问题:我的 Namenode(别名:master)是唯一节点,在两者下都显示为“Live Datanode” dfs-health 接口(interface),并通过使用:

dfsadmin -report

即使 Datanode 显示为“事件节点”(在群集 Hadoop UI 的节点中)并且“master”未在 slaves 文件中列出。我的目标配置是 Namenode 不应该执行任何 Datanode 操作。此外,我正在尝试以上述命令将我的数据节点(别名:slave-01)显示为“实时数据节点”的方式配置集群。

我怀疑我的问题是由于我的 Namenode 和 Datanode 使用相同的主机名 (raspberrypi) 而引起的,但是我不确定我需要进行哪些配置更改才能更正该问题。在查看了文档之后,很遗憾,我找不到关于是否允许这样做的决定性答案。

如果有人能帮我解决这个问题,我将不胜感激!我在下面提供了任何相关的文件信息(我认为这可能对解决问题有用)。谢谢 :)

PS:除非另有说明,否则Namenode和Datanode中的所有文件都是相同的。

============================================= ============================

更新1

我已经从 Namenode 和 Datanode 上的 slaves 文件中删除了 localhost,并将它们各自的主机名也更改为“master”和“slave-01”。

运行 JPS 后:我注意到所有正确的进程都在主节点上运行,但是我在日志显示的数据节点上遇到错误:

ExitCodeException exitCode=1: chmod: changing permissions of '/opt/hadoop_tmp/hdfs/datanode': Operation not permitted.

如果有人能帮我解决这个问题,我将不胜感激!不幸的是,尽管使用“chmod 777”更改了权限,但问题仍然存在。提前致谢:)

============================================= ============================

主机文件

127.0.0.1     localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

127.0.1.1 raspberrypi
192.168.1.2 master
192.168.1.3 slave-01

主文件

master

从站文件

localhost
slave-01

核心站点.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000/</value>
</property>
<property>
<name>fs.default.FS</name>
<value>hdfs://master:9000/</value>
</property>
</configuration>

HDFS-Site.xml

<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop_tmp/hdfs/datanode</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop_tmp/hdfs/namenode</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

Mapred-Site.xml

<configuration>
<property>
<name>mapreduce.job.tracker</name>
<value>master:5431</value>
</property>
<property>
<name>mapred.framework.name</name>
<value>yarn</value>
</property>
</configuration>

Yarn-Site.xml

<configuration>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8050</value>
</property>
</configuration>

最佳答案

可以让您的本地路由器提供主机名,而不是您自己操作/etc/hosts,但是为了更改每个 Pi 的名称,编辑 /etc/hostname 并重启。

启动前后,检查运行hostname -f

注意:一旦你有了“YARN master”、“HDFS master”、“Hive Master”等,“master”就真的没有意义了。最好按字面意思说namenodedata{ 1,2,3}, yarn-rm, 等等

关于权限问题,您可以以 root 身份运行所有内容,但在家庭实验室之外这样做是不安全的,因此您至少要为 hduser 运行一些 adduser 命令(如其他地方所述,但可以是其他任何内容)和 yarn,然后以这些用户的身份运行命令,在 chown -R 之后这些用户拥有的数据和日志目录用户和他们所属的 Unix 组

关于hadoop - 树莓派 Hadoop 集群配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53622845/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com