这篇文章主要讲解了“Hadoop配置的模式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hadoop配置的模式有哪些”吧!
安装Hadoop集群
1、需要专门制定一个服务器作为主节点。
2、这个节点会驻留NameNode和JobTracker的守护进程。
3、它也将作为一个基站,负责联络并激活所有从节点上的DataNode和TaskTracker守护进程。
4、因此我们需要为主节点定制一种手段,使它能够远程地访问到集群中的每个节点。
如何使主节点远程地访问到集群中的每个节点呢?
使用无口令的 (passphraseless) SSH协议。
什么是SSH协议?
SSH采用标准的公钥加密来生成一对用户验证密钥-一个公钥、一个私钥。公钥被本地存储在集群的每个节点上,私钥则由主节点在试图访问远端节点时发送过来。结合这两段信息,目标机可以对这次登录尝试进行验证。
定义一个公共账号
方便从一个节点的用户账号到目标机上的另一个用户账号。
对于Hadoop,所有节点上的账号应该相同的用户名。
如何检查节点上是否安装了SSH?
which ssh
which sshd
which ssh-keygen
Hadoop的配置文件说明
Hadoop的设置主要包含在XML配置文件中,在0.20版本之前,它们是hadoop-default.xml和hadoop.site.xml。顾名思义,hadoop-default.xml中包含了Hadoop会使用的默认设置,除非这些设置在hadoop-site.xml中被显式地覆盖。因此,在实际操作中你只需要处理hadoop-sitex.xml。在版本0.20中,这个文件被分离成3个XML文件:core-site.xml、hdfs-site,xnl与mapred-site.xml。这次重构更好地对应了它们所控制的Hadoop子系统。
Hadoop配置的三种模式
单机模式
伪分布式模式
完全分布式模式
单机模式是指?
单机模式是Hadoop的默认模式,当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件 (或者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.xml和mapred-site.xml中分别制定了NameNode和JobTracker的主机名与端口。在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-集群的主节点,驻留NameNode和JobTracker守护进程
backup-驻留SNN守护进程的节点
hadoop1、hadoop2、hadoop3-集群的从节点,驻留DataNode和TaskTracker守护进程。
配置文件:
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、明确地声明了NameNode和JobTracker守护进程所在的主机名
2、增大了HDFS的备份参数以发挥分布式存储的优势,数据通过在HDFS上复制可以提高可用性与可靠性
vi masters
backup
vi slaves
hadoop1
hadoop2
hadoop3
在将这些文件复制到集群上的所有节点之后,一定要格式化HDFS以准备好存储数据
bin/hadoop namenode -format
模式之间的切换如何做?
有一个技巧在开始使用Hadoop时是很有用的,就是使用符号链接而不是不断编辑XML文件来切换Hadoop的模式,为了做到这一点,需要为每种模式分别生成一个配置目录,并相应地放入恰当版本的XML文件
然后,就可以使用Linux的ln命令 (例如 ln -s conf.cluster conf) 在不同配置之间切换。这个技巧还有助于临时把一个节点从集群中分离出来,从而通过伪分布模式来调试一个MapReduce程序,但需要确保这些模式在HDFS上有不同的文件存储位置,并且在改变配置之前还应该停止所有的守护进程。
基于Web的集群用户界面
NameNode通过端口50070提供常规报告,描绘集群上HDFS的状态视图。
通过这个界面,可以通览文件系统,检查集群每个DataNode的状态,并详细查看Hadoop守护进程的日志来判断集群当前运行是否正确。
JobTracker通过端口50030提供视图,包括MapReduce中任务的运行时状态,以及整个作业的详细报告。详细报告指的是:这些日志描述了哪个节点执行了哪个任务,以及需要完成每个任务所需的时间或资源比,还可以获得Hadoop对个作业的配置。
感谢各位的阅读,以上就是“Hadoop配置的模式有哪些”的内容了,经过本文的学习后,相信大家对Hadoop配置的模式有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。