`

4、hadoop 多节点部署和测试(HA_HDFS)

 
阅读更多
     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/

启动成功

配置样本见附件
  • 大小: 73.6 KB
  • 大小: 32.3 KB
  • 大小: 8.6 KB
  • 大小: 1.9 KB
  • 大小: 47.6 KB
分享到:
评论

相关推荐

    HDFS.zip_Hadoop 平台_hadoop_hdfs

    HDFS遵循主从结构,包含一个NameNode(主节点)和多个DataNode(从节点)。NameNode负责元数据管理,如文件系统命名空间和文件块信息,而DataNode则实际存储数据。文件被分割成多个块,这些块分别存储在不同的...

    Hadoop_HDFS安装和管理

    本文档详细介绍了Hadoop HDFS的安装和管理过程,从环境准备、用户创建、主机名配置、HDFS部署等多个方面进行了详细介绍。这些步骤对于成功部署Hadoop HDFS至关重要,有助于搭建稳定可靠的Hadoop集群。通过本文档的...

    HadoopHA集群部署、YARNHA测试Job教学课件.pptx

    【Hadoop HA 集群部署与 YARN HA 测试Job 教学】 在大数据处理领域,Hadoop 是一个至关重要的分布式计算框架,它提供了高可用性(HA)的特性来确保服务的连续性和稳定性。Hadoop HA 主要指的是 HDFS(Hadoop ...

    HadoopHA集群部署、HDFSHA配置、启动与验证教学课件.pptx

    在构建高可用(HA)Hadoop集群时,HDFS(Hadoop Distributed File System)HA配置是关键步骤,目的是确保即使NameNode节点发生故障,数据访问和服务也不会中断。本教程将详细讲解如何配置、启动和验证Hadoop HA集群...

    Day05_HDFS深入及Hadoop HA.pdf

    在深入探讨HDFS深入及Hadoop HA相关知识点之前,首先需要了解标题和描述中提及的几个关键点:课程回顾、基础课程价值信息、入门课程、分布式计算条件、HDFS深入、Hadoop HA架构、Zookeeper功能及应用场景、Hadoop ...

    HadoopHA集群配置文件

    其中,`fs.defaultFS`属性非常重要,它定义了Hadoop应用程序访问HDFS的默认命名节点地址,例如设置为`hdfs://nameservice1`表示使用HA命名服务。 2. `hdfs-site.xml`: 这个文件是HDFS(Hadoop Distributed File ...

    HadoopHA集群部署、YARNHA配置、启动与验证教学课件.pptx

    【Hadoop HA集群部署】是高可用(High Availability)配置的一种,主要目的是为了确保Hadoop分布式文件系统在遇到单点故障时,能够自动切换到备用节点,保证服务不间断。这通常涉及到NameNode HA,Secondary NameNode...

    11-Hadoop部署多机HDFS+HA+Federation+YARN1

    总之,成功部署Hadoop的HDFS HA+Federation+YARN涉及多步骤,包括配置文件的修改、各个节点服务的启动以及验证整个系统的正常运行。这个过程需要细心和耐心,但一旦完成,将提供一个高可用、可扩展的大数据处理平台...

    HadoopHA集群部署、规划HadoopHA集群教学课件.pptx

    总结来说,Hadoop HA集群部署涉及多个层面,包括硬件规划、软件配置、网络设置以及安全策略等。正确配置和管理这些组件,能确保Hadoop集群在面对单点故障时仍能提供稳定的服务,提高整体系统的可靠性。

    细细品味Hadoop(Hadoop安装及配置).rar_hadoop_细细品味Hadoop

    - 配置`etc/hadoop/hdfs-site.xml`,设定副本数量、名称节点和数据节点等参数。 - 配置`etc/hadoop/mapred-site.xml`,指定MapReduce的运行模式(YARN或经典模式)以及相关参数。 - 配置`etc/hadoop/yarn-site....

    HDFS Router-Based Federation Rebalancer.pdf_hdfs_

    4. 容错机制:深入理解HDFS的HA(高可用性)和NN Federation(命名空间联邦),以及它们如何协同工作以保证服务的连续性。 5. 源码分析:通过阅读HDFS的源码,可以深入了解其内部工作原理,包括数据块迁移的实现细节...

    Hadoop2.0部署文档

    部署完成后,需要进行一系列测试,如检查HDFS健康状态、手动故障转移等,以确保HA功能正常。同时,定期监控和维护集群,确保数据安全和系统稳定性。 通过以上步骤,即可完成一个基本的Hadoop 2.0 HA集群的部署。...

    Hadoop_硬件HA_配置

    总结来说,配置Hadoop硬件HA涉及多方面的步骤,包括服务器准备、共享存储设置、RHCS组件的安装和配置,以及集群和fence设备的图形化配置。这个过程旨在提高NameNode的可用性,降低单点故障的风险,从而增强整体...

    hadoop-2.7.2/4-ha-conf

    标题中的"hadoop-2.7.2/4-ha-conf"指的是Hadoop分布式文件系统(HDFS)在高可用性(HA)模式下的配置文件,适用于Hadoop的2.7.2和2.7.4两个版本。HA是Hadoop为了确保在主NameNode故障时能无缝切换到备用NameNode,...

    win10编译过的hadoo2.6.4包括hadoop.dll和winutils.exe

    同时,配置core-site.xml和hdfs-site.xml文件以指定HDFS的相关参数,如名称节点地址、数据节点目录等。对于winutils.exe,需要将其添加到系统PATH环境变量中,以便在命令行中直接调用。 总的来说,"win10编译过的...

    Hadoop HA搭建笔记和配置文件

    10. **测试与监控**:通过写入和读取数据到HDFS,以及提交MapReduce作业,验证HA功能是否正常。同时,应定期检查日志和监控系统,确保NameNode和ResourceManager的健康状态。 在提供的压缩包文件中,"HDP HAģʽ...

    HadoopHA高可用集群配置 hdfs-site.xml

    Hadoop HA(High Availability)是指通过在集群中部署多个NameNode实例来提高Hadoop集群的可用性。通常情况下,一个集群包含两个NameNode实例:一个是主动节点(Active),另一个是备用节点(Standby)。当主动节点出现...

Global site tag (gtag.js) - Google Analytics