Hadoop Distributed File System (HDFS™)
parallel processing of large data sets.
A framework for job scheduling and cluster resource management.
#资源指的是和程序运行相关的硬件资源
cpu ram内存
#任务调度
集群资源繁忙的时候 如何分配资源给各个程序 调度
调度的关键是策略:先来后到 权重
提供了大数据的几乎所有软件。
采集、存储、导入、分析、挖掘、可视化、管理...
谷歌分布式文件系统(GFS)------>HDFS
谷歌版MapReduce 系统------>Hadoop MapReduce
bigtable---->HBase
不再注重单机能力 看中的是集群的整体能力。
动态扩容、缩容。
在集群下 单机成本很低 可以是普通服务器组成集群
意味着大数据处理不一定需要超级计算机。
#技术是相同的 业务不相同的
#hadoop精准区分技术和业务。
做什么?(what need to do)---->业务问题(20%)
怎么做?(how to do)----->技术问题(80%)
Hadoop把技术实现了 用户负责业务问题。
原来大数据这么简单 可以这么玩。
Cloudera发行的hadoop生态圈软件叫做CDH版本。
Cloudera’s Distribution Including Apache Hadoop。
https://www.cloudera.com/products/open-source/apache-hadoop/key-cdh-components.html
Hortonworks Data Platform (HDP)
只有hdfs mapreduce. 架构过于垃圾 性能不高 当下企业中没人使用了。
hdfs MapReduce yarn.
架构和2一样 性能做了优化
一台机器,所有的角色在一个java进程中运行。 适合体验。
一台机器 每个角色单独的java进程。 适合测试
多台机器 每个角色运行在不同的机器上 生产测试都可以
在分布式的模式下 给主角色设置备份角色 实现了容错的功能 解决了单点故障
保证集群持续可用性。
- 有冲突的尽量不部署在一起
- 有工作依赖尽量部署在一起
- nodemanager 和datanode是基友
node1: namenode datanode | resourcemanager nodemanger
node2: datanode secondarynamenode| nodemanger
node3: datanode | nodemanger
node4: datanode nodemanger
node5: datanode nodemanger
node6: datanode nodemanger
.....
https://archive.apache.org/dist/
Apache软件基金会的所有软件所有版本的下载地址.
https://archive.apache.org/dist/hadoop/common/
hadoop-3.3.0-src.tar.gz source 源码包
hadoop-3.3.0.tar.gz 官方编译后安装包
xxx.java(源码)---->xxx.class(字节码)---->jar包
native library 本地库。
官方编译好的 Hadoop的安装包没有提供带 C程序访问的接口。主要是本地压缩支持、IO支持。
在源码的根目录下有编译相关的文件BUILDING.txt 指导如何编译。
使用maven进行编译 联网jar.
hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
详细安装步骤参考课程资料:
《day02Hadoop基础\06软件\hadoop-3.3.0\Hadoop3.3.0Linux编译安装.md》
ip、主机名
hosts映射 别忘了windows也配置
防火墙关闭
时间同步
免密登录 node1---->node1 node2 node3
JDK安装
#上传安装包到/export/server 解压
bin #hadoop核心脚本 最基础最底层脚本
etc #配置目录
include
lib
libexec
LICENSE.txt
NOTICE.txt
README.txt
sbin #服务启动 关闭 维护相关的脚本
share #官方自带实例 hadoop相关依赖jar
root@node1 server$ scp -r /export/server/hadoop root@node2:$PWD
root@node1 server$ scp -r /export/server/hadoop root@node3:$PWD
vim /etc/profile
HADOOP_HOME=/export/server/hadoop/
PATH=$PATH:$HADOOP_HOME/etc/hadoop
source /etc/profile
#在node1 部署namenode的这台机器上执行
hadoop namenode -format
#执行成功 日志会有如下显示
21/05/23 15:38:19 INFO common.Storage: Storage directory /export/data/hadoopdata/dfs/name has been successfully formatted.
[root@node1 server]# ll /export/data/hadoopdata/dfs/name/current/
total 16
-rw-r--r-- 1 root root 321 May 23 15:38 fsimage_0000000000000000000
-rw-r--r-- 1 root root 62 May 23 15:38 fsimage_0000000000000000000.md5
-rw-r--r-- 1 root root 2 May 23 15:38 seen_txid
-rw-r--r-- 1 root root 207 May 23 15:38 VERSION
#企业真实环境中 枪毙
#学习环境
删除每台机器上hadoop.tmp.dir配置指定的文件夹/export/data/hadoop-3.3.0。
重新format。
#hadoop2.x版本命令
hadoop-daemon.sh start|stop namenode|datanode|secondarynamenode
#hadoop3.x版本命令
hdfs --daemon start|stop namenode|datanode|secondarynamenode
#hadoop2.x版本命令
yarn-daemon.sh start|stop resourcemanager|nodemanager
#hadoop3.x版本命令
yarn --daemon start|stop resourcemanager|nodemanager
ssh-copy-id node1.itcast.cn
ssh-copy-id node2.itcast.cn
ssh-copy-id node3.itcast.cn
start-dfs.sh
stop-dfs.sh
start-yarn.sh
stop-yarn.sh
start-all.sh
stop-all.sh
[root@node1 ~]# start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
[root@node1 ~]# jps
8000 DataNode
8371 NodeManager
8692 Jps
8264 ResourceManager
7865 NameNode
#默认情况下 日志目录
cd /export/server/hadoop-3.3.0/logs/
#注意找到对应进程名字 以log结尾的文件
http://node1:9870/dfshealth.html#tab-overview
[root@node1 mapreduce]# pwd
/export/server/hadoop-3.3.0/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 2 2
默认情况下,yarn上关于MapReduce程序执行历史信息、执行记录不会永久存储;
一旦yarn集群重启 之前的信息就会消失。
保存yarn上已经完成的MapReduce的执行信息。
vim mapred-site.xml
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
scp /export/server/hadoop-3.3.0/etc/hadoop/mapred-site.xml node2:/export/server/hadoop-3.3.0/etc/hadoop/
scp /export/server/hadoop-3.3.0/etc/hadoop/mapred-site.xml node3:/export/server/hadoop-3.3.0/etc/hadoop/
#hadoop2.x版本命令
mr-jobhistory-daemon.sh start|stop historyserver
#hadoop3.x版本命令
mapred --daemon start|stop historyserver
[root@node1 ~]# jps
13794 JobHistoryServer
13060 DataNode
12922 NameNode
13436 NodeManager
13836 Jps
13327 ResourceManager
在默认情况下 hdfs没有垃圾桶 意味着删除操作直接物理删除文件。
[root@node1 ~]# hadoop fs -rm /itcast/1.txt
Deleted /itcast/1.txt
在core-site.xml中开启垃圾桶机制
指定保存在垃圾桶的时间。单位分钟
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
[root@node1 hadoop]# pwd
/export/server/hadoop-3.3.0/etc/hadoop
[root@node1 hadoop]# scp core-site.xml node2:$PWD
core-site.xml 100% 1027 898.7KB/s 00:00
[root@node1 hadoop]# scp core-site.xml node3:$PWD
core-site.xml
[root@node1 ~]# hadoop fs -rm /itcast.txt
INFO fs.TrashPolicyDefault: Moved: 'hdfs://node1:8020/itcast.txt' to trash at: hdfs://node1:8020/user/root/.Trash/Current/itcast.txt
hdfs://node1:8020/user/用户名/.Trash/Current
hadoop fs -cp /user/root/.Trash/Current/itcast.txt /
hadoop fs -rm -skipTrash /itcast.txt
[root@node1 ~]# hadoop fs -rm -skipTrash /itcast.txt
Deleted /itcast.txt
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有