目录
一、分布式的基础架构分析
集群架构模式:
主从架构(中心化):
主角色 master: 发号施令,负责任务的接受和分配
从角色 slave: 负责干活
主备架构:可以解决中心化存在的问题
主角色active : 正常工作
备角色standby : 观察主角色工作,并实时备份主角色数据,当主角色宕机后,立即上位.
去中心化模式 : 例如区块链
hadoop中的HDFS集群和Yarn集群都是主从模式架构.
二、HDFS的基础架构
HDFS的角色分配:
NameNode:是集群中的主角色或主节点,负责 DataNode的管理工作
DataNode:是集群中的从角色或从节点, 负责数据文件的读或写
SecondaryNameNode: 是集群中的辅助角色或辅助节点,负责帮助NameNode完成管理工作(负责元数据的合并工作).
NN
在开发中只有一个主服务,容易出现单点故障
,在主从架构中,一旦主服务不可用,整个服务都不可用使用
主备方式
解决单点故障运行多个NN,但是对外处理请求的只有一个
一般公司选择是一主一备方案
一个典型的HDFS集群中会有多个DataNode,但是活跃的NameNode只能有一个,如果集群资源不足,则需要扩展DataNode节点数量.如果元数据管理能力不足,则需要给namenode提升服务器性能.
HDFS是一个标准的主从架构
注意: 通常情况下, NameNode的服务器性能,要比DataNode高.(cpu和内存大)
三、HDFS集群环境部署
(1.)前期准备:
有三台服务器
验证服务器的网络畅通
可以进行ssh免密登录
关闭防火墙及selinux
安装jdk
时间同步
(2.)下载hadoop安装包:
Apache Hadoophttps://hadoop.apache.org/releases.html
Index of /dist/hadoop/commonhttps://archive.apache.org/dist/hadoop/common/
官网下载的hadoop安装包不能直接使用,需要进行编译后才可以使用
但是我们自己下载编译的安装包会出现警告
由于官网给我们的是最大化编译,在linux windows 和 mac平台中都能够运行,但是在linux运行时,与windows和mac相关的代码会报警告,在windows 和mac运行时一样
为了解决警告问题我们对于安装包一般会从新编辑后再编译
我们已经给大家编译好了对应的安装包,直接使用即可.
hadoop用户创建,并配置免密登录
此处我们使用root用户权限进行环境部署,但是在企业开发中,会创建一个普通用户用户环境部署,而root用户负责将部署时需要的权限分配给普通用户
将hadoop安装包上传到/export/software目录下
将该安装包进行解压
cd /export/software tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz -C ../server
创建一个软连接
cd /export/server ln -s hadoop-3.3.0/ hadoop
修改配置文件
先进入配置文件的文件目录
cd /export/server/hadoop/etc/hadoop/
四、HDFS的服务启停
(1.)对整个hadoop服务的启动和关闭
会将hadoop中的hdfs,yarn服务都会启动
start-all.sh stop-all.sh
(2.)一键启停hdfs集群
下方指令是针对于整个hdfs的启停.在node1中执行该命令, node2, node3中的服务都会被启动. 前提是免密登录
# 一键启动 start-dfs.sh # 一键停止 stop-dfs.sh
(3.)单起单停
# 只能控制当前服务器中服务的启停
hdfs --daemon start|stop|statusnamenode|datanode|secondarynamenode
使用浏览器访问服务,验证服务器是否启动
namenode所在服务器的ip地址:9870
192.168.88.100:9870
五、HDFS的Shell操作
hdfs的文件结构和linux中基本一致 : 树状结构
hdfs中也划分目录和文件,目录只能存储子目录和文件, 文件只能存储数据
文件和数据的区别???
文件是用来存储数据的,磁盘中数据以文件的形式存储起来,方便后续查找使用,数据不一定以文件的形式展示.
hdfs的shell命令格式:
# 新写法 hdfs dfs -命令 [-选项] [参数] # 老写法 hadoop fs -命令 [-选项] [参数]
注意: 在hdfs dfs - 之后或hadoop fs -之后和linux终端指令基本没有区别
六、HDFS webUI的使用(了解)
我们可以使用node1:9870打开hdfs的网页端,但是前提是必须配置windows系统下的主机映射,否则只能使用ip访问
192.168.88.100:9870
打开C:\Windows\System32\drivers\etc\hosts文件
在下方写入主机映射内容
192.168.88.100 node1 node1.itcast.cn
192.168.88.101 node2 node2.itcast.cn
192.168.88.102 node3 node3.itcast.cn