我正在尝试在2个Windows设备之间建立一个多节点Hadoop集群。我正在使用Hadoop 2.9.2。 请问我该如何实现呢?
答案 0 :(得分:1)
your-master-ip hadoopMaster
your-salve-ip hadoopSlave
您可以在配置文件中使用这些名称。
与Linux系统非常相似,以下是在Windows上运行Hadoop集群所必须遵循的步骤: 3.首先,您需要在系统上安装Java,并且必须将JAVA_HOME添加到您的环境变量中。您可以从Oracle website下载Java并进行安装。
HADOOP_HOME=”root of your hadoop extracted folder\hadoop-2.9.2″
HADOOP_BIN=”root of hadoop extracted folder\hadoop-2.9.2\bin”
JAVA_HOME=<Root of your JDK installation>”
echo %HADOOP_HOME%
echo %HADOOP_BIN%
echo %PATH%
配置HADOOP: 10.打开“您的hadoop root \ hadoop-2.9.2 \ etc \ hadoop \ hadoop-env.cmd”,并将以下行添加到文件底部:
set HADOOP_PREFIX=%HADOOP_HOME%
set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop
set YARN_CONF_DIR=%HADOOP_CONF_DIR%
set PATH=%PATH%;%HADOOP_PREFIX%\bin
11。打开“您的hadoop-root \ hadoop-2.9.2 \ etc \ hadoop \ hdfs-site.xml”并添加以下内容:
<property>
<name>dfs.name.dir</name>
<value>your desired address</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>your desired address</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoopMaster:50070</value>
<description>Your NameNode hostname for http access.</description>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoopMaster:50090</value>
<description>Your Secondary NameNode hostname for http access.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoopMaster:9000</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>your-temp-directory</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hadoopMaster:9001</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
14。编辑您的yarn-site.xml并添加:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
<description>Long running service which executes on Node Manager(s) and provides MapReduce Sort and Shuffle functionality.</description>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
<description>Enable log aggregation so application logs are moved onto hdfs and are viewable via web ui after the application completed. The default location on hdfs is '/log' and can be changed via yarn.nodemanager.remote-app-log-dir property</description>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoopMaster:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoopMaster:8031</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoopMaster:8032</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoopMaster:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoopMaster:8088</value>
</property>
hadoopSlave
hadoop namenode -format
19。运行以下命令:
start-dfs.sh
start-yarn.sh
答案 1 :(得分:1)
在反复试验之后,以下内容对我起作用。
与@AbsoluteBeginner先前的回答进行相同的配置。
在所有计算机上禁用Windows防火墙(我认为您可以将其保持打开状态,并且只是在弄乱规则,但这就是您要找出的原因)
hdfs namenode-格式化所有节点(主节点和从节点)
确保所有3个节点中的datanode文件夹均为空(只是shift + del)
运行start-all.cmd。以下所有应该出现。 50436 NameNode 54696节点管理器 54744数据节点 60028每秒 7340 ResourceManager
运行start-all.cmd。以下所有应该出现 6116数据节点 2408秒 3208 NodeManager
请注意未出现nameode和资源管理器的原因,因为它们正在主节点上运行并且已经占用了端口,并且您只需要运行主resourcemanger和名称节点
请注意,如果您看到了Linux的多集群教程,则执行jps时,主节点也会显示SeceondryNameNode。不太确定为什么它不出现在Windows中。