python大数据学习之Hadoop学习——day04_Hadoop

目录

1.分布式和集群

2.Hadoop架构【重点】

3.Hadoop集群启动【练习】

4.Hadoop-HDFS

特点

架构

副本

shell命令

5.Hive环境准备

配置Hive环境变量

先启动hive服务

再连接hive服务

1.分布式和集群

分布式:多台服务台协同配合完成同一个大任务

集群:多台服务台联合起来独立做相同的任务

2.Hadoop架构【重点】

Hadoop的三大主件——HDFS、YARN、MapReduce

HDFS:(分布式文件系统)做海量数据的存储

元数据:描述核心数据的数据(比如文件的大小、文件的创建时间)

NameNode:集群当中的主节点,主要用于管理集群当中的各种数据

SecodaryNamenode:主要能用于辅助NameNode进行文件块元数据存储

DataNode:集群当中的从节点,主要用于存储真实海量的业务数据

YARN:(作业调度和集群资源的框架),解决资源的任务调度

ResourceManage:接收用户的计算请求任务,并负责集群的资源管理和分配

NodeManage:负责执行主节点分配的任务(给MR的计算程序提供资源)

MapReduce:(分布式运算编程框架),解决资源的计算问题

map负责分

Reduce负责合并

MapReduce计算需要的数据和产生的结果需要HDFS来进行存储

MapRedeuce的运行需要由Yarn集群来提供资源调度

3.Hadoop集群启动【练习】

启动命令

#  一键启动hdfs和yarn集群

start-all.sh

# 单独启动mr计算任务历史

mapred --daemon start historyserver

4.Hadoop-HDFS
特点

HDFS存储大文件,把大文件默认切割成128M大小的block块,进行存储

HDFS存储块的时候,会给每个块进行备份(一共三份)

HDFS文件系统可存储超大文件,时效性稍差

HDFS具有硬件故障检测和自动快速恢复功能

HDFS为数据存储提供扩展能力

HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改

HDFS可在普通廉价的机器运行

架构

1. client

发请求就是客户端

文件切分。文件上传HDFS的时候,client会把文件切分成一个个block块,然后进行存储

与NameNode交互,获取文件的位置信息。

与DataNode交互,读取或者写入数据

2.NameNode

就是master,它是一个主管、管理者。

处理客户端读写请求。

管理HDFS元数据(文件路径、文件的大小,文件的名字,文件权限,文件切割后的(block)

信息)。

配置3副本备份机制

3.DataNode

就是Slave。NameNode下达命令,DataNode执行实际的操作

存储实际额数据块(block)。

执行数据块的读/写操作

定时向namenode汇报block信息

4.Secondary NameNode

只是辅助NameNode,对HDFS元数据进行合并,合并后再交给NameNode。

在紧急情况下,可辅助恢复NameNode的部分数据

副本

block块:HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。它将每个文件拆分成一系列的数据块进行存储,这个数据块被称为block,除了最后一个,所有的数据块都是同样大小的

 

block块大小默认:128M

 

为了容错,文件的所有block都会有副本,每个文件的数据块大小和副本系数都是可配置的

 

副本系数默认3个

shell命令

hdfs的shell命令格式1:hadoop fs -命令 参数

hdfs的shell命令格式2:hdfs dfs -命令 参数

 

hdfs的家目录默认:/user/root 

 

查看目录下的内容:hdfs dfs -ls 目录的绝对路径

创建目录:hdfs dfs -mkdir 目录的绝对路径

创建文件:hdfs dfs -touch 文件的绝对路径

移动目录/文件:hdfs dfs -mv 要移动的目录或者文件的绝对路径

复制目录/文件:hdfs dfs -cp 要复制的目录或者文件的绝对路径

删除目录/文件: hdfs dfs -rm [-r] 要删除的目录或者文件的绝对路径

查看文件的内容:hdfs dfs -cat要查看的文件的绝对路径

查看hdfs其他shell命令帮助:hdfs dfs --help

 

把本地文件内容追加到hdfs指定文件中:hdfs dfs -appendToFile 本地文件路径 hdfs文件绝对路径

 

Linux本地上传文件到hdfs中:hdfs dfs -put linux本地要上传的目录或者文件路径

hdfs中下载文件到linux本地:hdfs dfs -get hdfs中要下载的目录或者文件的绝对路径 Linux本地目标位置路径

5.Hive环境准备
配置Hive环境变量

# vim /etc/profile

# source /etc/profile

先启动hive服务

后台启动metastore服务:nohup hive --service metastore &

后台启动hiveserver2服务:nohup hive --service hiveserver2 &

查看metastore和hiveserver进程是否启动:jps

注意:服务名都叫RunJar,可以通过进程编号区分

服务启动需要一定的时间可以使用lsof查看:lsof -i:10000

注意:如果无内容继续等待,如果有内容代表启动成功

再连接hive服务

一代客户端连接命令:hive

 

二代客户端连接命令:beeline

二代客户端连接命令:!connect jdbc:hive2://node1:10000

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值