Hadoop简述及HDFS集群搭建详解

目录

什么是Hadoop?

Hadoop中有3个核心组件

HDFS的整体的运行机制

hdfs集群组成结构

hdfs有着文件系统共同的特征:

hdfs跟普通单机文件系统的区别:

hdfs的工作机制:

搭建hdfs分布式集群

安装hdfs集群的具体步骤

设置linux服务器的基础软件环境

安装hdfs集群

什么是Hadoop?

海量数据处理的一个技术(软件工具

Hadoop中有3个核心组件

1.分布式文件系统(HDFS)——实现将文件分布式存储在很多服务器上,功能是管理文件,实际上是一个软件

2.分布式运算编程框架(MapReduce)——实现在很多机器上分布式并行运算

3.分布式资源调度平台(yarn)——帮用户调度大量的MapReduce程序,并合理分配运算资源

HDFS的整体的运行机制

hdfs集群组成结构

hdfs有着文件系统共同的特征:

  1. 有目录结构,顶层目录是:  /
  2. 系统中存放的就是文件
  3. 系统可以提供对文件的:创建、删除、修改、查看、移动等功能

hdfs跟普通单机文件系统的区别:

  1. 单机文件系统中存放的文件,是在一台机器的操作系统中
  2. hdfs的文件系统会横跨N多的机器
  3. 单机文件系统中存放的文件,是在一台机器的磁盘上
  4. hdfs文件系统中存放的文件,是落在n多机器的本地单机文件系统中(hdfs是一个基于linux本地文件系统之上的文件系统)

hdfs的工作机制:

1.客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:datanode),准确来说:切块的行为是由客户端决定的

2.一旦文件被切块存储,那么,hdfs中就必须有一个机制,来记录用户的每一个文件的切块信息,及每一块的具体存储机器(负责记录块信息的角色是:namenode

3、为了保证数据的安全性,hdfs可以将每一个文件块在集群中存放多个副本(到底存几个副本,是由当时存入该文件的客户端指定的)

综上:一个hdfs系统,由一台运行了namenode的服务器,和N台运行了datanode的服务器组成!

搭建hdfs分布式集群

安装hdfs集群的具体步骤

一、首先需要准备N台linux服务器/虚拟机4台虚拟机:1个namenode节点  + 3 个datanode 节点

二、修改各台机器的主机名和ip地址

三、从windows中用CRT软件进行远程连接

在windows中将各台linux机器的主机名配置到的windows的本地域名映射文件中:

c:/windows/system32/drivers/etc/hosts

设置linux服务器的基础软件环境

1.防火墙

关闭防火墙:service iptables stop  

关闭防火墙自启: chkconfig iptables off

2.安装jdk:(hadoop体系中的各软件都是java开发的

3.集群内主机的域名映射配置

安装hdfs集群

一、上传hadoop安装包到hdp-01集群任一节点(master)

 

tar -zxvf 软件包 -C 指定安装文件夹

二、修改配置文件

1.指定Hadoop的默认文件系统为hdfs

2.指定hdfs的namenode节点为哪台机器

3.指定namenode软件存储元数据的本地目录

4.指定datanode软件存放文件块的本地目录

三、进入安装目录

cd etc/hadoop/

 1.vi hadoop-env.sh

修改:

export JAVA_HOME=/root/apps/jdk  # jdk 安装位置

2.vi core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000/</value>  #namenode设置成master
</property>
</configuration>

3.vi hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.name.dir</name>  
<value>/root/data/name</value>  #存储元数据的本地目录
</property>



<property>
<name>dfs.datanode.data.dir</name>
<value>/root/data/data</value>  #存放文件块的本地目录
</property>


#防止单点故障的配置
<property>
<name>dfs.namenode.secondary.http-address</name> 
<value>hdp1:50090</value>
</property>
</configuration>

4.配置Hadoop的环境变量 要运行hadoop的命令,需要在linux环境中配置HADOOP_HOME和PATH环境变量

vi  /etc/profile

export HADOOP_HOME=/root/apps/hadoop-2.8.4  #hadoop 安装位置
export PATH=.:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存之后,别忘了 source /etc/profile使配置生效

5.把这台机器安装的Hadoop拷贝到其他机器

scp -r hadoop-2.4.8 hdp1:$PWD

四、初始化namenode的元数据目录

要在master上执行hadoop的一个命令来初始化namenode的元数据存储目录

hadoop namenode -format
  1. 创建一个全新的元数据存储目录
  2. 生成记录元数据的文件fsimage
  3. 生成集群的相关标识:如:集群id——clusterID

五、启动Hadoop

单独启动

hadoop-daemon.sh start namenode

启动完后,首先用jps查看一下namenode的进程是否存在 

然后,在windows中用浏览器访问namenode提供的web端口:50070

http://master:50070

然后,启动众datanode们(在任意地方)

hadoop-daemon.sh start datanode

补充:

Namenode监听两个端口——9000(客户端和namenode交互);50070(namenode内置的服务器)

用自动批量启动脚本来启动HDFS

  1. 先配置master到集群中所有机器(包含自己)的免密登陆
  2. 配完免密后,可以执行一次  ssh 0.0.0.0
  3. 修改hadoop安装目录中/etc/hadoop/slaves(把需要启动datanode进程的节点列入)

vi slaves 加入节点名称

启动/停止

  1. master上用脚本:start-dfs.sh 来自动启动整个集群
  2. 如果要停止,则用脚本:stop-dfs.sh
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醪糟小丸子

小小帮助,不足挂齿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值