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>
Hadoop集群的搭建方法与步骤
Hadoop集群的搭建方法与步骤随着大数据时代的到来,Hadoop作为一种分布式计算框架,被广泛应用于数据处理和分析领域。
搭建一个高效稳定的Hadoop集群对于数据科学家和工程师来说至关重要。
本文将介绍Hadoop集群的搭建方法与步骤。
一、硬件准备在搭建Hadoop集群之前,首先要准备好适合的硬件设备。
Hadoop集群通常需要至少三台服务器,一台用于NameNode,两台用于DataNode。
每台服务器的配置应该具备足够的内存和存储空间,以及稳定的网络连接。
二、操作系统安装在选择操作系统时,通常推荐使用Linux发行版,如Ubuntu、CentOS等。
这些操作系统具有良好的稳定性和兼容性,并且有大量的Hadoop安装和配置文档可供参考。
安装操作系统后,确保所有服务器上的软件包都是最新的。
三、Java环境配置Hadoop是基于Java开发的,因此在搭建Hadoop集群之前,需要在所有服务器上配置Java环境。
下载最新版本的Java Development Kit(JDK),并按照官方文档的指引进行安装和配置。
确保JAVA_HOME环境变量已正确设置,并且可以在所有服务器上运行Java命令。
四、Hadoop安装与配置1. 下载Hadoop从Hadoop官方网站上下载最新的稳定版本,并将其解压到一个合适的目录下,例如/opt/hadoop。
2. 编辑配置文件进入Hadoop的安装目录,编辑conf目录下的hadoop-env.sh文件,设置JAVA_HOME环境变量为Java的安装路径。
然后,编辑core-site.xml文件,配置Hadoop的核心参数,如文件系统的默认URI和临时目录。
接下来,编辑hdfs-site.xml文件,配置Hadoop分布式文件系统(HDFS)的相关参数,如副本数量和数据块大小。
最后,编辑mapred-site.xml文件,配置MapReduce框架的相关参数,如任务调度器和本地任务运行模式。
1.Hadoop集群搭建(单机伪分布式)
1.Hadoop集群搭建(单机伪分布式)>>>加磁盘1)⾸先先将虚拟机关机2)选中需要加硬盘的虚拟机:右键-->设置-->选中硬盘,点击添加-->默认选中硬盘,点击下⼀步-->默认硬盘类型SCSI(S),下⼀步-->默认创建新虚拟磁盘(V),下⼀步-->根据实际需求,指定磁盘容量(单个或多个⽂件⽆所谓,选哪个都⾏),下⼀步。
-->指定磁盘⽂件,选择浏览,找到现有虚拟机的位置(第⼀次出现.vmdk⽂件的⽂件夹),放到⼀起,便于管理。
点击完成。
-->点击确定。
3) 可以看到现在选中的虚拟机有两块硬盘,点击开启虚拟机。
这个加硬盘只是在VMWare中,实际⼯作中直接买了硬盘加上就可以了。
4)对/dev/sdb进⾏分区df -h 查看当前已⽤磁盘分区fdisk -l 查看所有磁盘情况磁盘利⽤情况,依次对磁盘命名的规范为,第⼀块磁盘sda,第⼆块为sdb,第三块为sdc。
可以看到下图的Disk /dev/sda以第⼀块磁盘为例,磁盘分区的命名规范依次为sda1,sda2,sda3。
同理也会有sdb1,sdb2,sdb3。
可以参照下图的/dev/sda1。
下⾯的含义代表sda盘有53.7GB,共分为6527个磁柱,每个磁柱单元Units的⼤⼩为16065*512=8225280 bytes。
sda1分区为1-26号磁柱,sda2分区为26-287号磁柱,sda3为287-6528号磁柱下⾯的图⽚可以看到,还未对sdb磁盘进⾏分区fdisk /dev/sdb 分区命令可以选择m查看帮助,显⽰命令列表p 显⽰磁盘分区,同fdisk -ln 新增分区d 删除分区w 写⼊并退出选w直接将分区表写⼊保存,并退出。
mkfs -t ext4 /dev/sdb1 格式化分区,ext4是⼀种格式mkdir /newdisk 在根⽬录下创建⼀个⽤于挂载的⽂件mount /dev/sdb1 /newdisk 挂载sdb1到/newdisk⽂件(这只是临时挂载的解决⽅案,重启机器就会发现失去挂载)blkid /dev/sdb1 通过blkid命令⽣成UUIDvi /etc/fstab 编辑fstab挂载⽂件,新建⼀⾏挂载记录,将上⾯⽣成的UUID替换muount -a 执⾏后⽴即⽣效,不然的话是重启以后才⽣效。
Hadoop集群搭建步骤
Hadoop集群搭建步骤1.先建⽴⼀台虚拟机,分配内存2G,硬盘20G,⽹络为nat 模式,设置⼀个静态的ip 地址: 例如设定3台机器的ip 为192.168.63.167(master) 192.16863.168(slave1) 192.168.63.169 (slave2)2.修改第⼀台主机的⽤户名3.复制master⽂件两次,重命名为slave1和slave2,打开虚拟机⽂件,然后按照同样的⽅法设置两个节点的ip和主机名4.建⽴主机名和ip的映射5.查看是否能ping通,关闭防⽕墙和selinux 配置6.配置ssh免密码登录在root⽤户下输⼊ssh-keygen -t rsa ⼀路回车秘钥⽣成后在~/.ssh/⽬录下,有两个⽂件id_rsa(私钥)和id_rsa.pub(公钥),将公钥复制到authorized_keys并赋予authorized_keys600权限同理在slave1和slave2节点上进⾏相同的操作,然后将公钥复制到master节点上的authoized_keys检查是否免密登录(第⼀次登录会有提⽰)7..安装JDK(省去)三个节点安装java并配置java环境变量8.安装MySQL(master 节点省去)9.安装SecureCRT或者xshell 客户端⼯具,然后分别链接上 3台服务器12.搭建集群12.1 集群结构三个结点:⼀个主节点master两个从节点内存2GB 磁盘20GB12.2 新建hadoop⽤户及其⽤户组⽤adduser新建⽤户并设置密码将新建的hadoop⽤户添加到hadoop⽤户组前⾯hadoop指的是⽤户组名,后⼀个指的是⽤户名赋予hadoop⽤户root权限12.3 安装hadoop并配置环境变量由于hadoop集群需要在每⼀个节点上进⾏相同的配置,因此先在master节点上配置,然后再复制到其他节点上即可。
将hadoop包放在/usr/⽬录下并解压配置环境变量在/etc/profile⽂件中添加如下命令12.4 搭建集群的准备⼯作在master节点上创建以下⽂件夹/usr/hadoop-2.6.5/dfs/name/usr/hadoop-2.6.5/dfs/data/usr/hadoop-2.6.5/temp12.5 配置hadoop⽂件接下来配置/usr/hadoop-2.6.5/etc//hadoop/⽬录下的七个⽂件slaves core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml hadoop-env.sh yarn-env.sh配置hadoop-env.sh配置yarn-env.sh配置slaves⽂件,删除localhost配置core-site.xml配置hdfs-site.xml配置mapred-site.xml配置yarn-site.xml将配置好的hadoop⽂件复制到其他节点上12.6 运⾏hadoop格式化Namenodesource /etc/profile13. 启动集群。
大数据--Hadoop集群环境搭建
⼤数据--Hadoop集群环境搭建⾸先我们来认识⼀下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式⽂件系统。
它其实是将⼀个⼤⽂件分成若⼲块保存在不同服务器的多个节点中。
通过联⽹让⽤户感觉像是在本地⼀样查看⽂件,为了降低⽂件丢失造成的错误,它会为每个⼩⽂件复制多个副本(默认为三个),以此来实现多机器上的多⽤户分享⽂件和存储空间。
Hadoop主要包含三个模块:HDFS模块:HDFS负责⼤数据的存储,通过将⼤⽂件分块后进⾏分布式存储⽅式,突破了服务器硬盘⼤⼩的限制,解决了单台机器⽆法存储⼤⽂件的问题,HDFS是个相对独⽴的模块,可以为YARN提供服务,也可以为HBase等其他模块提供服务。
YARN模块:YARN是⼀个通⽤的资源协同和任务调度框架,是为了解决Hadoop中MapReduce⾥NameNode负载太⼤和其他问题⽽创建的⼀个框架。
YARN是个通⽤框架,不⽌可以运⾏MapReduce,还可以运⾏Spark、Storm等其他计算框架。
MapReduce模块:MapReduce是⼀个计算框架,它给出了⼀种数据处理的⽅式,即通过Map阶段、Reduce阶段来分布式地流式处理数据。
它只适⽤于⼤数据的离线处理,对实时性要求很⾼的应⽤不适⽤。
多相关信息可以参考博客:。
本节将会介绍Hadoop集群的配置,⽬标主机我们可以选择虚拟机中的多台主机或者多台阿⾥云服务器。
注意:以下所有操作都是在root⽤户下执⾏的,因此基本不会出现权限错误问题。
⼀、Vmware安装VMware虚拟机有三种⽹络模式,分别是Bridged(桥接模式)、NAT(⽹络地址转换模式)、Host-only(主机模式):桥接:选择桥接模式的话虚拟机和宿主机在⽹络上就是平级的关系,相当于连接在同⼀交换机上;NAT:NAT模式就是虚拟机要联⽹得先通过宿主机才能和外⾯进⾏通信;仅主机:虚拟机与宿主机直接连起来。
Hadoop集群配置(最全面总结)
Hadoop集群配置(最全⾯总结)通常,集群⾥的⼀台机器被指定为 NameNode,另⼀台不同的机器被指定为JobTracker。
这些机器是masters。
余下的机器即作为DataNode也作为TaskTracker。
这些机器是slaves\1 先决条件1. 确保在你集群中的每个节点上都安装了所有软件:sun-JDK ,ssh,Hadoop2. Java TM1.5.x,必须安装,建议选择Sun公司发⾏的Java版本。
3. ssh 必须安装并且保证 sshd⼀直运⾏,以便⽤Hadoop 脚本管理远端Hadoop守护进程。
2 实验环境搭建2.1 准备⼯作操作系统:Ubuntu部署:Vmvare在vmvare安装好⼀台Ubuntu虚拟机后,可以导出或者克隆出另外两台虚拟机。
说明:保证虚拟机的ip和主机的ip在同⼀个ip段,这样⼏个虚拟机和主机之间可以相互通信。
为了保证虚拟机的ip和主机的ip在同⼀个ip段,虚拟机连接设置为桥连。
准备机器:⼀台master,若⼲台slave,配置每台机器的/etc/hosts保证各台机器之间通过机器名可以互访,例如:10.64.56.76 node1(master)10.64.56.77 node2 (slave1)10.64.56.78 node3 (slave2)主机信息:机器名 IP地址作⽤Node110.64.56.76NameNode、JobTrackerNode210.64.56.77DataNode、TaskTrackerNode310.64.56.78DataNode、TaskTracker为保证环境⼀致先安装好JDK和ssh:2.2 安装JDK#安装JDK$ sudo apt-get install sun-java6-jdk1.2.3这个安装,java执⾏⽂件⾃动添加到/usr/bin/⽬录。
验证 shell命令:java -version 看是否与你的版本号⼀致。
Hadoop分布式集群搭建详细教程
hadoop1hadoop2hadoop3HDFS NameNodeDataNodeDataNodeSecondaryNameNodeDataNodeYARN NodeManager ResourceManagerNodeManagerNodeManager Hadoop分布式集群搭建详细教程本教程是基于CentOS-7-x86_64的Hadoop完全分布式搭建1、搭建前的准备1)CentOS-7虚拟机3台(hadoop1、hadoop2、hadoop3)2)hadoop-3.3.0包3)jdk-8u144-linux-x64包2、整体部署3、基本步骤1)修改3台虚拟机的名称2)关闭、禁⽌开机⾃启防⽕墙3)配置静态ip4)修改/etc/hosts⽂件(hadoop1、hadoop2、hadoop3)5)配置免密登录(hadoop1、hadoop2、hadoop3)6)安装JDK及配置相应环境变量(hadoop1)7)安装Hadoop及配置相应环境变量(hadoop1)8)修改配置⽂件(hadoop1)9)拷贝(hadoop1-->hadoop2,hadoop1-->hadoop3)10)远程同步/etc/profile⽂件(hadoop1)11)格式化NameNode12)启动和关闭Hadoop集群13)通过浏览器访问Hadoop集群14)测试集群,上传⽂件4、详细步骤操作1)修改3台虚拟机的名称#hostname #查看主机名称hostnamectl set-hostname 主机名 #修改主机名称#reboot #重启虚拟机【注】:修改主机名称后需重启才能⽣效2)关闭、禁⽌开机⾃启防⽕墙#systemctl status firewalld #查看防⽕墙状态#systemctl stop firewalld #关闭防⽕墙#systemctl disable firewalld #关闭防⽕墙开机⾃启#vim /etc/selinux/config #修改selinux配置⽂件SELINUX=enforcing 修改为 SELINUX=disabled3)配置静态ip#cd /etc/sysconfig/network-scripts/#vim ifcfg-ens33BOOTPROTO=none 改为 BOOTPROTO=staticIPADDR也进⾏修改【注】:因为3台虚拟机都是克隆完成的,ip地址⼀致,故在此对ip进⾏修改4)修改/etc/hosts⽂件(hadoop1、hadoop2、hadoop3)192.168.150.14 hadoop1192.168.150.15 hadoop2192.168.150.16 hadoop3#reboot5)配置免密登录(hadoop1、hadoop2、hadoop3)#ssh-keygen -t rsa #⽣成ssh密钥,不提⽰输⼊密码三次回车键#ssh-copy-id hadoop1#ssh-copy-id hadoop2#ssh-copy-id hadoop3 #将密钥拷贝到各节点#ssh hadoop1#ssh hadoop2#ssh hadoop3 #测试免密登录6)安装JDK及配置相应环境变量(hadoop1)#cd /opt/#mkdir modules #创建modules⽂件夹#mkdir tar_packages #创建tar_packages⽂件夹#cd tar_packages/ #进⼊tar_packages⽂件夹将hadoop-3.3.0.tar.gz和jdk-8u144-linux-x64.tar.gz包导⼊tar_packages⽂件夹中导⼊⽅法较多,可⽤Xshell,可⽤命令wget xxxxx下载,亦可命令rz导⼊#tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/modules/ #将压缩包解压到/opt/modules/⽂件夹下#cd /opt/modules/jdk1.8.0_144/#pwd/opt/modules/jdk1.8.0_144 #复制此路径#vim /etc/profile/ #修改配置⽂件,加⼊环境变量在⽂件末尾加⼊#JAVA_HOMEexport JAVA_HOME=/opt/modules/jdk1.8.0_144export PATH=$PATH:$JAVA_HOME/bin#source /etc/profile #⽴即⽣效#java#javac#javadoc #测试java环境7)安装Hadoop及配置相应环境变量(hadoop1)#cd /opt/tar_packages/#tar -zxvf hadoop-3.3.0.tar.gz -C /opt/modules #将压缩包解压到/opt/modules/⽂件夹下#cd /opt/modules/hadoop-3.3.0#pwd/opt/modules/hadoop-3.3.0 #复制此路径#vim /etc/profile #修改配置⽂件,加⼊环境变量在⽂件末尾加⼊#HADOOP_HOMEexport HADOOP_HOME=/opt/modules/hadoop-3.3.0export PATH=$PATH:$HADOOP_HOME/binexport PATH=$PATH:$HADOOP_HOME/sbin#source /etc/profile #⽴即⽣效#hadoop #测试hadoop8)修改配置⽂件(hadoop1)1、修改hadoop-env.sh⽂件#cd /opt/modules/hadoop-3.3.0/etc/hadoop#vim hadoop-env.sh在⽂件中加⼊export JAVA_HOME=/opt/modules/jdk1.8.0_1442、修改yarn-env.sh⽂件#vim yarn-env.sh在⽂件中加⼊export JAVA_HOME=/opt/modules/jdk1.8.0_1443、修改mapred-env.sh⽂件#vim mapred-env.sh在⽂件中加⼊export JAVA_HOME=/opt/modules/jdk1.8.0_1444、修改core-site.xml#vim core-site.xml在<configuration></configuration>间加⼊<!-- 指定HDFS中NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop1:9000</value><!-- 指定Hadoop运⾏时产⽣⽂件的存储⽬录 --><property><name>hadoop.tmp.dir</name><value>/opt/modules/hadoop-3.3.0/data/tmp</value></property>5、修改hdfs-site.xml⽂件# vim hdfs-site.xml在<configuration></configuration>间加⼊<!-- 指定Hadoop副本个数 --><property><name>dfs.replication</name><value>2</value></property><!-- 指定Hadoop辅助名称节点主机配置 --><property><name>node.secondary.http-address</name><value>hadoop3:50090</value></property>6、修改yarn-site.xml⽂件#vim yarn-site.xml在<configuration></configuration>间加⼊<!-- Reducer获取数据的⽅式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>hadoop2</value></property>7、修改mapred-site.xml⽂件#vim mapred-site.xml在<configuration></configuration>间加⼊<!-- 指定MR运⾏在Yarn上 --><property><name></name><value>yarn</value></property>8、修改workers⽂件#vim workers修改为3个主机名称hadoop1hadoop2hadoop3【注】:我这⾥的hadoop-3.3.0版本⽂件名为workers,hadoop-2.x.x版本⽂件名为slaves9)拷贝(hadoop1-->hadoop2,hadoop1-->hadoop3)#scp -r /opt/modules/ root@hadoop2:/opt/#scp -r /opt/modules/ root@hadoop3:/opt/ #将hadoop1主节点下opt⽬录下的modules⽂件夹分别拷贝到hadoop2和hadoop3节点的opt⽬录下10)远程同步/etc/profile⽂件(hadoop1)#rsync -rvl /etc/profile root@hadoop2:/etc/profile#rsync -rvl /etc/profile root@hadoop3:/etc/profile #远程同步,将hadoop1主节点上的配置⽂件分别拷贝到hadoop2和hadoop3节点#tail /etc/profile #显⽰已修改的配置⽂件(/etc/profile)内容,查看是否同步成功#source /etc/profile #⽴即⽣效#javadoc #测试#hadoop #测试#cat /opt/modules/hadoop-3.3.0/etc/hadoop/workers #查看workers⽂件内容是否⼀致11)格式化NameNodecd /opt/modules/hdoop-3.3.0#hadoop namenode -format #格式化NameNode12)启动和关闭Hadoop集群#启动集群#cd /opt/modules/hadoop-3.3.0/sbin/#start-dfs.sh先在hadoop1节点下执⾏上述命令start-dfs.sh#cd /opt/modules/hadoop-3.3.0/sbin/等hadoop1主节点下start-dfs.sh命令执⾏结束后,在hadoop2节点下执⾏命令start-yarn.sh#jps #hadoop1、hadoop2、hadoop3⼀起查看启动的进程#关闭集群#stop-yarn.sh先在hadoop2节点下执⾏命令stop-yarn.sh#stop-dfs.sh等hadoop2节点下stop-yarn.sh命令执⾏结束后,在hadoop1主节点下执⾏命令stop-dfs.sh【注】:启动集群和关闭集群顺序是相反的,启动时先hadoop1,关闭时后hadoop1【注】:因hadoop版本不同,hadoop-2.x.x下启动正常,hadoop-3.x.x下可能出现如下错误:[root@hadoop1 sbin]# start-dfs.shStarting namenodes on [hadoop1]ERROR: Attempting to operate on hdfs namenode as rootERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.Starting datanodesERROR: Attempting to operate on hdfs datanode as rootERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.Starting secondary namenodes [hadoop3]ERROR: Attempting to operate on hdfs secondarynamenode as rootERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.[root@hadoop1 sbin]# start-dfs.shWARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.解决办法为:在start-dfs.sh和stop-dfs.sh⽂件⾸部加⼊如下部分1 HDFS_DATANODE_USER=root2 HDFS_DATANODE_SECURE_USER=hdfs3 HDFS_NAMENODE_USER=root4 HDFS_SECONDARYNAMENODE_USER=root在start-yarn.sh和stop-yarn.sh⽂件⾸部加⼊如下部分1 YARN_RESOURCEMANAGER_USER=root2 HADOOP_SECURE_DN_USER=yarn3 YARN_NODEMANAGER_USER=root这样这个问题就解决了,记得看清楚⾃⼰hadoop的版本号13)通过浏览器访问Hadoop集群在浏览器输⼊:192.168.150.14(主节点ip):9870访问Hadoop⽂件系统【注】:hadoop-3.x.x,服务器端⼝改为了9870,并不是原来的50070,看清⾃⼰的Hadoop版本可在Windows下配置主机节点映射,配置完成后即可在浏览器输⼊:hadoop1(主节点名称):9870访问Hadoop⽂件系统具体映射配置:在C:\Windows\System32\drivers\etc\hosts⽂件后,加⼊与在虚拟机/etc/hosts配置⼀致的内容,即:#192.168.150.14 hadoop1#192.168.150.15 hadoop2#192.168.150.16 hadoop314)测试集群,上传⽂件#hadoop fs -mkdir -p /root/ #创建root⽬录#hadoop fs -put /opt/tar_packages/jdk-8u144-linux-x64.tar.gz /root/ #将/opt/tar_packages/⽬录下的jdk-8u144-linux-x64.tar.gz压缩包上传到刚才创建的root⽬录下⾄此,分布式集群搭建完成!PS:搭建过程中需要的⼯具我整理了⼀下,需要的请⾃取哦!(提取码:u240)如果搭建过程遇到了什么难以解决的问题,欢迎留⾔,毕竟多⼀个⼈⼀起百度可能会快⼀点!。
Hadoop集群搭建详细简明教程
Linux 操作系统安装
利用 vmware 安装 Linux 虚拟机,选择 CentOS 操作系统
搭建机器配置说明
本人机器是 thinkpadt410,i7 处理器,8G 内存,虚拟机配置为 2G 内存,大家可以 按照自己的机器做相应调整,但虚拟机内存至少要求 1G。
会出现虚拟机硬件清单,我们要修改的,主要关注“光驱”和“软驱”,如下图: 选择“软驱”,点击“remove”移除软驱:
选择光驱,选择 CentOS ISO 镜像,如下图: 最后点击“Close”,回到“硬件配置页面”,点击“Finsh”即可,如下图: 下图为创建all or upgrade an existing system”
执行 java –version 命令 会出现上图的现象。 从网站上下载 jdk1.6 包( jdk-6u21-linux-x64-rpm.bin )上传到虚拟机上 修改权限:chmod u+x jdk-6u21-linux-x64-rpm.bin 解压并安装: ./jdk-6u21-linux-x64-rpm.bin (默认安装在/usr/java 中) 配置环境变量:vi /etc/profile 在该 profile 文件中最后添加:
选择“Skip”跳过,如下图:
选择“English”,next,如下图: 键盘选择默认,next,如下图:
选择默认,next,如下图:
输入主机名称,选择“CongfigureNetwork” 网络配置,如下图:
选中 system eth0 网卡,点击 edit,如下图:
选择网卡开机自动连接,其他不用配置(默认采用 DHCP 的方式获取 IP 地址), 点击“Apply”,如下图:
Hadoop大数据开发基础教案Hadoop集群的搭建及配置教案
Hadoop大数据开发基础教案-Hadoop集群的搭建及配置教案教案章节一:Hadoop简介1.1 课程目标:了解Hadoop的发展历程及其在大数据领域的应用理解Hadoop的核心组件及其工作原理1.2 教学内容:Hadoop的发展历程Hadoop的核心组件(HDFS、MapReduce、YARN)Hadoop的应用场景1.3 教学方法:讲解与案例分析相结合互动提问,巩固知识点教案章节二:Hadoop环境搭建2.1 课程目标:学会使用VMware搭建Hadoop虚拟集群掌握Hadoop各节点的配置方法2.2 教学内容:VMware的安装与使用Hadoop节点的规划与创建Hadoop配置文件(hdfs-site.xml、core-site.xml、yarn-site.xml)的编写与配置2.3 教学方法:演示与实践相结合手把手教学,确保学生掌握每个步骤教案章节三:HDFS文件系统3.1 课程目标:理解HDFS的设计理念及其优势掌握HDFS的搭建与配置方法3.2 教学内容:HDFS的设计理念及其优势HDFS的架构与工作原理HDFS的搭建与配置方法3.3 教学方法:讲解与案例分析相结合互动提问,巩固知识点教案章节四:MapReduce编程模型4.1 课程目标:理解MapReduce的设计理念及其优势学会使用MapReduce解决大数据问题4.2 教学内容:MapReduce的设计理念及其优势MapReduce的编程模型(Map、Shuffle、Reduce)MapReduce的实例分析4.3 教学方法:互动提问,巩固知识点教案章节五:YARN资源管理器5.1 课程目标:理解YARN的设计理念及其优势掌握YARN的搭建与配置方法5.2 教学内容:YARN的设计理念及其优势YARN的架构与工作原理YARN的搭建与配置方法5.3 教学方法:讲解与案例分析相结合互动提问,巩固知识点教案章节六:Hadoop生态系统组件6.1 课程目标:理解Hadoop生态系统的概念及其重要性熟悉Hadoop生态系统中的常用组件6.2 教学内容:Hadoop生态系统的概念及其重要性Hadoop生态系统中的常用组件(如Hive, HBase, ZooKeeper等)各组件的作用及相互之间的关系6.3 教学方法:互动提问,巩固知识点教案章节七:Hadoop集群的调优与优化7.1 课程目标:学会对Hadoop集群进行调优与优化掌握Hadoop集群性能监控的方法7.2 教学内容:Hadoop集群调优与优化原则参数调整与优化方法(如内存、CPU、磁盘I/O等)Hadoop集群性能监控工具(如JMX、Nagios等)7.3 教学方法:讲解与案例分析相结合互动提问,巩固知识点教案章节八:Hadoop安全与权限管理8.1 课程目标:理解Hadoop安全的重要性学会对Hadoop集群进行安全配置与权限管理8.2 教学内容:Hadoop安全概述Hadoop的认证与授权机制Hadoop安全配置与权限管理方法8.3 教学方法:互动提问,巩固知识点教案章节九:Hadoop实战项目案例分析9.1 课程目标:学会运用Hadoop解决实际问题掌握Hadoop项目开发流程与技巧9.2 教学内容:真实Hadoop项目案例介绍与分析Hadoop项目开发流程(需求分析、设计、开发、测试、部署等)Hadoop项目开发技巧与最佳实践9.3 教学方法:案例分析与讨论团队协作,完成项目任务教案章节十:Hadoop的未来与发展趋势10.1 课程目标:了解Hadoop的发展现状及其在行业中的应用掌握Hadoop的未来发展趋势10.2 教学内容:Hadoop的发展现状及其在行业中的应用Hadoop的未来发展趋势(如Big Data生态系统的演进、与大数据的结合等)10.3 教学方法:讲解与案例分析相结合互动提问,巩固知识点重点和难点解析:一、Hadoop生态系统的概念及其重要性重点:理解Hadoop生态系统的概念,掌握生态系统的组成及相互之间的关系。
标准hadoop集群配置
标准hadoop集群配置Hadoop是一个开源的分布式存储和计算框架,由Apache基金会开发。
它提供了一个可靠的、高性能的数据处理平台,可以在大规模的集群上进行数据存储和处理。
在实际应用中,搭建一个标准的Hadoop集群是非常重要的,本文将介绍如何进行标准的Hadoop集群配置。
1. 硬件要求。
在搭建Hadoop集群之前,首先需要考虑集群的硬件配置。
通常情况下,Hadoop集群包括主节点(NameNode、JobTracker)和从节点(DataNode、TaskTracker)。
对于主节点,建议配置至少16GB的内存和4核以上的CPU;对于从节点,建议配置至少8GB的内存和2核以上的CPU。
此外,建议使用至少3台服务器来搭建Hadoop集群,以确保高可用性和容错性。
2. 操作系统要求。
Hadoop可以在各种操作系统上运行,包括Linux、Windows和Mac OS。
然而,由于Hadoop是基于Java开发的,因此建议选择Linux作为Hadoop集群的操作系统。
在实际应用中,通常选择CentOS或者Ubuntu作为操作系统。
3. 网络配置。
在搭建Hadoop集群时,网络配置非常重要。
首先需要确保集群中的所有节点能够相互通信,建议使用静态IP地址来配置集群节点。
此外,还需要配置每台服务器的主机名和域名解析,以确保节点之间的通信畅通。
4. Hadoop安装和配置。
在硬件、操作系统和网络配置完成之后,接下来就是安装和配置Hadoop。
首先需要下载Hadoop的安装包,并解压到指定的目录。
然后,根据官方文档的指导,配置Hadoop的各项参数,包括HDFS、MapReduce、YARN等。
在配置完成后,需要对Hadoop集群进行测试,确保各项功能正常运行。
5. 高可用性和容错性配置。
为了确保Hadoop集群的高可用性和容错性,需要对Hadoop集群进行一些额外的配置。
例如,可以配置NameNode的热备份(Secondary NameNode)来确保NameNode的高可用性;可以配置JobTracker的热备份(JobTracker HA)来确保JobTracker的高可用性;可以配置DataNode和TaskTracker的故障转移(Failover)来确保从节点的容错性。
- 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集群已经启动了。