差不多是这样,但是可以有多个master,以及任务是调度到worker节点,资源不是完全池化的
本地模式
自己回答一下,后来解决了,是因为版本的问题
不提供PPT
hadoop也可以进行计算,它是通过mapreduce计算引擎来计算的。它们的区别是hadoop的mapreduce框架的九三是基于磁盘的,而spark的计算是基于内存的。这也是为什么spark计算比hadoop更快的原因。
ssh是个网络协议,用于远程控制。配置ssh免密防止启动集群的时候每次都要输入密码
没发现,只能看其他实战课程了
老师讲的那个500G文件分成5个文件是建立在文件在hdfs的基础上的,使用hdfs的文件系统路径,一次性拿文件全部内容
sc is short for sparkContext stand for sparkContext
本地和hdfs都可以,视频中示例写的是本地相对路径
如果安装有hadoop环境,可以使用spark读取hdfs上的文件
scala> var d = sc.textFile("hdfs://localhost:9000/data/users.txt")
使用standalone mode启动spark:命令行输入
$ cd software/spark-2.4.4-bin-hadoop2.7/sbin $ ./start-master.sh 会输出log文件地址xxx $ tail xxx会输出log文件末尾,找到Starting Spark master at spark://xxx.local:7077, 也可以浏览器访问http://localhost:8080/,出现视频中的网页
参考https://uohzoaix.github.io/studies//2014/09/13/sparkRunning/
https://www.imooc.com/qadetail/341618
IDE中的, 只是在ide中编译时会用的,
本地安装的, 是在控制台操作, 或是其他指定了该scala版本的运行程序才会使用,
安装的路径不一样, 如果你能找到路径, 其实两个都是正常使用的
不重复,scala官网下载下载的是开发包,IDE中中的Scala插件是开发的用的。
你是不是spark的环境没有搭好。老师讲的环境是基于hadoop搭建的。
老铁,我跟你一样遇到了这个问题,折腾了我好久终于解决了。
我是deepin系统,装了“jdk-11.0.2",怀疑是JDK版本的问题,后面就把它换成了"jdk1.8.0_201",first函数终于执行成功了,你可以下载这个版本,或者格式类似这个版本的JDK把原来的JDK替换掉试试
刷新网页试试
办法一:在spark的conf目录下,在spark-env.sh文件中加入LD_LIBRARY_PATH环境变量LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
办法二:在 ~/.bashrc 设置一下 export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
试试看有没有用
加个 -V 看看 日志。
spark如果你的提交作业的方式是local,是不需要配置任何东西的,视频里面老师都是在spark-shell下进行操作的所以不需要配置任何东西,按照你的说法,spark-shell命令无效是因为没有去到spark的bin目录下执行命令,如果你往/etc/profile或者~/.bash_profile 下进行把spark的bin加入到PATH的的话就可以不用去到bin目录下也可以执行spark-shell。如果你的spark作业是提交在yarn等外部框架上面则需要配置spark-env.sh文件。
很快..
这与RDD的分区数量有关,你后面学过这个就会知道的