Hadoop集群搭建(二)HDFS_2017
Hadoop集群配置与数据处理入门

Hadoop集群配置与数据处理入门1. 引言Hadoop是一个开源的分布式计算框架,被广泛应用于大规模数据处理和存储。
在本文中,我们将介绍Hadoop集群的配置和数据处理的基本概念与入门知识。
2. Hadoop集群配置2.1 硬件要求架设Hadoop集群需要一定的硬件资源支持。
通常,集群中包含主节点和若干个从节点。
主节点负责整个集群的管理,而从节点负责执行具体的计算任务。
在硬件要求方面,主节点需要具备较高的计算能力和存储空间。
从节点需要具备较低的计算能力和存储空间,但数量较多。
此外,网络带宽也是一个关键因素。
较高的网络带宽可以加快数据的传输速度,提升集群的效率。
2.2 软件要求Hadoop运行在Java虚拟机上,所以首先需要确保每台主机都安装了适当版本的Java。
其次,需要安装Hadoop分发版本,如Apache Hadoop或Cloudera等。
针对集群管理,可以选择安装Hadoop的主节点管理工具,如Apache Ambari或Cloudera Manager。
这些工具可以帮助用户轻松管理集群的配置和状态。
2.3 配置文件Hadoop集群部署需要配置多个文件。
其中,最重要的是核心配置文件core-site.xml、hdfs-site.xml和yarn-site.xml。
core-site.xml配置Hadoop的核心参数,如文件系统和输入输出配置等;hdfs-site.xml用于配置Hadoop分布式文件系统;yarn-site.xml配置Hadoop资源管理器和任务调度器相关的参数。
3. 数据处理入门3.1 数据存储与处理Hadoop的核心之一是分布式文件系统(HDFS),它是Hadoop集群的文件系统,能够在集群中存储海量数据。
用户可以通过Hadoop的命令行工具或API进行文件的读取、写入和删除操作。
3.2 数据处理模型MapReduce是Hadoop的编程模型。
它将大规模的数据集拆分成小的数据块,并分配给集群中的多个计算节点进行并行处理。
Hadoop集群配置详细

Linux系统配置
7安装JDK 将JDK文件解压,放到/usr/java目录下 cd /home/dhx/software/jdk mkdir /usr/java mv jdk1.6.0_45.zip /usr/java/
cd /usr/java
unzip jdk1.6.0_45.zip
从当前用户切换root用户的命令如下: 编辑主机名列表的命令
从当前用户切换root用户的命令如下:
Linux系统配置
操作步骤需要在HadoopMaster和HadoopSlave节点
上分别完整操作,都是用root用户。 从当前用户切换root用户的命令如下:
su root
从当前用户切换root用户的命令如下:
Linux系统配置
1拷贝软件包和数据包 mv ~/Desktop/software ~/
环境变量文件中,只需要配置JDK的路径
gedit conf/hadoop-env.sh
从当前用户切换root用户的命令如下: 编辑主机名列表的命令
Hadoop配置部署
3配置核心组件core-site.xml
gedit conf/core-site.xml
<configuration> <property> <name></name> /*2.0后用 fs.defaultFS代替*/ <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/dhx/hadoopdata</value> </property> </configuration>
hadoop核心组件概述及hadoop集群的搭建

hadoop核⼼组件概述及hadoop集群的搭建什么是hadoop? Hadoop 是 Apache 旗下的⼀个⽤ java 语⾔实现开源软件框架,是⼀个开发和运⾏处理⼤规模数据的软件平台。
允许使⽤简单的编程模型在⼤量计算机集群上对⼤型数据集进⾏分布式处理。
hadoop提供的功能:利⽤服务器集群,根据⽤户的⾃定义业务逻辑,对海量数据进⾏分布式处理。
狭义上来说hadoop 指 Apache 这款开源框架,它的核⼼组件有:1. hdfs(分布式⽂件系统)(负责⽂件读写)2. yarn(运算资源调度系统)(负责为MapReduce程序分配运算硬件资源)3. MapReduce(分布式运算编程框架)扩展:关于hdfs集群: hdfs集群有⼀个name node(名称节点),类似zookeeper的leader(领导者),namenode记录了⽤户上传的⼀些⽂件分别在哪些DataNode上,记录了⽂件的源信息(就是记录了⽂件的名称和实际对应的物理地址),name node有⼀个公共端⼝默认是9000,这个端⼝是针对客户端访问的时候的,其他的⼩弟(跟随者)叫data node,namenode和datanode会通过rpc进⾏远程通讯。
Yarn集群: yarn集群⾥的⼩弟叫做node manager,MapReduce程序发给node manager来启动,MapReduce读数据的时候去找hdfs(datanode)去读。
(注:hdfs集群和yarn集群最好放在同⼀台机器⾥),yarn集群的⽼⼤主节点resource manager负责资源调度,应(最好)单独放在⼀台机器。
⼴义上来说,hadoop通常指更⼴泛的概念--------hadoop⽣态圈。
当下的 Hadoop 已经成长为⼀个庞⼤的体系,随着⽣态系统的成长,新出现的项⽬越来越多,其中不乏⼀些⾮ Apache 主管的项⽬,这些项⽬对 HADOOP 是很好的补充或者更⾼层的抽象。
hadoop集群搭建实训报告

实训项目名称:搭建Hadoop集群项目目标:通过实际操作,学生将能够搭建一个基本的Hadoop集群,理解分布式计算的概念和Hadoop生态系统的基本组件。
项目步骤:1. 准备工作介绍Hadoop和分布式计算的基本概念。
确保学生已经安装了虚拟机或者物理机器,并了解基本的Linux命令。
下载Hadoop二进制文件和相关依赖。
2. 单节点Hadoop安装在一台机器上安装Hadoop,并配置单节点伪分布式模式。
创建Hadoop用户,设置环境变量,编辑Hadoop配置文件。
启动Hadoop服务,检查运行状态。
3. Hadoop集群搭建选择另外两台或更多机器作为集群节点,确保网络互通。
在每个节点上安装Hadoop,并配置集群节点。
编辑Hadoop配置文件,包括core-site.xml、hdfs-site.xml、mapred-site.xml等。
配置SSH无密码登录,以便节点之间能够相互通信。
4. Hadoop集群启动启动Hadoop集群的各个组件,包括NameNode、DataNode、ResourceManager、NodeManager 等。
检查集群状态,确保所有节点都正常运行。
5. Hadoop分布式文件系统(HDFS)操作使用Hadoop命令行工具上传、下载、删除文件。
查看HDFS文件系统状态和报告。
理解HDFS的数据分布和容错机制。
6. Hadoop MapReduce任务运行编写一个简单的MapReduce程序,用于分析示例数据集。
提交MapReduce作业,观察作业的执行过程和结果。
了解MapReduce的工作原理和任务分配。
7. 数据备份和故障恢复模拟某一节点的故障,观察Hadoop集群如何自动进行数据备份和故障恢复。
8. 性能调优(可选)介绍Hadoop性能调优的基本概念,如调整副本数、调整块大小等。
尝试调整一些性能参数,观察性能改善情况。
9. 报告撰写撰写实训报告,包括项目的目标、步骤、问题解决方法、实验结果和总结。
搭建hadoop集群的步骤

搭建hadoop集群的步骤Hadoop是一个开源的分布式计算平台,用于存储和处理大规模的数据集。
在大数据时代,Hadoop已经成为了处理海量数据的标准工具之一。
在本文中,我们将介绍如何搭建一个Hadoop集群。
步骤一:准备工作在开始搭建Hadoop集群之前,需要进行一些准备工作。
首先,需要选择适合的机器作为集群节点。
通常情况下,需要至少三台机器来搭建一个Hadoop集群。
其次,需要安装Java环境和SSH服务。
最后,需要下载Hadoop的二进制安装包。
步骤二:配置Hadoop环境在准备工作完成之后,需要对Hadoop环境进行配置。
首先,需要编辑Hadoop的配置文件,包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml。
其中,core-site.xml用于配置Hadoop的核心参数,hdfs-site.xml用于配置Hadoop分布式文件系统的参数,mapred-site.xml用于配置Hadoop的MapReduce参数,yarn-site.xml用于配置Hadoop的资源管理器参数。
其次,需要在每个节点上创建一个hadoop用户,并设置其密码。
最后,需要在每个节点上配置SSH免密码登录,以便于节点之间的通信。
步骤三:启动Hadoop集群在完成Hadoop环境的配置之后,可以启动Hadoop集群。
首先,需要启动Hadoop的NameNode和DataNode服务。
NameNode是Hadoop分布式文件系统的管理节点,负责管理文件系统的元数据。
DataNode是Hadoop分布式文件系统的存储节点,负责实际存储数据。
其次,需要启动Hadoop的ResourceManager和NodeManager服务。
ResourceManager 是Hadoop的资源管理器,负责管理集群中的资源。
NodeManager是Hadoop的节点管理器,负责管理每个节点的资源。
组建hadoop集群实验报告

组建hadoop集群实验报告一、实验目的本次实验的目的是通过组建Hadoop 集群,熟悉和掌握Hadoop 的部署过程和相关技术,加深对分布式计算的理解并掌握其应用。
二、实验环境- 操作系统:Ubuntu 20.04- Hadoop 版本:3.3.0- Java 版本:OpenJDK 11.0.11三、实验步骤1. 下载和安装Hadoop在官方网站下载Hadoop 的二进制文件,并解压到本地的文件夹中。
然后进行一些配置,如设置环境变量等,以确保Hadoop 可以正常运行。
2. 配置Hadoop 集群a) 修改核心配置文件在Hadoop 的配置目录中找到`core-site.xml` 文件,在其中添加以下配置:xml<configuration><property><name>fs.defaultFS</name><value>hdfs:localhost:9000</value></property></configuration>b) 修改HDFS 配置文件在配置目录中找到`hdfs-site.xml` 文件,在其中添加以下配置:xml<configuration><property><name>dfs.replication</name><value>1</value></property></configuration>c) 修改YARN 配置文件在配置目录中找到`yarn-site.xml` 文件,在其中添加以下配置:xml<configuration><property><name>yarn.resourcemanager.hostname</name><value>localhost</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</nam e><value>org.apache.hadoop.mapred.ShuffleHandler</value></property></configuration>3. 启动Hadoop 集群在终端中执行以下命令来启动Hadoop 集群:bashstart-all.sh这将启动Hadoop 中的所有守护进程,包括NameNode、DataNode、ResourceManager 和NodeManager。
Hadoop 搭建

(与程序设计有关)
课程名称:云计算技术提高
实验题目:Hadoop搭建
Xx xx:0000000000
x x:xx
x x:
xxxx
2021年5月21日
实验目的及要求:
开源分布式计算架构Hadoop的搭建
软硬件环境:
Vmware一台计算机
算法或原理分析(实验内容):
Hadoop是Apache基金会旗下一个开源的分布式存储和分析计算平台,使用Java语言开发,具有很好的跨平台性,可以运行在商用(廉价)硬件上,用户无需了解分布式底层细节,就可以开发分布式程序,充分使用集群的高速计算和存储。
三.Hadoop的安装
1.安装并配置环境变量
进入官网进行下载hadoop-2.7.5, 将压缩包在/usr目录下解压利用tar -zxvf Hadoop-2.7.5.tar.gz命令。同样进入 vi /etc/profile 文件,设置相应的HADOOP_HOME、PATH在hadoop相应的绝对路径。
4.建立ssh无密码访问
二.JDK安装
1.下载JDK
利用yum list java-1.8*查看镜像列表;并利用yum install java-1.8.0-openjdk* -y安装
2.配置环境变量
利用vi /etc/profile文件配置环境,设置相应的JAVA_HOME、JRE_HOME、PATH、CLASSPATH的绝对路径。退出后,使用source /etc/profile使环境变量生效。利用java -version可以测试安装是否成功。
3.关闭防火墙并设置时间同步
通过命令firewall-cmd–state查看防火墙运行状态;利用systemctl stop firewalld.service关闭防火墙;最后使用systemctl disable firewalld.service禁止自启。利用yum install ntp下载相关组件,利用date命令测试
《hadoop基础》课件——第三章 Hadoop集群的搭建及配置

19
Hadoop集群—文件监控
http://master:50070
20
Hadoop集群—文件监控
http://master:50070
21
Hadoop集群—文件监控
http://master:50070
22
Hadoop集群—任务监控
http://master:8088
23
Hadoop集群—日志监控
http://master:19888
24
Hadoop集群—问题 1.集群节点相关服务没有启动?
1. 检查对应机器防火墙状态; 2. 检查对应机器的时间是否与主节点同步;
25
Hadoop集群—问题
2.集群状态不一致,clusterID不一致? 1. 删除/data.dir配置的目录; 2. 重新执行hadoop格式化;
准备工作:
1.Linux操作系统搭建完好。 2.PC机、服务器、环境正常。 3.搭建Hadoop需要的软件包(hadoop-2.7.6、jdk1.8.0_171)。 4.搭建三台虚拟机。(master、node1、node2)
存储采用分布式文件系统 HDFS,而且,HDFS的名称 节点和数据节点位于不同机 器上。
2、vim编辑core-site.xml,修改以下配置: <property>
<name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/soft/hadoop-2.7.6/tmp</value> </property> <property> <name>fs.trash.interval</name> <value>1440</value> </property>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Hadoop集群搭建(二)HDFSHDFS只是Hadoop最基本的一个服务,很多其他服务,都是基于HDFS 展开的。
所以部署一个HDFS集群,是很核心的一个动作,也是大数据平台的开始。
安装Hadoop集群,首先需要有Zookeeper才可以完成安装。
如果没有Zookeeper,请先部署一套Zookeeper。
另外,JDK以及物理主机的一些设置等。
都请参考下文:Hadoop集群搭建(一) Zookeeper下面开始HDFS的安装HDFS主机分配1.192.168.67.101 c6701 --Namenode+datanode2.192.168.67.102 c6702 --datanode3.192.168.67.103 c6703 --datanode1. 安装HDFS,解压hadoop-2.6.0-EDH-0u2.tar.gz我同时下载2.6和2.7版本的软件,先安装2.6,然后在执行2.6到2.7的升级步骤eradd hdfs2.echo "hdfs:hdfs"| chpasswd3.su - hdfs4.cd /tmp/software5.tar -zxvf hadoop-2.6.0-EDH-0u2.tar.gz -C /home/hdfs/6.mkdir -p /data/hadoop/temp7.mkdir -p /data/hadoop/journal8.mkdir -p /data/hadoop/hdfs/name9.mkdir -p /data/hadoop/hdfs/data10.chown -R hdfs:hdfs /data/hadoop11.chown -R hdfs:hdfs /data/hadoop/temp12.chown -R hdfs:hdfs /data/hadoop/journal13.chown -R hdfs:hdfs /data/hadoop/hdfs/name14.chown -R hdfs:hdfs /data/hadoop/hdfs/data15.$ pwd16./home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop2. 修改core-site.xml对应的参数1.$ cat core-site.xml2.<configuration>3.<!--指定hdfs的nameservice为ns -->4.<property>5.<name>fs.defaultFS</name>6.<value>hdfs://ns</value>7.</property>8.<!--指定hadoop数据临时存放目录-->9.<property>10.<name>hadoop.tmp.dir</name>11.<value>/data/hadoop/temp</value>12.</property>13.14.<property>15.<name>io.file.buffer.size</name>16.<value>4096</value>17.</property>18.<!--指定zookeeper地址-->19.<property>20.<name>ha.zookeeper.quorum</name>21.<value>c6701:2181,c6702:2181,c6703:2181</value>22.</property>23.</configuration>3. 修改hdfs-site.xml对应的参数1.cat hdfs-site.xml2.<configuration>3.<!--指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致,并且ns如果改,整个文件中,全部的ns要都修改,保持统一-->4.<property>5.<name>services</name>6.<value>ns</value>7.</property>8.<!-- ns下面有两个NameNode,分别是nn1,nn2 -->9.<property>10.<name>nodes.ns</name>11.<value>nn1,nn2</value>12.</property>13.<!-- nn1的RPC通信地址-->14.<property>15.<name>node.rpc-address.ns.nn1</name>16.<value>c6701:9000</value>17.</property>18.<!-- nn1的http通信地址-->19.<property>20.<name>node.http-address.ns.nn1</name>21.<value>c6701:50070</value>22.</property>23.<!-- nn2的RPC通信地址-->24.<property>25.<name>node.rpc-address.ns.nn2</name>26.<value>c6702:9000</value>27.</property>28.<!-- nn2的http通信地址-->29.<property>30.<name>node.http-address.ns.nn2</name>31.<value>c6702:50070</value>32.</property>33.<!--指定NameNode的元数据在JournalNode上的存放位置-->34.<property>35.<name>node.shared.edits.dir</name>36.<value>qjournal://c6701:8485;c6702:8485;c6703:8485/ns</value>37.</property>38.<!--指定JournalNode在本地磁盘存放数据的位置-->39.<property>40.<name>dfs.journalnode.edits.dir</name>41.<value>/data/hadoop/journal</value>42.</property>43.<!--开启NameNode故障时自动切换-->44.<property>45.<name>dfs.ha.automatic-failover.enabled</name>46.<value>true</value>47.</property>48.<!--配置失败自动切换实现方式-->49.<property>50.<name>dfs.client.failover.proxy.provider.ns</name>51.<value>node.ha.ConfiguredFailoverProxyProvider</value>52.</property>53.<!--配置隔离机制-->54.<property>55.<name>dfs.ha.fencing.methods</name>56.<value>sshfence</value>57.</property>58.<!--使用隔离机制时需要ssh免登陆-->59.<property>60.<name>dfs.ha.fencing.ssh.private-key-files</name>61.<value>/home/hdfs/.ssh/id_rsa</value>62.</property>63.64.<property>65.<name>.dir</name>66.<value>/data/hadoop/hdfs/name</value>67.</property>68.69.<property>70.<name>dfs.datanode.data.dir</name>71.<value>/data/hadoop/hdfs/data</value>72.</property>73.74.<property>75.<name>dfs.replication</name>76.<value>2</value>77.</property>78.<!--在NN和DN上开启WebHDFS(REST API)功能,不是必须-->79.<property>80.<name>dfs.webhdfs.enabled</name>81.<value>true</value>82.</property>83.</configuration>4. 添加slaves文件1.$ more slaves2.c67013.c67024.c6703--- 安装C6702的hdfs---5. 创建c6702的用户,并为hdfs用户ssh免密1.ssh c6702 "useradd hdfs"2.ssh c6702 "echo "hdfs:hdfs" | chpasswd"3.ssh-copy-id hdfs@c67026. 拷贝软件1.scp -r /tmp/software/hadoop-2.6.0-EDH-0u2.tar.gz root@c6702:/tmp/software/.2.ssh c6702 "chmod 777 /tmp/software/*"7. 创建目录,解压软件1.ssh hdfs@c6702 "mkdir hdfs"2.ssh hdfs@c6702 "tar -zxvf /tmp/software/hadoop-2.6.0-EDH-0u2.tar.gz -C /home/hdfs"3.ssh hdfs@c6702 "ls -al hdfs"4.ssh hdfs@c6702 "ls -al hdfs/hadoop*"复制配置文件1.ssh hdfs@c6702 "rm -rf /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/core-site.xml"2.ssh hdfs@c6702 "rm -rf /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/hdfs-site.xml"3.scp -r /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/core-site.xml hdfs@c6702:/home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/core-site.xml4.scp -r /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/hdfs-site.xml hdfs@c6702:/home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/hdfs-site.xml5.scp -r /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/slaves hdfs@c6702:/home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/slaves创建hdfs需要的目录1.ssh root@c6702 "mkdir -p /data/hadoop"2.ssh root@c6702 " chown -R hdfs:hdfs /data/hadoop"3.ssh hdfs@c6702 "mkdir -p /data/hadoop/temp"4.ssh hdfs@c6702 "mkdir -p /data/hadoop/journal"5.ssh hdfs@c6702 "mkdir -p /data/hadoop/hdfs/name"6.ssh hdfs@c6702 "mkdir -p /data/hadoop/hdfs/data"--- 安装C6703的hdfs---8. 创建c6703的用户,并为hdfs用户ssh免密1.ssh c6703 "useradd hdfs"2.ssh c6703 "echo "hdfs:hdfs" | chpasswd"3.ssh-copy-id hdfs@c67039. 拷贝软件1.scp -r /tmp/software/hadoop-2.6.0-EDH-0u2.tar.gz root@c6703:/tmp/software/.2.ssh c6703 "chmod 777 /tmp/software/*"3.10.创建目录,解压软件4.ssh hdfs@c6703 "mkdir hdfs"5.ssh hdfs@c6703 "tar -zxvf /tmp/software/hadoop-2.6.0-EDH-0u2.tar.gz -C /home/hdfs"6.ssh hdfs@c6703 "ls -al hdfs"7.ssh hdfs@c6703 "ls -al hdfs/hadoop*"复制配置文件1.ssh hdfs@c6703 "rm -rf /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/core-site.xml"2.ssh hdfs@c6703 "rm -rf /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/hdfs-site.xml"3.scp -r /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/core-site.xml hdfs@c6703:/home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/core-site.xml4.scp -r /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/hdfs-site.xml hdfs@c6703:/home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/hdfs-site.xml5.scp -r /home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/slaves hdfs@c6703:/home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop/slaves创建hdfs需要的目录1.ssh root@c6703 "mkdir -p /data/hadoop"2.ssh root@c6703 " chown -R hdfs:hdfs /data/hadoop"3.ssh hdfs@c6703 "mkdir -p /data/hadoop/temp"4.ssh hdfs@c6703 "mkdir -p /data/hadoop/journal"5.ssh hdfs@c6703 "mkdir -p /data/hadoop/hdfs/name"6.ssh hdfs@c6703 "mkdir -p /data/hadoop/hdfs/data"11. 启动HDFS,先启动三个节点的journalnode/home/hdfs/hadoop-2.6.0-EDH-0u2/sbin/hadoop-daemon.sh start journalnode检查状态1.$ jps2.3958Jps3.3868JournalNode12. 然后启动namenode,首次启动namenode之前,先在其中一个节点(主节点)format namenode信息,信息会存在于.dir指定的路径中1.<name>.dir</name>2.<value>/data/hadoop/hdfs/name</value>1.$ ./hdfs namenode -format2.17/09/2607:52:17 INFO Node: STARTUP_MSG:3./************************************************************4.STARTUP_MSG: Starting NameNode5.STARTUP_MSG: host = /192.168.67.1016.STARTUP_MSG: args = [-format]7.STARTUP_MSG: version = 2.6.0-EDH-0u28.STARTUP_MSG: classpath = /home/hdfs/hadoop-2.6.0-EDHxxxxxxxxxx9.STARTUP_MSG: build = http://gitlab-xxxxx10.STARTUP_MSG: java = 1.8.0_14411.************************************************************/12.17/09/2607:52:17 INFO Node: registered UNIX signal handlers for[TERM, HUP, INT]13.17/09/2607:52:17 INFO Node: createNameNode [-format]14.17/09/2607:52:18 WARN common.Util:Path/data/hadoop/hdfs/name should be specified as a URI in configuration files.Please update hdfs configuration.15.17/09/2607:52:18 WARN common.Util:Path/data/hadoop/hdfs/name should be specified as a URI in configuration files.Please update hdfs configuration.16.Formatting using clusterid: CID-b2f01411-862f-44b2-a6dc-7d17bd48d52217.17/09/2607:52:18 INFO namenode.FSNamesystem:No KeyProvider found.18.17/09/2607:52:18 INFO namenode.FSNamesystem: fsLock is fair:true19.17/09/2607:52:18 INFO blockmanagement.DatanodeManager: dfs.block.invalidate.limit=100020.17/09/2607:52:18 INFO blockmanagement.DatanodeManager: node.datanode.registration.ip-hostname-check=true21.17/09/2607:52:18 INFO blockmanagement.BlockManager: node.startup.delay.block.deletion.sec is set to 000:00:00:00.000will start around 2017Sep2607:52:1823.17/09/2607:52:18 INFO util.GSet:Computing capacity for map BlocksMap24.17/09/2607:52:18 INFO util.GSet: VM type =64-bit25.17/09/2607:52:18 INFO util.GSet:2.0% max memory 966.7 MB =19.3 MB26.17/09/2607:52:18 INFO util.GSet: capacity =2^21=2097152 entries27.17/09/2607:52:18 INFO blockmanagement.BlockManager: dfs.block.access.token.enable=false28.17/09/2607:52:18 INFO blockmanagement.BlockManager: defaultReplication=229.17/09/2607:52:18 INFO blockmanagement.BlockManager: maxReplication=51230.17/09/2607:52:18 INFO blockmanagement.BlockManager: minReplication=131.17/09/2607:52:18 INFO blockmanagement.BlockManager: maxReplicationStreams =232.17/09/2607:52:18 INFO blockmanagement.BlockManager: shouldCheckForEnoughRacks =false33.17/09/2607:52:18 INFO blockmanagement.BlockManager: replicationRecheckInterval =300034.17/09/2607:52:18 INFO blockmanagement.BlockManager: encryptDataTransfer =falseLog =100036.17/09/2607:52:18 INFO namenode.FSNamesystem: fsOwner = hdfs (auth:SIMPLE)37.17/09/2607:52:18 INFO namenode.FSNamesystem: supergroup = supergroup38.17/09/2607:52:18 INFO namenode.FSNamesystem: isPermissionEnabled =true39.17/09/2607:52:18 INFO namenode.FSNamesystem:Determined nameserviceID: ns40.17/09/2607:52:18 INFO namenode.FSNamesystem: HA Enabled:true41.17/09/2607:52:18 INFO namenode.FSNamesystem:Append Enabled:true42.17/09/2607:52:18 INFO util.GSet:Computing capacity for map INodeMap43.17/09/2607:52:18 INFO util.GSet: VM type =64-bit44.17/09/2607:52:18 INFO util.GSet:1.0% max memory 966.7 MB =9.7 MB45.17/09/2607:52:18 INFO util.GSet: capacity =2^20=1048576 entries46.17/09/2607:52:18 INFO Node:Caching file names occuringmore than 10 times47.17/09/2607:52:18 INFO util.GSet:Computing capacity for map cachedBlocks48.17/09/2607:52:18 INFO util.GSet: VM type =64-bit49.17/09/2607:52:18 INFO util.GSet:0.25% max memory 966.7 MB =2.4 MB50.17/09/2607:52:18 INFO util.GSet: capacity =2^18=262144 entries51.17/09/2607:52:18 INFO namenode.FSNamesystem: node.safemode.threshold-pct =0.999000012874603352.17/09/2607:52:18 INFO namenode.FSNamesystem: node.safemode.min.datanodes =053.17/09/2607:52:18 INFO namenode.FSNamesystem: node.safemode.extension =3000054.17/09/2607:52:18 INFO namenode.FSNamesystem:Retry cache on namenode is enabled55.17/09/2607:52:18 INFO namenode.FSNamesystem:Retry cache will use0.03of total heap and retry cache entry expiry time is600000 millis56.17/09/2607:52:18 INFO util.GSet:Computing capacity for map NameNodeRetryCache57.17/09/2607:52:18 INFO util.GSet: VM type =64-bit58.17/09/2607:52:18 INFO util.GSet:0.029999999329447746% max memory 966.7 MB =297.0 KB59.17/09/2607:52:18 INFO util.GSet: capacity =2^15=32768 entries60.17/09/2607:52:18 INFO namenode.NNConf:ACLs enabled?false61.17/09/2607:52:18 INFO namenode.NNConf:XAttrs enabled?true62.17/09/2607:52:18 INFO namenode.NNConf:Maximum size of an xattr:1638463.17/09/2607:52:19 INFO namenode.FSImage:Allocated new BlockPoolId: BP-144216011-192.168.67.101-150641233975764.17/09/2607:52:19 INFO common.Storage:Storage directory /data/hadoop/hdfs/name has been successfully formatted.65.17/09/2607:52:20 INFO namenode.NNStorageRetentionManager:Going to retain 1 images with txid >=066.17/09/2607:52:20 INFO util.ExitUtil:Exiting with status 067.17/09/2607:52:20 INFO Node: SHUTDOWN_MSG:68./************************************************************69.SHUTDOWN_MSG: Shutting down NameNode at /192.168.67.10170.************************************************************/13. standby namenode需要先执行bootstrapstandby,输出如下1.[hdfs@c6702 sbin]$ ../bin/hdfs namenode -bootstrapstandby2.17/09/2609:44:58 INFO Node: STARTUP_MSG:3./************************************************************4.STARTUP_MSG: Starting NameNode5.STARTUP_MSG: host = /192.168.67.1026.STARTUP_MSG: args = [-bootstrapstandby]7.STARTUP_MSG: version = 2.6.0-EDH-0u28.STARTUP_MSG: classpath = /home/hdfs/haxxx9.STARTUP_MSG: build = http://gitlab-xxxx10.STARTUP_MSG: java = 1.8.0_14411.************************************************************/12.17/09/2609:44:58 INFO Node: registered UNIX signal handlers for[TERM, HUP, INT]13.17/09/2609:44:58 INFO Node: createNameNode [-bootstrapstandby]14.17/09/2609:44:59 WARN common.Util:Path/data/hadoop/hdfs/name should be specified as a URI in configuration files.Please update hdfs configuration.15.17/09/2609:44:59 WARN common.Util:Path/data/hadoop/hdfs/name should be specified as a URI in configuration files.Please update hdfs configuration.16.=====================================================17.About to bootstrap Standby ID nn2 from:service ID: ns19.Other Namenode ID: nn120.Other NN's HTTP address: http://c6701:5007021. Other NN's IPC address: c6701/192.168.67.101:9000space ID:79366220723.Block pool ID: BP-144216011-192.168.67.101-150641233975724.Cluster ID: CID-b2f01411-862f-44b2-a6dc-7d17bd48d522yout version:-6026.=====================================================27.Re-format filesystem in Storage Directory/data/hadoop/hdfs/name ?(Y or N) y28.17/09/2609:45:16 INFO common.Storage:Storage directory /data/hadoop/hdfs/name has been successfully formatted.29.17/09/2609:45:16 WARN common.Util:Path/data/hadoop/hdfs/name should be specified as a URI in configuration files.Please update hdfs configuration.30.17/09/2609:45:16 WARN common.Util:Path/data/hadoop/hdfs/name should be specified as a URI in configuration files.Please update hdfs configuration.31.17/09/2609:45:17 INFO namenode.TransferFsImage:Opening connection tohttp://c6701:50070/imagetransfer?getimage=1&txid=0&storageInf o=-60:793662207:0:CID-b2f01411-862f-44b2-a6dc-7d17bd48d52232.17/09/2609:45:17 INFO namenode.TransferFsImage:Image Transfer timeoutconfigured to 60000 milliseconds33.17/09/2609:45:17 INFO namenode.TransferFsImage:Transfer took 0.01s at 0.00 KB/s34.17/09/2609:45:17 INFO namenode.TransferFsImage:Downloaded file fsimage.ckpt_0000000000000000000 size 351 bytes.35.17/09/2609:45:17 INFO util.ExitUtil:Exiting with status 036.17/09/2609:45:17 INFO Node: SHUTDOWN_MSG:37./************************************************************38.SHUTDOWN_MSG: Shutting down NameNode at /192.168.67.10239.************************************************************/14. 检查状态,namenode还没有启动1.[hdfs@c6702 sbin]$ jps2.4539Jps3.3868JournalNode15. 启动standby namenode,命令和master启动的方式相同1.[hdfs@c6702 sbin]$ ./hadoop-daemon.sh start namenode2.starting namenode, logging to /home/hdfs/hadoop-2.6.0-EDH-0u2/logs/had.out16. 再次检查,namenode已经启动1.[hdfs@c6702 sbin]$ jps2.4640Jps3.4570NameNode4.3868JournalNode17. 格式化zkfc,让在zookeeper中生成ha节点,在master上执行如下命令,完成格式化1.[hdfs@c6701 bin]$ ./hdfs zkfc -formatZK2.17/09/2609:59:20 INFO tools.DFSZKFailoverController:Failover controller configured for NameNode NameNode at c6701/192.168.67.101:90003.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/201409:09 GMT4.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:=5.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:java.version=1.8.0_1446.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:java.vendor=Oracle Corporation7.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:java.home=/usr/local/jdk1.8.0_144/jre8.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:java.class.path=/home/hdfs/hadoop-2.6.0-EDH-0u2/exxxx9.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:java.library.path=/home/hdfs/hadoop-2.6.0-EDH-0u2/lib/native10.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:java.io.tmpdir=/tmp11.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:piler=<NA>12.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:=Linux13.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:os.arch=amd6414.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:os.version=2.6.32-573.el6.x86_6415.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:=hdfs16.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:user.home=/home/hdfs17.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Client environment:user.dir=/home/hdfs/hadoop-2.6.0-EDH-0u2/bin18.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Initiating client connection, connectString=c6701:2181,c6702:2181,c6703:2181 sessionTimeout=5000 watc her=org.apache.hadoop.ha.ActiveStandbyElector$WatcherWithClientRef@20 deea7f19.17/09/2609:59:20 INFO zookeeper.ClientCnxn:Opening socket connection toserver /192.168.67.103:2181.Will not attempt to authen ticate using SASL (unknown error)20.17/09/2609:59:20 INFO zookeeper.ClientCnxn:Socket connection established to /192.168.67.103:2181, initiating session21.17/09/2609:59:20 INFO zookeeper.ClientCnxn:Session establishment complete on server /192.168.67.103:2181, sessionid =0x35ebc5 163710000, negotiated timeout =500022.17/09/2609:59:20 INFO ha.ActiveStandbyElector:Session connected.23.17/09/2609:59:20 INFO ha.ActiveStandbyElector:Successfully created /hadoop-ha/ns in ZK.24.17/09/2609:59:20 INFO zookeeper.ZooKeeper:Session:0x35ebc5163710000closed25.17/09/2609:59:20 INFO zookeeper.ClientCnxn:EventThread shut down18. 格式化完成的检查格式成功后,查看zookeeper中可以看到 <<<<<<<<<<<命令没确认1.[zk: localhost:2181(CONNECTED)1] ls /hadoop-ha19. 启动zkfc,这个就是为namenode使用的1../hadoop-daemon.sh start zkfc2.starting zkfc, logging to /home/hdfs/hadoop-2.6.0-EDH-0u2/logs/hadoop-hd.out3.$ jps4.4272DataNode5.4402JournalNode6.6339Jps7.6277DFSZKFailoverController8.4952NameNode20. 另一个节点启动zkfc,1.ssh hdfs@c67022./home/hdfs/hadoop-2.6.0-EDH-0u2/sbin/hadoop-daemon.sh start zkfc3.$ jps4.4981Jps5.4935DFSZKFailoverController6.4570NameNode7.3868JournalNode21. 注意:进行初始化的时候,必须保证zk集群已经启动了。