hadoop2.0 HA高可用笔记和搭建流程
来源:互联网 发布:知乎大神 微博 编辑:程序博客网 时间:2024/06/05 09:03
一:hadoop2.X 笔记
hadoop1.0中,HDFS存在的问题-NameNode单点故障
-NameNode压力过大、内存受限
MapReduce存在的问题 ---mapReduce 计算时间 比较长
JobStacker 访问压力大,影响系统的扩容性
在1.x中 不支持spark。storm
Hadoop2.x 由Hdfs、MapReduce和YARN三个分支构成:
HDFS:NN federation(联合会、联邦) 是两个独立的NameNode、HA
YARN:资源管理系统
MapReduce:运行在YARN上的计算框架、或者其它计算框架
HA(high Available) :NameNodes 中只有一个处于Active 状态,其他的处在Standby 状态。其中ActiveNameNode 负责集群中的所有客户端操作,StandbyNameNode 仅仅充当备机,保证一旦ActiveNameNode 出现问题能够快速切换
二:hadoop2.5.2 HA搭建流程
前面基本流程和hadoop1差不多,参考配置http://blog.csdn.net/hu948162999/article/details/39059755
一个4台机器。指定节点如下:
一:解压之后。修改hadoop-env.sh和yarn-env.sh。指定JAVA_HOME
虽然默认配置了${JAVA_HOME}的环境变量,但是hadoop启动时,会提示找不到,没有办法,指定绝对路径,这个是必须的。
二:修改hdfs-site.xml
<property> <name>dfs.ha.namenodes.mycluster</name> <value>nn1,nn2</value></property><!--配置rpc协议的端口--><property> <name>dfs.namenode.rpc-address.mycluster.nn1</name> <value>host1:8020</value></property><property> <name>dfs.namenode.rpc-address.mycluster.nn2</name> <value>host2:8020</value></property><!--配置http的端口--><property> <name>dfs.namenode.http-address.mycluster.nn1</name> <value>host1:50070</value></property><property> <name>dfs.namenode.http-address.mycluster.nn2</name> <value>host2:50070</value></property><!--配置journalNode的 url地址--><property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://host2:8485;host3:8485;host4:8485/mycluster</value></property><!--配置客户端使用的一个类,配置失败自动切换实现方式--><property> <name>dfs.client.failover.proxy.provider.mycluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><!-- 配置隔离机制--><property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value></property><!--配置隔离机制的时候 需要ssh 免密码登录--><property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_rsa</value></property><!--配置journalnode 目录--><property> <name>dfs.journalnode.edits.dir</name> <value>/opt/hadoop/journal/data</value></property><!-- 开启失败自动切换--> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property></configuration>
三:修改core-site.xml namenode配置
包括了 zookeeper的相关配置(host1,host2,host3作为zk节点,参考:http://blog.csdn.net/hu948162999/article/details/45063579),分别在
host1.host2,host3机器上启动zk。
<configuration><!--配置hdfs的入口--><property> <name>fs.defaultFS</name> <value>hdfs://mycluster</value></property><property> <!-- 设置hadoop的工作目录,默认在linux的tmp目录,linux的tmp目录,每次重启都清空,其它一些目录(hdfs)都是以这些目录为基本目录的--> <name>hadoop.tmp.dir</name> <value>/opt/hadoop/workdir</value></property><property> <name>ha.zookeeper.quorum</name> <value>host1:2181,host2:2181,host3:2181</value> </property></configuration>
host2host3host4
sbin/hadoop-daemon.sh start journalnode
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
bin/hdfs namenode -bootstrapStandby
九:创建znode在zk上,在一个namenode上面
bin/hdfs zkfc -formatZK
sbin/stop-dfs.sh
sbin/start-dfs.sh
如图,先启动namenode,datanode 然后启动journalnodes,最后启动zkfc ,每个namenode对应一个zkfc 。
jps 查看所有java进程,看是否节点状态正常
十一:配置MapReduce
mapred-set.xml和yarn-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
<configuration> <!-- 指定nodemanager启动时加载server的方式为shuffle server --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定resourcemanager地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>host1</value> </property></configuration>
配置全部OK。这个时候可以启动 sbin/start-all.sh
0 0
- hadoop2.0 HA高可用笔记和搭建流程
- Hadoop2.5的HDFS集群HA搭建(高可用集群)
- centos7 搭建ha(高可用)hadoop2.7.3集群
- centos7 搭建ha(高可用)hadoop2.7.3集群
- centos7 搭建ha(高可用)hadoop2.7.3集群
- centos7 搭建ha(高可用)hadoop2.7.3集群
- 配置Hadoop2.xx的高可用(Hadoop2.0 HA)
- hadoop2.0生产环境高可用集群原理和搭建
- hadoop2.7.3 HA高可用集群安装
- hadoop2.0 HDFS搭建和HA切换
- hadoop-HA hadoop2.0 HDFS搭建和HA切换
- Hadoop2.6..0 HA高可靠性集群搭建(Hadoop+Zookeeper)
- Hadoop2.2.0 HA高可用分布式集群搭建(hbase,hive,sqoop,spark)
- 7台机器的hadoop2.4.1高可用(HA)集群搭建
- 大数据 hadoop2.6.0 高可用集群搭建(HA集群搭建)--亲测可用,入门必备
- Hadoop HA高可用集群原理和搭建
- Hadoop2.7.0 HA高可靠性集群搭建
- Hadoop2.7.2高可用(HA)环境下Hbase高可用(HA)环境的搭建(在Ubuntu14.04下以root用户进行配置)
- Android崩溃(一):小红点BadgeView导致的崩溃
- 交换机介绍
- iOS开发中更改应用程序启动图片
- MAC在Finder栏显示所浏览文件夹路径的方法
- C语言getopt()函数的使用
- hadoop2.0 HA高可用笔记和搭建流程
- ClipDrawable 截取图片片段实现缓缓加载图片
- Android开发笔记(十九)底部标签栏TabBar
- 数据库学习笔记
- ajax执行domino代理并返回数据(Get方法)
- ASP.NET MVC 使用Jquery Ajax实现登录
- angular发送multipart/form-data文件的方法
- Excel 表导入 SQL Server 2005
- 7 Steps for becoming Deep Learning Expert 成为深度学习专家的七个步骤