raspberry pi hadoop群集配置

q5lcpyga  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(408)

我最近一直在尝试构建和配置一个(8-pi)raspberrypi3hadoop集群(作为夏季的个人项目)。请容忍我(不幸的是我对hadoop有点陌生)。我使用的是hadoop版本2.9.2。我认为重要的是要注意到,现在我正试图让一个namenode和一个datanode彼此完全正常工作,然后继续在其余的七个pi上复制相同的过程。
问题:my namenode(别名:master)是唯一在dfs运行状况界面下显示为“live datanode”的节点,并且通过使用:
dfsadmin-报告
即使datanode显示为“active node”(在集群hadoop ui的节点中),并且“master”没有在slaves文件中列出。我的目标配置是namenode不应该执行任何datanode操作。此外,我正在尝试配置集群,以便上面的命令将我的datanode(别名:slave-01)显示为“live datanode”。
我怀疑我的问题是由于我的namenode和datanode使用了相同的主机名(raspberrypi)造成的,但是我不确定为了纠正这个问题我需要做哪些配置更改。在查看了文档之后,我很不幸地找不到一个关于是否允许这样做的结论性答案。
如果有人能帮我解决这个问题,将不胜感激!我已经在下面提供了任何相关的文件信息(我认为这可能对解决问题有用)。谢谢:)
ps:除非另有说明,否则namenode和datanode中的所有文件都是相同的。

更新1

我已经从namenode和datanode的slaves文件中删除了localhost,并将它们各自的主机名更改为“master”和“slave-01”。
在运行jps之后:我注意到所有正确的进程都在master节点上运行,但是在datanode上有一个错误,日志显示:
exitcodeexception exitcode=1:chmod:更改“/opt/hadoop\u tmp/hdfs/datanode”的权限:不允许操作。
如果有人能帮我解决这个问题,将不胜感激!不幸的是,尽管使用“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

core-site.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>
yks3o0rb

yks3o0rb1#

您可以让您的本地路由器提供主机名,而不是操纵主机名 /etc/hosts 你们自己,但为了改变每个圆周率的名字,编辑 /etc/hostname 然后重新启动。
Boot 前后,检查跑步情况 hostname -f 注:一旦你有了“Yarn大师”、“hdfs大师”、“Hive大师”等,那么“大师”就毫无意义了 namenode , data{1,2,3} , yarn-rm ,等等
关于权限问题,您可以以root身份运行所有内容,但在家庭实验室之外这是不安全的,因此您需要运行一些 adduser 命令至少 hduser (如其他地方所述,但可以是其他任何内容),以及 yarn ,然后以这些用户的身份运行命令 chown -R 这些用户及其所属的unix组将拥有的数据和日志目录

相关问题