Hadoop 2.x中的多节点群集
从我们之前的Hadoop教程系列博客中 ,我们学习了如何设置Hadoop单节点群集。现在,我将演示如何设置Hadoop多节点群集。Hadoop中的多节点群集包含分布式Hadoop环境中的两个或多个DataNode。这实际上在组织中用来存储和分析他们的PB和EB数据。
在这里,我们正在采取两个机器 - 主人和奴隶。在这两台机器上,一个Datanode将会运行。
让我们从Hadoop中的多节点群集设置开始。
先决条件
- Cent OS 6.5
- Hadoop的2.7.3
- JAVA 8
- SSH
在Hadoop中设置多节点群集
我们有两台机器(主机和从机)IP:
主IP:192.168.56.102
从IP:192.168.56.103
步骤1:检查所有机器的IP地址。
命令: ip addr show(也可以使用 ifconfig 命令)
第2步:禁用防火墙限制。
命令:服务iptables停止
命令: sudo chkconfig iptables off
第3步:打开主机文件,将主机和数据节点添加到各自的IP地址。
命令: sudo nano / etc / hosts
主机和从机主机文件中将显示相同的属性。
第4步:重新启动sshd服务。
命令: service sshd restart
步骤5:在主节点中创建SSH密钥。(要求您输入文件名以保存密钥时按确认按钮)。
命令: ssh-keygen -t rsa -P“”
步骤6:将生成的ssh密钥复制到主节点的授权密钥。
命令: cat $ HOME / .ssh / id_rsa.pub >> $ HOME / .ssh / authorized_keys
步骤7: 将主节点的ssh密钥复制到从属的授权密钥。
命令: ssh-copy-id -i $ HOME / .ssh / id_rsa.pub edureka @ slave
第8步:点击这里下载Java 8包。将此文件保存在您的主目录中。
第9步:在所有节点上提取Java Tar文件。
命令: tar -xvf jdk-8u101-linux-i586.tar.gz
第10步:在所有节点上下载Hadoop 2.7.3软件包。
命令: wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz
第11步:在所有节点上提取Hadoop tar文件。
命令: tar -xvf hadoop-2.7.3.tar.gz
步骤12:在所有节点上的bash文件(.bashrc)中添加Hadoop和Java路径。
打开。 bashrc文件。现在,添加Hadoop和Java Path,如下所示:
命令: sudo gedit .bashrc
然后,保存bash文件并关闭它。
要将所有这些更改应用到当前终端,请执行source命令。
命令:source.bashrc
要确保Java和Hadoop已经正确安装在您的系统上,并且可以通过终端访问,请执行java -version和hadoop版本命令。
命令: java -version
命令: hadoop version
现在编辑hadoop-2.7.3 / etc / hadoop目录下的配置文件。
第13步:在主机和从机中创建主文件和编辑如下:
命令:sudo gedit masters
步骤14:在主机中编辑从站文件如下:
命令: sudo gedit /home/edureka/hadoop-2.7.3/etc/hadoop/slaves
步骤15:按如下方式编辑从机中的从机文件:
命令: sudo gedit /home/edureka/hadoop-2.7.3/etc/hadoop/slaves
步骤16:在主机和从机上编辑core-site.xml,如下所示:
命令: sudo gedit /home/edureka/hadoop-2.7.3/etc/hadoop/core-site.xml
1
2
3
4
五
6
7
8
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<?
xml-stylesheet
type
=
"text/xsl"
href
=
"configuration.xsl"
?>
<
configuration
>
<
property
>
<
name
>fs.default.name</
name
>
</
property
>
</
configuration
>
|
第7步:在主服务器上编辑hdfs-site.xml,命令如下:
命令: sudo gedit /home/edureka/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
1
2
3
4
五
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<?
xml-stylesheet
type
=
"text/xsl"
href
=
"configuration.xsl"
?>
<
configuration
>
<
property
>
<
name
>dfs.replication</
name
>
<
value
>2</
value
>
</
property
>
<
property
>
<
name
>dfs.permissions</
name
>
<
value
>false</
value
>
</
property
>
<
property
>
<
name
>dfs.namenode.name.dir</
name
>
<
value
>/home/edureka/hadoop-2.7.3/namenode</
value
>
</
property
>
<
property
>
<
name
>dfs.datanode.data.dir</
name
>
<
value
>/home/edureka/hadoop-2.7.3/datanode</
value
>
</
property
>
</
configuration
>
|
第18步:在从机上编辑hdfs-site.xml,如下所示:
命令: sudo gedit /home/edureka/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
1
2
3
4
五
6
7
8
9
10
11
12
13
14
15
16
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<?
xml-stylesheet
type
=
"text/xsl"
href
=
"configuration.xsl"
?>
<
configuration
>
<
property
>
<
name
>dfs.replication</
name
>
<
value
>2</
value
>
</
property
>
<
property
>
<
name
>dfs.permissions</
name
>
<
value
>false</
value
>
</
property
>
<
property
>
<
name
>dfs.datanode.data.dir</
name
>
<
value
>/home/edureka/hadoop-2.7.3/datanode</
value
>
</
property
>
</
configuration
>
|
步骤19:从配置文件夹中的模板复制mapred-site,并在主和从属机器上编辑mapred-site.xml,如下所示:
命令: cp mapred-site.xml.template mapred-site.xml
命令: sudo gedit /home/edureka/hadoop-2.7.3/etc/hadoop/mapred-site.xml
1
2
3
4
五
6
7
8
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<?
xml-stylesheet
type
=
"text/xsl"
href
=
"configuration.xsl"
?>
<
configuration
>
<
property
>
<
name
>mapreduce.framework.name</
name
>
<
value
>yarn</
value
>
</
property
>
</
configuration
>
|
第20步:在主机和从机上编辑yarn-site.xml,如下所示:
命令: sudo gedit /home/edureka/hadoop-2.7.3/etc/hadoop/yarn-site.xml
1
2
3
4
五
6
7
8
9
10
11
12
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<?
xml-stylesheet
type
=
"text/xsl"
href
=
"configuration.xsl"
?>
<
configuration
>
<
property
>
<
name
>yarn.nodemanager.aux-services</
name
>
<
value
>mapreduce_shuffle</
value
>
</
property
>
<
property
>
<
name
>yarn.nodemanager.auxservices.mapreduce.shuffle.class</
name
>
<
value
>org.apache.hadoop.mapred.ShuffleHandler</
value
>
</
property
>
</
configuration
>
|
步骤21: 格式化名称节点(仅在主机上)。
命令: hadoop namenode -format
步骤22:启动所有守护进程(仅在主机上)。
命令: ./sbin/start-all.sh
第23步:检查主机和从机上运行的所有守护进程。
命令: jps
在主人
在奴隶
最后,打开浏览器,在你的主机上转到master:50070 / dfshealth.html,这会给你NameNode接口。向下滚动查看活动节点的数量,如果其为2,则表示已成功设置多节点Hadoop集群。如果不是2,你可能会错过上面提到的任何步骤。但是不用担心,可以再次验证所有配置,找出问题,然后再纠正。
在这里,我们只有2个DataNode。如果你愿意,你可以根据你的需要添加更多的DataNode,参考我们的博客,了解Hadoop集群中的调试和停用节点。
我希望你能成功安装一个Hadoop多节点群集。如果您有任何问题,请在下面留言,我们会尽快回复。在我们的Hadoop教程系列的下一个博客中, 您将学习一些重要的HDFS命令 ,您可以开始使用Hadoop。