我在VMware上的centos linux上安装了Hadoop 2.4.1。 我应该将Hadoop集群配置为多节点集群。首先,我不知道应该如何在Hadoop集群上构建多节点。第二,我应该如何配置Hadoop集群上的节点?请一步一步地详细指导我,特别是在定义节点时。
答案 0 :(得分:0)
假设您正在设计两个节点集群
假设您的节点及其角色如下:
NN-host NameNode, DataNode
DD-host DataNode1
让我们从NameNode 192.168.3.171开始
并配置xml文件 然后更新指向我们目录的hdfs-site.xml文件:
$ HADOOP_INSTALL的/ etc / hadoop的/ HDFS-site.xml中
将以下内容粘贴到<configuration>
代码:
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/user/hdfs/datanode</value>
<description>DataNode directory</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/user/hdfs/namenode</value>
<description>NameNode directory for namespace and transaction logs storage.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</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>
让Hadoop模块了解NameNode所在的位置:
$ HADOOP_INSTALL的/ etc / hadoop的/芯-site.xml中
将以下内容粘贴到<configuration>
代码:
<property>
<name>fs.defaultFS</name>
<value>hdfs://NN-host:50000</value>
<description>NameNode URI</description>
</property>
$ HADOOP_INSTALL的/ etc /的hadoop / mapred-site.xml中
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>NN-host:50001</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
$ HADOOP_INSTALL的/ etc / hadoop的/纱线-site.xml中
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
现在我们可以通过发出:
来格式化我们的NameNodehdfs namenode -format
或
hadoop namenode-format
现在我们必须确保我们的NN主机主节点可以无密码登录到其他节点:
ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@NN-host
ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@DD-host
并将您的奴隶(DataNodes)添加到从属文件。就我而言:
NN-host
DD-host
让我们配置我们的从属数据节点192.168.3.44两者的步骤相同:
准备并创建目录:
然后更新指向我们目录的hdfs-site.xml文件:
$HADOOP_INSTALL/etc/hadoop/hdfs-site.xml
将以下内容粘贴到<configuration>
代码:
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/user/hdfs/datanode</value>
<description>DataNode directory</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>false</value>
</property>
让Hadoop模块了解NameNode所在的位置:
$ HADOOP_INSTALL的/ etc / hadoop的/芯-site.xml中
并在标记之间粘贴以下内容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://NN-host:50000</value>
<description>NameNode URI</description>
</property>
运行datanode可以在多节点集群中看到:
DD-主机:50075
查看UI中的所有应用程序
NN-主机:8088