hadoop快速入门(1)

ls -l除文件名外,也显示文件形态,拥有者,文件大小等,注意ls -l = ll




cd 命令
pwd : 查看当前操作路径

cd / :进入根目录

cd ~:进入home/root

cd …:进入当前目录的上一级目录




mkdir命令:创建目录
mkdir -p :创建包含子目录的目录,确保父目录名称存在,不存在就建一个



touch 创建一个空文件

rm 命令:删除文件目录
rm -f:强制删除,无需用户确认,如果是一个目录就不能删除

rm -r :将目录级以下所有递归逐一删除

rm -rf/* :不要尝试,删除根目录下所有目录



cp 命令:复制文件或者目录
cp -r a b 将a及其下级一并复制到b下


mv 命令:移动,重命名

cat 查看小文件打印到console上
more 一页一页翻页查看,对于大文件
tail 查看文件结尾
tail -n 用于显示行数,默认10行
tail -f 用于实时显示动态追加的内容,会把文件尾部显示带屏幕上,而且不刷新,只要文件更新就会显示


echo 写入text文件内容
echo string >> 1.text

输出重定向,覆盖原文件

追加内容



| 管道命令: 把前一个命令的执行结果交给下一个命令处理,形成多级管道操作



##### 2.tar命令



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发型版本


[Apache 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中配置副本数量:


<property> <name>dfs.replication</name> <value>3</value>


</property>


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写入或者读取。




**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/7b0cc96a3780878109e2d7467016aca1.png)
![img](https://img-blog.csdnimg.cn/img_convert/df08184d595d685e208c51c9d9957303.png)
![img](https://img-blog.csdnimg.cn/img_convert/2a4e26dac91c9a8d6f9f52b5bc913353.png)
![img](https://img-blog.csdnimg.cn/img_convert/40631cddbb02cab0b988e75f1aa6e7df.png)
![img](https://img-blog.csdnimg.cn/img_convert/d08464de891d7ed970f2f78a18063630.png)

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

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

**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
![img](https://img-blog.csdnimg.cn/img_convert/28d8335ad609831838a6cd78dbd4e608.png)

工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
[外链图片转存中...(img-vsnfOmQW-1712839154418)]
[外链图片转存中...(img-RmH2fV6H-1712839154418)]
[外链图片转存中...(img-siw546oZ-1712839154418)]
[外链图片转存中...(img-CXA7PlVD-1712839154419)]
[外链图片转存中...(img-ennv9WQn-1712839154419)]

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

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

**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
[外链图片转存中...(img-HgDd7iwh-1712839154419)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值