Hadoop实战读书笔记(4)

安装Hadoop集群node

1、须要专门制定一个服务器做为主节点。服务器

2、这个节点会驻留NameNodeJobTracker的守护进程。less

3、它也将做为一个基站,负责联络并激活全部从节点上的DataNodeTaskTracker守护进程。ssh

4、所以咱们须要为主节点定制一种手段,使它可以远程地访问到集群中的每一个节点。分布式

 

如何使主节点远程地访问到集群中的每一个节点呢?oop

使用无口令的 (passphraseless) SSH协议。加密

 

什么是SSH协议?spa

SSH采用标准的公钥加密来生成一对用户验证密钥-一个公钥、一个私钥。公钥被本地存储在集群的每一个节点上,私钥则由主节点在试图访问远端节点时发送过来。结合这两段信息,目标机能够对此次登陆尝试进行验证。调试

 

定义一个公共帐号日志

方便从一个节点的用户帐号到目标机上的另外一个用户帐号。

对于Hadoop,全部节点上的帐号应该相同的用户名。

 

如何检查节点上是否安装了SSH

which ssh

which sshd

which ssh-keygen

 

Hadoop的配置文件说明

Hadoop的设置主要包含在XML配置文件中,在0.20版本以前,它们是hadoop-default.xmlhadoop.site.xml。顾名思义,hadoop-default.xml中包含了Hadoop会使用的默认设置,除非这些设置在hadoop-site.xml中被显式地覆盖。所以,在实际操做中你只须要处理hadoop-sitex.xml。在版本0.20中,这个文件被分离成3XML文件:core-site.xmlhdfs-site,xnlmapred-site.xml。此次重构更好地对应了它们所控制的Hadoop子系统。

 

Hadoop配置的三种模式
单机模式

伪分布式模式

彻底分布式模式

 

单机模式是指?

单机模式是Hadoop的默认模式,当首次解压Hadoop的源码包时,Hadoop没法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下全部3XML文件 (或者0.20版本以前的hadoop-site.xml)均为空。

当配置文件为空时,Hadoop会彻底运行在本地。由于不须要与其余节点交互,单机模式就不适用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑,而不会与守护进程交互,避免引发额外的复杂性。

 

伪分布式模式时指?

伪分布模式在 "单节点集群"上运行Hadoop,其中全部的守护进程都运行在同一台机器上。该模式在单机模式之上增长了代码调试功能,容许你检查内存使用状况、HDFS输入输出,以及其余的守护进程交互。

简单配置:

core-site.xml:
<configuration>

       <property>

              <name>fs.default.name</name>

              <value>hdfs://localhost:9000</value>

       </property>

</configuration>

mapred-site.xml
<configuration>

       <property>

              <name>mapred.job.tracker</name>

              <value>localhost:9001</value>

       </property>

</configuration>

hdfs-site.xml
<configuration>

       <property>

              <name>dfs.replication</name>

              <value>1</value>

       </property>

</configuration>

咱们在core-site.xmlmapred-site.xml中分别制定了NameNodeJobTracker的主机名与端口。在hdfs-site.xml中指定了HDFS的默认副本数,由于仅运行在一个节点上,这里副本数为1.咱们还须要在文件masters中指定SNN的位置,并在文件salves中指定从节点的位置

vi masters

localhost

vi slaves

localhost

虽然全部的守护进程都运行在同一节点上,它们仍然像分布在集群中同样,彼此经过相同的SSH协议进行通讯。

 

使用什么装载守护进程呢?

bin/start-all.sh

 

使用什么查看守护进程是否启动?

jps

 

如何关闭Hadoop的守护进程?

bin/stop-all.sh

 

彻底分布式模式是指?

真正用于生产环境的Hadoop集群。

集群节点说明:

master-集群的主节点,驻留NameNodeJobTracker守护进程

backup-驻留SNN守护进程的节点

hadoop1hadoop2hadoop3-集群的从节点,驻留DataNodeTaskTracker守护进程。

配置文件:

core-site.xml:
<configuration>

       <property>

              <name>fs.default.name</name>

              <value>hdfs://master:9000</value>

       </property>

</configuration>

mapred-site.xml
<configuration>

       <property>

              <name>mapred.job.tracker</name>

              <value>master:9001</value>

       </property>

</configuration>

hdfs-site.xml
<configuration>

       <property>

              <name>dfs.replication</name>

              <value>3</value>

       </property>

</configuration>

不一样于伪分布式的两点:

1、明确地声明了NameNodeJobTracker守护进程所在的主机名

2、增大了HDFS的备份参数以发挥分布式存储的优点,数据经过在HDFS上复制能够提升可用性与可靠性

vi masters

backup

vi slaves

hadoop1

hadoop2

hadoop3

在将这些文件复制到集群上的全部节点以后,必定要格式化HDFS以准备好存储数据

bin/hadoop namenode -format

 

模式之间的切换如何作?

有一个技巧在开始使用Hadoop时是颇有用的,就是使用符号连接而不是不断编辑XML文件来切换Hadoop的模式,为了作到这一点,须要为每种模式分别生成一个配置目录,并相应地放入恰当版本的XML文件

而后,就可使用Linuxln命令 (例如 ln -s conf.cluster conf) 在不一样配置之间切换。这个技巧还有助于临时把一个节点从集群中分离出来,从而经过伪分布模式来调试一个MapReduce程序,但须要确保这些模式在HDFS上有不一样的文件存储位置,而且在改变配置以前还应该中止全部的守护进程。

 

基于Web的集群用户界面

NameNode经过端口50070提供常规报告,描绘集群上HDFS的状态视图。

经过这个界面,能够通览文件系统,检查集群每一个DataNode的状态,并详细查看Hadoop守护进程的日志来判断集群当前运行是否正确。

JobTracker经过端口50030提供视图,包括MapReduce中任务的运行时状态,以及整个做业的详细报告。详细报告指的是:这些日志描述了哪一个节点执行了哪一个任务,以及须要完成每一个任务所需的时间或资源比,还能够得到Hadoop对个做业的配置。

相关文章
相关标签/搜索