网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- Map 和 Reduce 中间夹杂着一步数据移动,也就是 shuffle,这步操作会涉及数量巨大的网络传输,需要大量的时间
- 由于 MapReduce 的框架限制,一个 MapReduce 任务只能包含一次 Map 和一次 Reduce,计算完成之后,MapReduce 会将运算结果写回到磁盘中(更准确地说是分布式存储系统)供下次计算使用。
- 在MapReduce 框架下,数据的格式都是key-value 形式
Spark的运行框架
- Spark框架的核心是一个计算引擎,整体来说,它采用了标准的master-slave的结构。
- 三个主要组件组成:Driver节点、Cluster Manager和Executor节点。
- Driver节点是应用程序的入口点,它负责解析用户的应用程序代码,并将任务划分成一系列的任务,以及在集群上为任务安排调度。Driver节点负责管理各个任务之间的依赖关系,并将它们转换成一个可执行的物理执行计划
- Cluster Manager负责在集群中为应用程序分配资源。它可以是Standalone,YARN或Mesos等。
- Executor节点负责在工作节点上执行任务。每个Executor都运行在自己的JVM进程中,并且为应用程序分配了一定数量的内存和CPU资源。Executor在运行过程中负责接收和执行任务。
区别
- spark把运算的中间数据(shuffle阶段产生的数据)存放在内存,迭代计算效率更高,mapreduce的中间结果需要落地,保存到磁盘
- Spark容错性高,它通过弹性分布式数据集RDD来实现高效容错。
- Spark更通用,提供了transformation和action这两大类的多功能api,另外还有流式处理sparkstreaming模块、图计算等等,mapreduce只提供了map和reduce两种操作,流计算及其他的模块支持比较缺乏 。
- Spark计算框架对内存的利用和运行的并行度比mapreduce高,Spark运行容器为executor,内部ThreadPool中线程运行一个Task,mapreduce在线程内部运行container,container容器分类为MapTask和ReduceTask.程序运行并行度高
需要的基础linux命令
pwd
[root@hmm opt]# pwd
/opt
ls
[root@hmm opt]# ls
containerd hadoop.txt
cd
[root@hmm ~]# cd ..
[root@hmm /]# cd ~
[root@hmm ~]# cd -
/
mkdir
[root@hmm /]# mkdir 0503
[root@hmm /]# ls
0503 boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
rm
[root@hmm /]# ls
0503 boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
[root@hmm /]# rm -rf 0503/
[root@hmm /]# ls |grep 0503
···
### cp
```bash
[root@hmm /]# cd /opt/
[root@hmm opt]# ls
containerd hadoop.txt
[root@hmm opt]# cp hadoop.txt /root/hmmmmm
[root@hmm opt]# ls /root/hmmmmm
/root/hmmmmm
cat
[root@hmm opt]# cat hadoop.txt
yun3 hmm
tar
[root@hmm opt]# tar -cvf hmm.tar hadoop.txt
hadoop.txt
[root@hmm opt]# ls
containerd f g hadoop.txt hmm.tar
[root@hmm opt]# ls
containerd hadoop.txt hmm.tar
useradd
[root@hmm opt]# useradd hmm
passwd
[root@hmm opt]# passwd hmm
Changing password for user hmm.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
chown
[root@hmm opt]# chown hmm:root hadoop.txt
[root@hmm opt]# ll hadoop.txt
-rwxrwxrwx 1 hmm root 9 Mar 8 17:34 hadoop.txt
chmod
[root@hmm opt]# ls
containerd hadoop.txt hmm.tar
[root@hmm opt]# chmod 777 hadoop.txt
[root@hmm opt]# ll
total 16
drwx--x--x. 4 root root 28 Mar 5 16:57 containerd
-rwxrwxrwx 1 root root 9 Mar 8 17:34 hadoop.txt
-rw-r--r-- 1 root root 10240 Mar 8 17:37 hmm.tar
su
[root@hmm opt]# su hmm
[hmm@hmm opt]$ who
root tty1 2024-03-08 17:25
root pts/0 2024-03-08 17:27 (192.168.130.1)
vim
[root@hmm opt]# vim hadoop.txt
yun3 hmm
clear
[root@hmm opt]# clear
hostname
[root@hmm opt]# hostname
hmm
hostnamectl
[root@hmm opt]# hostname
hmm
[root@hmm opt]# hostnamectl set-hostname hmmm
[root@hmm opt]# bash
[root@hmmm opt]#
ip
[root@hmmm opt]# ip a show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:3d:66:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.130.101/24 brd 192.168.130.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::51a2:e08c:264f:1c70/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@hmmm opt]#
systemctl
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!