Hadoop简述及HDFS集群搭建详解

简介: Hadoop简述及HDFS集群搭建详解

什么是Hadoop?

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

Hadoop中有3个核心组件

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


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


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

HDFS的整体的运行机制

hdfs集群组成结构

1ecd1b2606ed46e9956a89f231c9802c.png

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

有目录结构,顶层目录是:  /

系统中存放的就是文件

系统可以提供对文件的:创建、删除、修改、查看、移动等功能

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

单机文件系统中存放的文件,是在一台机器的操作系统中

hdfs的文件系统会横跨N多的机器

单机文件系统中存放的文件,是在一台机器的磁盘上

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 安装位置

1ecd1b2606ed46e9956a89f231c9802c.png

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

1ecd1b2606ed46e9956a89f231c9802c.png

保存之后,别忘了 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

1ecd1b2606ed46e9956a89f231c9802c.png

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


hadoop-daemon.sh start datanode


补充:


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


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


先配置master到集群中所有机器(包含自己)的免密登陆

配完免密后,可以执行一次  ssh 0.0.0.0

修改hadoop安装目录中/etc/hadoop/slaves(把需要启动datanode进程的节点列入)

vi slaves 加入节点名称

1ecd1b2606ed46e9956a89f231c9802c.png

启动/停止

1.master上用脚本:start-dfs.sh 来自动启动整个集群

2.如果要停止,则用脚本:stop-dfs.sh

相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
148 6
|
1月前
|
消息中间件 分布式计算 关系型数据库
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
44 0
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
32 3
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
1月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
61 1
|
1月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
39 1
|
1月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
41 1
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
47 1
|
分布式计算 应用服务中间件 Docker
Hadoop HDFS分布式文件系统Docker版
一、Hadoop文件系统HDFS 构建单节点的伪分布式HDFS 构建4个节点的HDFS分布式系统 nameNode secondnameNode datanode1 datanode2 其中 datanode2动态节点,在HDFS系统运行时,==动态加入==。
2618 0