- 浏览: 84442 次
文章分类
最新评论
HA(High Available), 高可用性群集,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。
一、准备
1、4台linux系统;
2、检查联网
3、检查各hosts文件
4、检查ssh
5、检查各节点的jvm配置
6、将配置好的hadoop目录拷贝到其他节点:
scp -r itcast hadoop@skx2:/home/hadoop
7、检查各配置文件
二、启动
1、启动journalnode
在各个JournalNode节点上,输入以下命令启动journalnode服务:
sbin/hadoop-daemon.sh start journalnode
[hadoop@skx4 hadoop-2.3.0]$ jps
3373 Jps
3322 JournalNode
2、对主namenode(nn1)进行格式化,并启动:
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
异常:
No Route to Host from skx1.localdomain/192.168.10.101 to skx4:8485 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host;
关闭skx4的防火墙
[hadoopn@skx4 ~]$ su root
Password:
[root@skx4 hadoop]# service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
3、[nn2]同步nn1的元数据信息:
bin/hdfs namenode -bootstrapStandby
4、启动nn2;
sbin/hadoop-daemon.sh start namenode
查看50070:
skx1:9000' (standby)
异常:skx4 host=java.net.NoRouteToHostException:
检查Namenode的9000端口是否在监听:
$ netstat -nap | grep 9000
异常:
host = java.net.UnknownHostException:
修改etc/sysconfig/network文件:
NETWORKING=yes
HOSTNAME=skx4.localdomain
在hosts文件修改为:
192.168.10.104 skx4 skx4.localdomain
如还不能启动,确认skx4在/etc/hosts文件中映射为正确的IP地址,重启网络服务:
[root@skx4 bin]# /etc/rc.d/init.d/network restart
异常消除:
STARTUP_MSG: host = skx4.localdomain/192.168.10.104
异常:java.lang.IllegalStateException: Could not determine own NN ID in namespace 'hadoop-test'. Please ensure that this node is one of the machines listed as an NN RPC address, or configure dfs.ha.namenode.id
如下修改,也不知道为什么,异常消除:
<property>
<name>dfs.namenode.rpc-address.hadoop-test.nn2</name>
<value>192.168.10.104:9000</value>
<description>
RPC address for nomenode2 of hadoop-test
</description>
</property>
异常:java.io.FileNotFoundException: /home/hadoop/itcast/hadoop-2.3.0/logs/hadoop-hadoop-namenode-skx4.localdomain.log (Permission denied)
应该是权限问题
root@skx4 hadoop]# chmod -R 777 /home/hadoop/itcast/ 下次启动又报错了。。
使用如下:
[root@skx4 /]# chmod -R a+w /home/hadoop/itcast
进入浏览器:http://192.168.10.104:50070/dfshealth.html
Overview '192.168.10.104:9000' (standby)
但是换成skx4不行
在每个hosts文件加上相应的localdomain 后重启后,改回skx4可行;
5、现在namenode为standby状态,将其中一个切换为active状态:
bin/hdfs haadmin -transitionToActive nn1
http://skx1:50070/dfshealth.html
Overview 'skx1:9000' (active)
6、启动datanode
sbin/hadoop-daemons.sh start datanode
异常:java.io.IOException: Incompatible clusterIDs in /home/hadoop/itcast/hadoop-2.3.0/dfs/data: namenode clusterID = CID-9ebd1941-ecd4-478c-83c0-eaad874e0dc2; datanode clusterID = CID-b8140ab4-40d4-4a3e-a8a5-6b6b2e5af133
说的是namedate下的version clusterID与datanode 下的clusterID不同;
将datanode里面的version clusterID修改为namenode中的一样;
出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。
异常:只启动了当前节点的datanode,而skx2/skx3/skx4没有启动:
skx4: no namenode to stop
skx1: stopping namenode
skx2: no datanode to stop
skx4: no datanode to stop
skx3: no datanode to stop
Stopping journal nodes [skx4 skx3 skx2]
skx3: stopping journalnode
skx2: stopping journalnode
skx4: stopping journalnode
解决方法:修改Master的name/current/ namespaceID使其与Slave的 name/current / namespaceID一致。
异常:[hadoop@skx4 hadoop-2.3.0]$ jps
3007 -- process information unavailable
进入本地文件系统的/tmp目录下,删除名称为hsperfdata_hadoop的文件夹,然后重新启动Hadoop。
异常:[hadoop@skx1 hadoop-2.3.0]$ bin/hdfs haadmin -transitionToActive nn1
15/03/24 23:59:53 INFO ipc.Client: Retrying connect to server: skx1/192.168.10.101:9000. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=1, sleepTime=1000 MILLISECONDS)
1、查看jps中是否有namenode进程(查看是否启动)
2、查看log日志
3、检查防火墙是否关闭|关闭 /etc/init.d/iptables stop
异常;java.io.EOFException
原因没有启动 journalnode
解决方法:启动journalnode
在浏览器上只看见了skx1的datanode。。。
说明其他datanode没有启动起来:
手动启动,在每个节点上执行:bin/Hadoop-daemon.sh start DataNode
但是Live Nodes 1 (Decommissioned: 0)还是只显示一个
而在In Operation中
刷新能看到其他datanode节点
解决方法:删除配置的dfs目录和log目录;启动sbin/start-dfs.sh
bin/hdfs haadmin -transitionToActive nn1
好一切启动正常:
测试1:创建文件目录(一层一层的建)
[hadoop@skx1 hadoop-2.3.0]$ bin/hadoop fs -mkdir /home
hadoop@skx1 hadoop-2.3.0]$ bin/hadoop fs -mkdir /home/skx1
查看:[hadoop@skx1 hadoop-2.3.0]$ bin/hadoop fs -ls /home
启动yarn:
sbin/start-yarn.sh
异常:INFO org.apache.hadoop.service.AbstractService: Service RMActiveServices failed in state INITED; cause: java.lang.RuntimeException: Failed to initialize scheduler
Caused by: org.xml.sax.SAXParseException; systemId: file:/home/hadoop/itcast/hadoop-2.3.0/etc/hadoop/fairscheduler.xml; lineNumber: 2; columnNumber: 1; Content is not allowed in prolog.
是xml写错了,修改后启动
查看:
[hadoop@skx1 hadoop-2.3.0]$ jps
4584 NameNode
5915 ResourceManager
6001 Jps
url:http://skx1:8088/
启动成功
配置样本见附件
一、准备
1、4台linux系统;
2、检查联网
3、检查各hosts文件
4、检查ssh
5、检查各节点的jvm配置
6、将配置好的hadoop目录拷贝到其他节点:
scp -r itcast hadoop@skx2:/home/hadoop
7、检查各配置文件
二、启动
1、启动journalnode
在各个JournalNode节点上,输入以下命令启动journalnode服务:
sbin/hadoop-daemon.sh start journalnode
[hadoop@skx4 hadoop-2.3.0]$ jps
3373 Jps
3322 JournalNode
2、对主namenode(nn1)进行格式化,并启动:
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
异常:
No Route to Host from skx1.localdomain/192.168.10.101 to skx4:8485 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host;
关闭skx4的防火墙
[hadoopn@skx4 ~]$ su root
Password:
[root@skx4 hadoop]# service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
3、[nn2]同步nn1的元数据信息:
bin/hdfs namenode -bootstrapStandby
4、启动nn2;
sbin/hadoop-daemon.sh start namenode
查看50070:
skx1:9000' (standby)
异常:skx4 host=java.net.NoRouteToHostException:
检查Namenode的9000端口是否在监听:
$ netstat -nap | grep 9000
异常:
host = java.net.UnknownHostException:
修改etc/sysconfig/network文件:
NETWORKING=yes
HOSTNAME=skx4.localdomain
在hosts文件修改为:
192.168.10.104 skx4 skx4.localdomain
如还不能启动,确认skx4在/etc/hosts文件中映射为正确的IP地址,重启网络服务:
[root@skx4 bin]# /etc/rc.d/init.d/network restart
异常消除:
STARTUP_MSG: host = skx4.localdomain/192.168.10.104
异常:java.lang.IllegalStateException: Could not determine own NN ID in namespace 'hadoop-test'. Please ensure that this node is one of the machines listed as an NN RPC address, or configure dfs.ha.namenode.id
如下修改,也不知道为什么,异常消除:
<property>
<name>dfs.namenode.rpc-address.hadoop-test.nn2</name>
<value>192.168.10.104:9000</value>
<description>
RPC address for nomenode2 of hadoop-test
</description>
</property>
异常:java.io.FileNotFoundException: /home/hadoop/itcast/hadoop-2.3.0/logs/hadoop-hadoop-namenode-skx4.localdomain.log (Permission denied)
应该是权限问题
root@skx4 hadoop]# chmod -R 777 /home/hadoop/itcast/ 下次启动又报错了。。
使用如下:
[root@skx4 /]# chmod -R a+w /home/hadoop/itcast
进入浏览器:http://192.168.10.104:50070/dfshealth.html
Overview '192.168.10.104:9000' (standby)
但是换成skx4不行
在每个hosts文件加上相应的localdomain 后重启后,改回skx4可行;
5、现在namenode为standby状态,将其中一个切换为active状态:
bin/hdfs haadmin -transitionToActive nn1
http://skx1:50070/dfshealth.html
Overview 'skx1:9000' (active)
6、启动datanode
sbin/hadoop-daemons.sh start datanode
异常:java.io.IOException: Incompatible clusterIDs in /home/hadoop/itcast/hadoop-2.3.0/dfs/data: namenode clusterID = CID-9ebd1941-ecd4-478c-83c0-eaad874e0dc2; datanode clusterID = CID-b8140ab4-40d4-4a3e-a8a5-6b6b2e5af133
说的是namedate下的version clusterID与datanode 下的clusterID不同;
将datanode里面的version clusterID修改为namenode中的一样;
出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。
异常:只启动了当前节点的datanode,而skx2/skx3/skx4没有启动:
skx4: no namenode to stop
skx1: stopping namenode
skx2: no datanode to stop
skx4: no datanode to stop
skx3: no datanode to stop
Stopping journal nodes [skx4 skx3 skx2]
skx3: stopping journalnode
skx2: stopping journalnode
skx4: stopping journalnode
解决方法:修改Master的name/current/ namespaceID使其与Slave的 name/current / namespaceID一致。
异常:[hadoop@skx4 hadoop-2.3.0]$ jps
3007 -- process information unavailable
进入本地文件系统的/tmp目录下,删除名称为hsperfdata_hadoop的文件夹,然后重新启动Hadoop。
异常:[hadoop@skx1 hadoop-2.3.0]$ bin/hdfs haadmin -transitionToActive nn1
15/03/24 23:59:53 INFO ipc.Client: Retrying connect to server: skx1/192.168.10.101:9000. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=1, sleepTime=1000 MILLISECONDS)
1、查看jps中是否有namenode进程(查看是否启动)
2、查看log日志
3、检查防火墙是否关闭|关闭 /etc/init.d/iptables stop
异常;java.io.EOFException
原因没有启动 journalnode
解决方法:启动journalnode
在浏览器上只看见了skx1的datanode。。。
说明其他datanode没有启动起来:
手动启动,在每个节点上执行:bin/Hadoop-daemon.sh start DataNode
但是Live Nodes 1 (Decommissioned: 0)还是只显示一个
而在In Operation中
刷新能看到其他datanode节点
解决方法:删除配置的dfs目录和log目录;启动sbin/start-dfs.sh
bin/hdfs haadmin -transitionToActive nn1
好一切启动正常:
测试1:创建文件目录(一层一层的建)
[hadoop@skx1 hadoop-2.3.0]$ bin/hadoop fs -mkdir /home
hadoop@skx1 hadoop-2.3.0]$ bin/hadoop fs -mkdir /home/skx1
查看:[hadoop@skx1 hadoop-2.3.0]$ bin/hadoop fs -ls /home
启动yarn:
sbin/start-yarn.sh
异常:INFO org.apache.hadoop.service.AbstractService: Service RMActiveServices failed in state INITED; cause: java.lang.RuntimeException: Failed to initialize scheduler
Caused by: org.xml.sax.SAXParseException; systemId: file:/home/hadoop/itcast/hadoop-2.3.0/etc/hadoop/fairscheduler.xml; lineNumber: 2; columnNumber: 1; Content is not allowed in prolog.
是xml写错了,修改后启动
查看:
[hadoop@skx1 hadoop-2.3.0]$ jps
4584 NameNode
5915 ResourceManager
6001 Jps
url:http://skx1:8088/
启动成功
配置样本见附件
发表评论
-
12、数据分析系统Hive/Pig
2015-03-28 00:22 518Hive(Facebook)构建在Hadoop ... -
11、hadoop--数据收集原理
2015-03-27 18:56 581常见的两种数据来源 分散的数据源: 机器产生的数据; ... -
10、zookeeper
2015-03-27 11:34 348zookeeper是一个针对大型分布式系统的可靠协调 ... -
9、HBase客户端程序开发
2015-03-27 10:48 1004开发接口实现方式: Native Java API 最常规 ... -
7、Hbase基本框架
2015-03-26 23:31 436HBase是一个构建在HDFS上的分布式列存储系统; ... -
7、Yarn--MapReduce2.0
2015-03-26 14:09 8951、yarn介绍: MapReduce 2.0和YARN区别: ... -
6、HA+Federation 详解
2015-03-26 14:05 559now is nullnow is nullnow is nu ... -
5、hadoop多节点(HA + Federation)
2015-03-26 13:42 797一、准备 1、4台linux系统 2、检查联网 3、检查各 ... -
3、hadoop 单节点 安装配置与测试
2015-03-24 12:39 654在hadoop/home中创建目录 itcast m ... -
2、hadoop 安装准备
2015-03-17 12:39 483准备工作:hadoop2.3 64 ... -
1、初相见 hadoop
2015-03-16 14:08 388_______了,把hadoop好好研 ... -
1、FastDFS
2015-03-14 21:52 0wwwwwwwwwwwwwwwwwwww http://blo ...
相关推荐
YARN HA 测试Job YARN HA 测试Job 序号 任务名称 任务一 准备MapReduce输入文件 任务二 将输入文件上传到HDFS 任务三 运行MapReduce程序测试Job 任务一 准备MapReduce输入文件 在master主节点,使用 root 用户登录,...
1. 集群环境的节点分布 2. 演示修改主机名 3. 演示配置 hosts 文件 4. 演示免密码登录
第1章 HDFS HA及解决方案 1.1 HDFS系统架构 1.2 HA定义 1.3 HDFS HA原因分析及应对措施 1.3.1 可靠性 1.3.2 可维护性 1.4 现有HDFS HA解决方案 1.4.1 Hadoop的元数据备份方案 1.4.2 Hadoop的SecondaryNameNode方案 ...
1、Hadoop2.0高阶运维,包括Hadoop节点增加删除、HDFS和YARN的HA实现, HDFS Federation实现等 2、搭建本地Yum部署CDH5的重要组件和优化配置 3、Impala、Oozie和Hue的部署、使用操作及调优 4、Hadoop安全认证及授权...
HDFS HA通常由两个NameNode组成,一个处于Active状态,另一个处于Standby状态。Active NameNode对外提供服务,而...Zookeeper的作用是负责HDFS中NameNode主备节点的选举,和YARN框架下ResourceManaer主备节点的选举。
hadoop HA 高可用性 本文提供了一个HDFS 的高可用性(HA )功能的概述,以及如何配置和管理HDFS 高可用性(HA) 集群。本文档假定读者具有对HDFS 集群的组件和节点类型具有一定理解
07-hdfs--动态增加节点和副本数量管理.avi 08-HA的java api访问要点.avi 09-hive入门.avi 第六天 hbase hive 01-复习ha相关.avi 02-hive的元数据库mysql方式安装配置.avi 03-hive的使用.avi 04-hive的常用...
4_循环-函数-数组-重载 5_多为数组-冒泡-折半-选择排序 6_oop-封装-继承-static-final-private 7_多态-接口-异常体系 8_适配器/ k% N! Y7 j/ |- c) O5 M' V6 S 9_多线程-yield-join-daemon-synchronized; o, E; \* I...
1.2 HDFS通信协议 4 1.2.1 Hadoop RPC接口 4 1.2.2 流式接口 20 1.3 HDFS主要流程 22 1.3.1 HDFS客户端读流程 22 1.3.2 HDFS客户端写流程 24 1.3.3 HDFS客户端追加写流程 25 1.3.4 Datanode启动、心跳...
在此BootCamp中,我实现了#HDFS系统(4个虚拟机,HA风格,2个NameNode,3 JournalNode,3个#ZooKeeper)和#Yarn系统(2个资源管理器,3个节点管理器,HA风格)。 构建它之后,我编写了一个topn java mapreduce代码...
1.集群规划 2.解压安装 4.集群操作 1.官方地址 2.在opt目录下创建一个ha文件夹 7.拷贝配置好的hadoop环境到其他节点 1.在各个Journa
Hadoop2.2.0版本 - 虚拟机VMWare - Linux(ubuntu) ,多节点伪分布环境搭建详细操作手册,可以直接用于完全分布。每一步都有自己详细操作记录和相关说明,几夜风雨的辛劳搭建和测试。 此操作手册搭建的集群详细说明: ...
1.HDFS-HA工作要点 1.1.元数据管理方式需要改变 内存中各自保存一份元数据; Edits日志只有Active状态的NameNode节点可以做写操作;(备份的那个不提供写操作–编辑日志不同步) 两个NameNode都可以读取Edits; 共享的...
部署 HDFS HA 架构; 理解并实现 Hadoop YARN 的多 租户架构 掌握 Zookeeper 组件原理; 掌握 Hadoop 集群优化路径; 3 传统数据仓库在⾯对更⼤规模数据时显得⼒不从⼼,在寄希望于⼤数据平台时,MapReduce 编程门槛让...
HDFS,Hbase,具有HCat集成和Elastic Search的Hive 附加的: 用Ganglia进行监视 Nagios的心脏警报 这是一部分 跑步 要启动并运行虚拟机,请执行以下操作: git clone git://github.com/DemandCube/Scribengin cd...
a)它是 NameNode 的热备 b)它对内存没有要求 c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间 d)SecondaryNameNode 应与 NameNode 部署到一个节点 多选题 8. 下列哪项可以作为集群的管理工具 ...
安全 架构安全、认证安全、⽂件系统层加密 可靠 所有管理节点组件均实现HA(High Availability) 集群异地灾备 数据备份恢复 易⽤ 统⼀运维管理 易集成 易开发 系统架构 Manager 作为运维系统,为FusionInsight HD...
4. 4单选(2分)Hadoop的两大核心是 和 () [单选题] * 大数据技术原理与应用全文共10页,当前为第1页。 A.HDFS; HBase B.MapReduce; HBase C.GFS; MapReduce D.HDFS; MapReduce(正确答案) 5. 5单选(2分)HDFS默认的一...
HDFS的HA共识检测和处理损坏的块的过程实木复合地板和立柱式货架备用名称节点vs备用名称节点Hadoop生态系统구성요소별分区의의미 Hadoop生态系统中的“分区”是什么? 什么是MapReduce溢出? vm.swappiness vm....