hadoop快速入门

ssh -keygen回车

ssh-copy-id ip或者主机名字

ssh-copy-id node1

ssh node1 # 验证

exit # 退出

3.同步时间

yum -y install ntpdate

ntpdate ntp4.aliyun.com

4.创建部分目录进行区分data和server

data放数据。server放安装的jdk等软件

mkdir -p /export/server

mkdir -p /export/data/hdfs

mkdir -p /export/data/tmp

mkdir -p /export/data/hdfs/name

mkdir -p /export/data/hdfs/data

5.在Hadoop-env.sh配置jdk的路径和hadoop的路径

例如:export JAVA_HOME=/export/server/jdk-1.8

​ export HADOOP=/export/server/hadoop-3.3.4

6.配置core-site.sh,yarn-site.xml,mapred-site.xml,hdfs-site.xml,workers

7start-all.sh启动集群测试

hadoop内置执行脚本

一键启停集群在hadoop/sbin/下执行:

start-dfs.sh 
​
stop-dfs.sh

单独启停某进程

hadoop-daemon.sh   (start |status |stop )  (namenode | resourcemanager| datanode |secondarynamenode) 
​
例如:hadoop-daemon.sh start datanode 
3.hdfs基本操作

路径区分:

linux: /export/server

hdfs: /export/server

如何区分?

通过协议头区分

linux:file://

hdfs:hdfs://

如上:

linux:file:///export/server

hdfs:hdfs://ip:8020//export/server

一般不使用,要避免bug或者必须的情况下使用

1.创建文件夹
hadoop fs [ mkdir -p  path]
或者 hdfs dfs [mkdir -p path]
​
hadoop fs mkdir -p file 
2.查看文件夹
hadoop fs -ls -h -R
hdfs dfs -ls -h -R
3.上传文件到hdfs指定目录下
hadoop fs -put -f -p linux路径  hadoop路径
hdfs dfs -put -f -plinux路径  hadoop路径
4.查看文件内容
hadoop fs -cat  | more  :借助管道查看大数据
hdfs dfs -cat  | more
5.下载文件
hadoop fs -get linux路径  hadoop路径
hdfs dfs -get linux路径  hadoop路径
6.拷贝hdfs文件可以改名
hadoop fs -cp hadoop路径/名字1  hadoop路径/名字2
hdfs dfs -sp hadoop路径  hadoop路径
7.追加内容

linux使用vim增删改查,而hdfs只能追加,和删除,不能修改某一行等

hdfs  dfs  -appendToFile  linux路径    hdfs路径
​
hadoop  fs    -appendToFile  linux路径    hdfs路径

8.移动和改名

hdfs  dfs  -mv  [-p] hdfs路径    hdfs路径
​
hadoop  fs    -mv [-p]  hdfs路径    hdfs路径

9.hdfs删除

回收站默认关闭,默认在/user/用户(hadoop)/.Trash

hdfs dfs -rm [-r] [-f]  hdfs路径
hadoop dfs -rm  [-r] [-f] hdfs路径
4.HDFS客户端-Jetbrians产品插件

了解在Jetbrians安装使用bigdatatools 产品插件,使用Big Data Tools插件帮助我们方便的操作HDFS,比如idea,pycharm

安装过程:pycharm为例

在设置中——>Plugins(插件)——>marketplace(市场)——>搜索Big Data Tools然后点击安装,在重新启动即可

5.HDFS

hdfs的主从架构:namenode和datanode

5.1存储原理

分布式存储:把文件一分为多份,存入不同服务器,每个节点存储文件的一部分

标准单位:block块,每一块默认256MB

假如有1.5G的文件存入有3台机器的完全分布式系统中,那么原理就是将1.5G文件按block块的大小分为6个block块,每台机器上存储2个块,为了防止某台机器上的块数据丢失,在hdfs上有多副本存储机制,会在其他服务器上有可修改备份,来提高文件的安全性。

1.长久默认设置

hdfs-site.xml中配置副本数量:

dfs.replication 3

2.临时设置

在上传文件时使用:hadoop fs -D dfs.replication=2 -put Linux文件 Hadoop路径

已上传地文件使用:hadoop fs -setrep [-R] 2 文件路径

5.2 fsck命令

fsck检查文件副本数

hdfs fsck path[-files -blocks]

5.3NameNode元数据
  • edits
  • fsimage

namenode基于edits来记录每次操作,包括时间,路径,什么什么操作的记录,类似于日志

fsimage记录某个时间节点前的当前文件全部文件状态和信息,维护整个文件的数据。

fsimage是又SecondaryNameNode将edits合并得到的,以便于NameNode使用

5.4HDFS数据的读写流程

NameNode权限:可读可写审核

数据写入流程:

1.客户端向NameNode发起请求

2.Namenode审核权限和空间等条件,如果满足条件就允许写入,告知客户端可以写入的DataNode地址

3.客户端向给出的Datanode地址发送数据包

4.接受到数据包的Datanode向其他Datanode发送副本

5.写入完成之后客户端通知NameNode,Namenode做元数据记录工作

6.达到一定量或者到一定时间节点之后有SecondaryNameNode合并为fsimage。

数据读取流程:

1.客户端向NameNode发起访问请求

2.NameNode审核权限,满足条件,则给客户端返回此文件的block列表

3.客户端拿到block列表之后找Datanode读取文件。

注意:namenode不负责数据写入和读取,之负责元数据记录和权限审批,客户端直接给datanode写入或者读取数据。客户端会找网络距离最近的Datanode写入或者读取。

6.分布式计算概述

分布式计算:以分布式的形式完成数据统计,得到需要的数据。提高服务器组合来提高解决大数据的能力。

分散——汇总模式:将数据分为多片,各种完成自己的任务,得出结果汇总给其他服务器。

中心调度——分步执行模式:将一个节点作为中心调度管理者,将任务划分为几个具体步骤,管理者安排每个机器执行步骤,得出结果数据。

6.1MapReduce概述

mapreduce是Hadoop的分布式计算组件之一,mapreduce提供了两个编程接口,map和reduce

map完成分散的功能,对数据进行分布式处理。

reduce完成汇总的功能,对数据完成汇总的任务。

假设有4台服务器执行mapreduce,可以3台机器机器分散,然后一台机器汇总。

6.2YARN概述

一般情况下,MarReduce是基于YARN运行的。

yarn是HADOOP的一个组件,是分布式资源调度,管控整个分布式集群的资源调度使用。yarn为运行的任务分配资源,提高资源利用率。

6.3YARN架构

6.3.1 核心架构

YARN的主从架构: ResourceManager和NodeManager

ResourceManager:整个集群资源调度的管理者,负责协调各个服务器的资源调度。

NodeManager:单个服务器资源调度的管理者,负责协调单个服务器的资源调度。

6.3.2 YARN的辅助架构 (了解)

ProxServer应用代理:作为RM的一部分运行,但是可以独立运行,提高安全性

在yarn-site.xml中配置yarn.web.address配置。

jobHistory:将分散在容器中的日志汇集到hdfs中,记录运行日志并提供WEB UI站点1提供用户使用浏览器查看。

6.4MapReduce&YANR的部署
6.4.1 yarn的部署
yarn.site.xml

  yarn.nodemanager.aux-services    mapreduce_shuffle

yarn.log.server.urlhttp://test1:19888/jobhistory/logs

yarn.web-proxy.addresstest1:8089proxy server hostname and port

yarn.log-aggregation-enabletrueConfiguration to enable or disable log aggregation

yarn.nodemanager.remote-app-log-dir/tmp/logsConfiguration to enable or disable log aggregation

yarn.resourcemanager.scheduler.classorg.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler

        yarn.resourcemanager.hostname        test1 yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME    yarn.webapp.ui2.enable    true       yarn.nodemanager.vmem-check-enabled      false

yarn.nodemanager.log-dirs/data/nm-log

yarn.nodemanager.log.retain-seconds10800

yarn.nodemanager.resource.memory-mb 2048

yarn-env.sh

export JAVA_HOME=/export/server/jdkexport HADOOP_HOME=/export/server/hadoopexport HADOOP_CONF_DIR= H A D O O P _ H O M E / e t c / h a d o o p e x p o r t H A D O O P _ L O G _ D I R = HADOOP\_HOME/etc/hadoopexport HADOOP\_LOG\_DIR= HADOOP_HOME/etc/hadoopexportHADOOP_LOG_DIR=HADOOP_HOME/logs

6.4.2 Mapreduce的配置文件
mared-env.sh

export JAVA_HOME=/export/server/jdk

export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=16

export HADOOP_JHS_LOGGER=INFO,RFA

mapred.site.xml

mapreduce.framework.name yarn

mapreduce.jobhistory.webapp.address test1:19888

mapreduce.jobhistory.intermediate-done-dir /data/mr-history/tmp

mapreduce.jobhistory.done-dir /data/mr-history/dir

yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME= H A D O O P _ H O M E < / v a l u e > < / p r o p e r t y > < p r o p e r t y > < n a m e > m a p r e d u c e . m a p . e n v < / n a m e > < v a l u e > H A D O O P _ M A P R E D _ H O M E = HADOOP\_HOME</value></property><property> <name>mapreduce.map.env</name> <value>HADOOP\_MAPRED\_HOME= HADOOP_HOME</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=HADOOP_HOME mapreduce.reduce.env HADOOP_MAPRED_HOME=$HADOOP_HOME

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

me> HADOOP_MAPRED_HOME= H A D O O P _ H O M E < / v a l u e > < / p r o p e r t y > < p r o p e r t y > < n a m e > m a p r e d u c e . r e d u c e . e n v < / n a m e > < v a l u e > H A D O O P _ M A P R E D _ H O M E = HADOOP\_HOME</value></property><property> <name>mapreduce.reduce.env</name> <value>HADOOP\_MAPRED\_HOME= HADOOP_HOME</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=HADOOP_HOME

[外链图片转存中…(img-jKhaKOXH-1714408449255)]
[外链图片转存中…(img-KlzHu11w-1714408449255)]
[外链图片转存中…(img-opXGpvky-1714408449255)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值