HDFS 的概念以及为分布式的安装

修改主机名:vi /etc/sysconfig/network
修改映射:vi /etc/hosts


hadoop:
Hadoop的特点:
hadoop 是一个开源的  灵活的  可扩展的 可分布式存储和 就计算的平台
hadoop 允许使用简单模型出来集群上的海量数据集
Hadoop集群可以从单个节点扩展到上千的节点
Hadoop的集群容错  不依赖与硬件  而是依赖本身平台设计 和应用软件层 来容错

Hadoop的思想:来源于谷歌的三篇论文(gfs  ma-preduce  bigtable)还没有开源 
Hadoop的历史:06 年发行的第一个版本 
Hadoop的版本演变:cdh (cloudra发行的) hdp(hot works)    apache (阿帕奇)
三个版本:
 apache  0.X
 apache 1.X
 apache 2.X
 apache 3.X
主讲Hadoop2.X


hadoop的安装目录:
./bin ---------存储Hadoop的操作命令文件
./sbin-----------存储Hadoop的启动停止等服务命令
./etc---------hadoop的集群配置文件
./share-----------源码或者测试jar包 和学习文档
./lib-------依赖库和扩展(.so)

Hadoop的安装模式:
local model (也叫standalon):单机版 利于测试
pesudo model : 为分布式
distribution model  :全分布式

单机版的安装:
解压配置环境变量

Hadoop三个核心:
HDFS : 对数据进行存储
mapReduce  : 分布式 离线 并行 计算框架(基于yarn的 并行处理海量数据集)
Yarn :  任务调度与 资源管理

HBase: 非结构化的数据 存储到 HBase




HDFS:Hadoop DIstributed  File System
1易于扩展的 分布式文件系统
2运行在大量廉价机器上 提供容错机制
3为大量用户提供性能不错的 文件存储服务

HDFS设计目标:
1 自动快速检测 应对 硬件错误
2 流式访问数据  
3 移动计算 比 移动数据  本身更划算 
4 简单一致性 模型 (主要提供读 一次写多次读)
5 异构 平台 可移植  (Windows Linux 都可以部署  Linux的各个版本 都可以)



HDFS的特点:
优点:有高容错功能 高可靠  高扩展  高效性 


个服务:
1 namenode(名字节点 --老大)  matedata (元数据 -----描述数据的数据)
2 secondarynamenode  (秘书--帮助namenode )
3 datanode (数据块 数据的存 和 取 )



HDFS 的架构图



========伪分布式的安装======
1 解压配置

2 配置配置文件:




vi ./etc/hadooop/hadoop-env.sh   告诉Hadoop jdk的位置
vi ./etc/hadoop/core-site.xml      namenode   起在哪个服务器上面  指定HDFS的命名空间
vi ./etc/hadoop/hdfs-site.xml 添加如下:


<property>
        <name>dfs.replication</name>   指定副本参数
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>    指定namedode 的元数据存储目录
        <value>/home/hadoopdata/dfs/name</value>
     </property>
    <property>
        <name>dfs.datanode.data.dir</name>   指定datanode 的数据存储目录:
        <value>/home/hadoopdata/dfs/data</value>
    </property>

3 格式化HDFS 文件系统

hadoop/hdfs namenode -format

4 启动HDFS 模块的服务


 启动命令:./sbin/start-dfs.sh


5测试

1先检测服务是否 按照正常启动  ----- 查看Java虚拟机进程:jps
2查看web ui 监控是否正常 -------  查看50070端口:
3 进行文件读写操作

如下:

1 告诉Hadoop jdk的位置


[root@hadoop01 hadoop-2.7.1]# cd /usr/local/hadoop-2.7.1/
[root@hadoop01 hadoop-2.7.1]# vi ./etc/hadoop/hadoop-env.sh
修改Java_home的地址



2 namenode   起在哪个服务器上面  指定HDFS的命名空间

[root@hadoop01 hadoop-2.7.1]# vi ./etc/hadoop/core-site.xml




3指定副本参数

[root@hadoop01 hadoop-2.7.1]#vi ./etc/hadoop/hdfs-site.xml





3.1指定namedode 的元数据存储目录


  


3.2    指定副本数

指定datanode 的数据存储目录:
     
      指定namenode 的数据存储目录:




配置完成
4 启动 
首先格式化一下文件系统:
文件格式化:

代表成功格式化


格式化后 已经有了namenode  的元数据  可以查看:





启动:


写yes   root 用户的密码 因为没有ssh 免密码登录

然后5  测试:
查看Java虚拟机进程:



查看web ui 监控是否正常
查看50070端口:


3 进行文件读写操作




和本地读取的一样:

通过索引可以快速找到块文件



tail命令用于输入文件中的尾部内容
[root@hadoop01 hadoop-2.7.1]# tail -1000 ./logs/hadoop-root-namenode-hadoop01.log    查看文件的后1000行





元数据的位置:ll /home/hadoopdata/dfs/name/current/
fsimage (镜像文件)  和  edit(日志文件) 里
日志文件的内容 最终要合并到镜像文件里 


机架 ----可以放多个数据块
一个块 128MB


主从节点通讯:

Hadoop2.X允许有两个老大
Hadoop3.X允许3-5个老大s




读数据的流程:


写数据流程:





Namenode:
元数据的管理
IO的请求




元数据 在 开启的时候就 加载到内存里面



元数据 要定时copy   多份存储   以防丢失后  无法找回

namenode 启动过程
 

安全模式下  只提供读  不提供写

HDFS 系统不适合存储小文件
HIVE 基于 HDFS   会做小文件合并

安全模式:
启动时 进入安全模式
运维时 进入安全模式


小与等于0  自动离开安全模式  
大于1 永久进入安全模式

手动进入安全模式的命令:


当块有损坏时: hdfs fsck 检测缺失块

* -move: 移动损坏的文件到/lost+found目录下
* -delete: 删除损坏的文件
* -files: 输出正在被检测的文件
* -openforwrite: 输出检测中的正在被写的文件
* -includeSnapshots: 检测的文件包括系统snapShot快照目录下的
* -list-corruptfileblocks: 输出损坏的块及其所属的文件
* -blocks: 输出block的详细报告
* -locations: 输出block的位置信息
* -racks: 输出block的网络拓扑结构信息
* -storagepolicies: 输出block的存储策略信息
* -blockId: 输出指定blockId所属块的状况,位置等信息


日志的三种级别:
info  正常
warn  警告 不影响程序 可以忽略
error   影响 一般要处理


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值