tar 命令:打包和解包
-c 或者 -create 创建写的备份文件
-x 或者 -extract 从备份中还原文件
-v 或者 -verbose 显示指令执行过程
-f <备份文件> 或者--file=<备份文件>指定备份文件
-z 压缩
tar -cvf 文件名.tar 文件1 文件2 打包
tar -xvf 文件名.tar -C 路径 解包
如果没有 -C 会解压到当前目录
tar -Zcvf 文件名.tar.gz 文件1 文件2 :压缩打包
tar -Zxvf 文件名.tar.gz -C 路径: 压缩解包
3.时间,日期查看
date :显示日期
cal: 显示当前日历
free :用于显示内存状态
free -h
ps 查看进程状态
ps -ef
ps -ef | grep 进程号 精准找到进程查看
jps :java提供的命令,反应Java进程情况
vim基本命令
光标移动:
- 方向键控制光标位置
- 翻页 pageup ,pagedown
- 行首home 0 ,行尾 end $
- 跳到文件最后一行
- 跳到文件第一行 gg
复制 :必须在命令模式下
yy复制当前光标所在行内容
nyy复制当前行往下n行
粘贴:必须在输入模式下
P 当前行下一行粘贴
p 当前行下一行粘贴
删除: dd 删除当前行
ndd删除当前往下n行
撤销:u 撤销是一部操作
CTRL+r 反撤销
2.hadoop介绍及简单搭建过程
Hadoop之父doug cutting
是一款apache软件基金会的一款开源软件
允许用户使用简单编程实现跨机器集群对大量数据处理
hdfs作为分布式文件存储系统,处于生态圈的底层和核心
yarn作为分布式通用集群资源管理系统和任务调度平台,支撑各种运算引擎运行
hadoop特性优点
1.扩容很强
2.成本低
3.效率高
4.可靠性强
hadoop发型版本
1.开源社区版:apache官方开源:
优点:更新迭代快
缺点:兼容性不稳定
2.商业公司发行
Cloudera:https://www.cloudera.com/products/open/source/apache-hadoop.html
Hortonworks:Cloudera Data Platform (CDP) | Cloudera | Cloudera")
商业公司发行想要收费
优点:兼容性好
缺点:收费
hadoop 集群包括hdfs集群,yarn集群
两个集群逻辑上分离没有依赖 互不影响,物理上在一起,部署在一台服务器上
两个集群都是标准的主从架构集群
1.关闭防火墙,避免部分端口用不了
systemctl stop firewalld.service # 关闭防火墙
systemctl disable firewalld.service # 关闭开机防火墙自启动
systemctl status firewalld.service # 查看防火墙状态
2.免密认证
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发送副本
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
写审核
数据写入流程:
1.客户端向NameNode发起请求
2.Namenode审核权限和空间等条件,如果满足条件就允许写入,告知客户端可以写入的DataNode地址
3.客户端向给出的Datanode地址发送数据包
4.接受到数据包的Datanode向其他Datanode发送副本
[外链图片转存中…(img-WtdTx9KP-1714681983868)]
[外链图片转存中…(img-sb3y97i9-1714681983868)]
[外链图片转存中…(img-W2ubjHcb-1714681983868)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新