5-3 hadoop集群搭建
来源:互联网 发布:js方法参数为对象 编辑:程序博客网 时间:2024/06/06 01:51
在我们伪分布式里面hdfs老大只有一个,现在,hdfs为了高可靠性,要有多个namenode【如果一个namenode死了之后,整个就瘫痪了】,进行实时切换,
hadoop2.0把namenode进行了一个抽象,变成了一个nameservice,在一个nameservice里面,有两个namenode。
但是,有两个namenode是不是得有个“人”来协调,否则要不都是active,要不都是stand by。这个协调就是zookeeper进行的一个选举,确保整个nameservice只有一个活跃的namenode。
zookeeper可以用来进行切换,把某个standby变成active
namenode的瓶颈是内存,无法存储千亿以上的数据,我们还可以通过水平扩展来解决,【即由一个nameservice变成了两个nameservice】,
hadoop保持高可靠性的原理
这个是hadoop保持高可靠性的原因:
一个namenode是active,另一个是stand by,他们的进程协调依赖ZK,每个namenode所在的机器都有一个JKFC【FaloverControler】,它给namenode发送指令,一个是切换,也要监控namenode的状态,一旦down掉之后,FC会把信息发送给ZooKeeper,另一个【右边一个】JKFC从ZK里面得到这个信息,它给namenode发送一个命令,让它从stand by切换到active状态。
总结:
在没有出现问题之前,在nameservice下面有两个namenode,活跃状态namenode会把edits写入到中间那个绿色的东西里【是什么忘了,叫介质】,实时同步到standby,一旦介质发生变化,stand by从里面读,FC会监控namenode的状态,将信息发送给ZK,而且ZK里面的信息是同步的,从另一边得到之后,给stand by发送指令,让他完成切换,因此,我的FC必须要依赖ZooKeeper
Hadoop在中间的介质里,一种是使用NFS【网络文件系统】,一种是使用jornal node,用来存放edits文件。
原理介绍清楚之后,开始搭建集群:
集群规划:
主机名 IP 安装的软件 运行的进程
itcast01 192.168.1.201 jdk、hadoop NameNode、DFSZKFailoverController
itcast02 192.168.1.202 jdk、hadoop NameNode、DFSZKFailoverController
itcast03 192.168.1.203 jdk、hadoop ResourceManager
itcast04 192.168.1.204 jdk、hadoop、zookeeperDataNode、NodeManager、JournalNode、QuorumPeerMain
itcast05 192.168.1.205 jdk、hadoop、zookeeperDataNode、NodeManager、JournalNode、QuorumPeerMain
itcast06 192.168.1.206 jdk、hadoop、zookeeperDataNode、NodeManager、JournalNode、QuorumPeerMain
先看hadoop集群的规划:IP地址在上一节已经配置好了,jdk和zookeeper也安装好了,接下来要安装hadoop,
6台机器,每台机器都要安装一些进程,namenode要把信息汇报给ZK,所以每个namenode上面都有一个DFSZK,
另一台机器安装RM,【为什么不跟namenode放一起?可以,但是竞争资源】,要分开部署,因为都是老大,
接下来,是datanode(namenode的小弟)和nodemanager(yarn的小弟),它们最好要放在一起,【nodemanager最后要读取数据,最好从本地读取,datanode里面存的数据】
JournalNode用来存放共享的share edits【中间深绿的那个】。
集群搭建有空再弄(有一个文件hadoop2.2.0集群搭建.txt)
属性有好几十个【因为功能变强大了】,配置文件根据那个txt文件来部署,自己弄,就不写了
根据规划:01,02上运行NN,DFSZKF,03运行RM,040506运行
我在01上先安装hadoop,
修改配置文件,以前配置伪分布式的时候要修改5个文件,现在要修改6个配置文件
core-site hdfs-site yarn-site mapred-site env slaves【这个决定你小弟在哪台机器上】
找Java_HOME的方法:echo $Java_HOME回车
现在要添加三个property,属性1:fs.defalutFS,以前是配主机名+端口号,但是现在,我们把它抽象成一个nameservice,以后我要连接nameservice,而不是连接namenode,nameservice帮我切换,它根据哪个是活跃的然后连哪个
2.hadoop运行时会产生文件,这些是文件的存放目录
3.告诉我们zookeeper的地址,多个用逗号来分隔,
【未完成,看不下去了。】
- 【5-3】hadoop集群搭建
- 5-3 hadoop集群搭建
- CentOS6.5搭建Hadoop集群
- Hadoop 1.0.3 集群搭建
- hadoop集群搭建2.7.3
- hadoop集群搭建(hadoop)
- HADOOP: 搭建hadoop集群
- Hadoop 2.0.5-alpha集群搭建02-Hadoop集群配置
- 【hadoop】13、hadoop2.5搭建集群
- hadoop学习5 搭建storm集群
- 基于CENTOS6.5搭建Hadoop集群
- hadoop-CDH5.3 集群搭建(详细)
- Hadoop-2.7.3集群(HDFS)搭建
- Hadoop-2.7.3集群(YARN)搭建
- Hadoop<集群搭建Centos7.3+Hadoop2.8.0>
- Hadoop集群搭建1Master、3Slaves
- hadoop集群搭建
- Hadoop集群的搭建
- js代码不运行
- Dynamics CRM2013 Odata的filter中含有日期字段时遇到的一个奇葩问题
- Your content must have a ListView whose id attribute is 'android.R.id.list'
- css引用图片的方法
- 一套关于 Django 的笔试题
- 5-3 hadoop集群搭建
- [C#]使用API 获取设置系统热键和快捷键
- 安卓开发 检测WIFI是否可用的另一种方法
- CodeForces 615 B. Longtail Hedgehog(dp)
- 1062. Talent and Virtue (25)
- mysql安装的问题及解决
- Factory
- Maven:mirror和repository 区别
- 【BZOJ2242】【SDOI2011】计算器(快速幂+扩欧+BSGS)