1- 虚拟机配置
- 1- 三台虚拟机对应三个压缩文件:
- 2- 将这个三个服务器解压到一个
没有中文,没有空格
的目录下 (空间需求: 100GB) - 3- 将服务器挂载到VMware上:
选择每一台节点上的 .vmx后缀的文件, 双击即可, 即可直接加载到VMware上,以node1为例, 其他节点都是一模一样
(如果双击后, 长时间在VMware上看不到, 解决方案: 将VMware直接关闭, 然后双击xxx.vmx 即可
虚拟机资源配置: 每个虚拟机占用 4GB内存 + 2核CPU 不要调小 可以调大,如果内存不够,可以调整为 4 3 3 方案)
- 4- 开启虚拟机, 如果提示我已移动|我已复制, 请注意: 一定一定一定要选择
我已移动此虚拟机
(如果选错请重新解压) - 5- 查看每一台的虚拟机的IP地址和网关地址
查看路径: cat /etc/sysconfig/network-scripts/ifcfg-ens33
- 6 - 修改 VMware的网络地址: 使用VMnet8
- 8 - 修改windows的对应VMware的网卡地址:
- 9- 通过fineshell 或者其他的shell连接工具即可连接使用即可, 连接后, 测试一下网络
- 10- 如果需要配置一些windows上的Host地址, 建议配置一下
需要将以下信息配置到windows的hosts(路径:C:\Windows\System32\drivers\etc\hosts)文件中
192.168.88.161 node1 node1.itcast.cn
192.168.88.162 node2 node2.itcast.cn
192.168.88.163 node3 node3.itcast.cn
注意:如果hosts文件拒绝访问修改,把etc目录下的hosts文件剪切到桌面,在桌面上对hosts文件内容修改。修改完以后,再剪切移动到etc目录下
2- Local模式安装
- Local模式主要应用在开发、测试中使用
注意: 退出的时候, 请不要使用 ctrl + z, 此操作不是退出, 而是挂载到后台
具体部署参考:Spark Local和PySpark部署-CSDN博客
强制退出:
ctrl + c
ctrl + d
正常退出: 以下某一个即可退出
quit
exit
:quit
:exit
!quit
!exit
python正常退出: quit()
3- PySpark库安装
为什么学习PySpark?
Python 现在是 Spark 上使用最广泛的语言。PySpark 在 PyPI(Python 包索引)上的每月下载量超过 500 万次。此版本改进了其功能和可用性,包括重新设计带有 Python 类型提示的 Pandas UDF API、新的 Pandas UDF 类型和更多 Pythonic 错误处理。
参考链接:https://spark.apache.org/releases/spark-release-3-0-0.html
执行pyspark也就是使用python语言操作Spark集群,在安装完Spark基础环境之后,我们还需要安装python环境,而今支持python环境最佳的环境就是Anaconda,避免再去安装的单独的python发行版,因此Anaconda也称之为数据学科必备python环境。
接下来首先学习PySpark安装以及Anaconda安装及基本使用。
使用spark-shell方式可以进入spark的客户端,但是这个客户端编码是需要scala代码的,我们并不会。我们希望可以使用python代码操作spark。所以可以使用pyspark的客户端,但是一执行pyspark,就报出如下的错误:
错误原因: 【环境没有python3】
解决办法: 【pyspark实际上,就是用python操作spark。它需要python3的环境。我们安装python3的版本就可以】
首先PySpark需要从PyPi上面安装:https://pypi.org/project/pyspark/#files
若安装PySpark需要首先具备Python环境,这里使用Anaconda环境,安装过程如下:
3-1 Anaconda安装
Anaconda(水蟒): 是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 conda、Python 等 180 多个科学计算包及其依赖项,并且支持所有操作系统平台。
anaconda是一个大集成者, 包含有python的环境. 同时还包含各种用于数据分析python库, 一旦使用anaconda可以在一定程度上避免安装各种Python的库
anaconda提供一种虚拟化的测试, 可以基于anaconda虚拟出多个python的环境, 而且各个环境都是相对独立的 我们称为沙箱环境
为什么需要使用虚拟环境: 是因为python各个版本都是互相不兼容, 比如说python2 和python3 不兼容 甚至大家都是python3, 但是python3.8 无法兼容python3.7
在虚拟机中可以基于anaconda 来安装python 3.8.8的环境
接下来安装python3的环境,参考:Spark Local和PySpark部署-CSDN博客
anaconda安装好后,需要重新进入shell工具,让环境生效。
扩展: anaconda的相关的命令
1- 如何安装python的库:
pip install -i 镜像地址 -y 包名
conda install 包名
2- 如何卸载python的库:
pip uninstall 包名
conda uninstall 包名
3- 当使用anaconda下载python库的, 可以提前设置下载镜像地址:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
4- 如何基于conda 查看当前安装了那些python库
查看所有:
conda list
查看是否安装某一个库:
conda list | grep 包名
5- 如何使用conda创建一个虚拟环境:
conda create 虚拟环境名称 python=版本号
6- 如何查询目前有那些虚拟环境
conda env list
7- 如何进入虚拟环境中:
source activate 虚拟环境名称
conda activate 虚拟环境名称
8- 退出虚拟环境
conda deactivate
3-2 PySpark库安装
参考:Spark Local和PySpark部署-CSDN博客
3-3 PySpark环境验证
演示: 将spark提供的官方测试python脚本提交到spark的local上,检测spark是否可以正常的运行
cd /export/server/spark/bin/
./spark-submit --master local[*] /export/server/spark/examples/src/main/python/pi.py 10
bin/spark-submit \
# 参数解释
(1)基本语法
--class <main-class> --class: 你的应用的启动类
--master <master-url> \--master 指定Master的地址
--executor-memory 1G \指定每个executor可用内存为1G
--total-executor-cores 2 \指定每个executor使用的cup核数为2个
--deploy-mode <deploy-mode> \--deploy-mode: 是否发布你的驱动到worker节点
--py-files XXXX.zip \ .py、.egg或者.zip文件的逗号分隔列表,包括Python应用程序,这些文件将被交付给每一个执行器来使用。
--conf <key>=<value> \--conf: 任意的Spark配置属性, 格式key=value.
... # other options
<application-jar> \打包好的应用jar,包含依赖.
[application-arguments]传给main()方法的参数
(2)参数说明
--master 指定Master的地址,默认为Local
--class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
--deploy-mode: 是否发布你的驱动到worker节点(cluster) 或者作为一个本地客户端 (client) (default: client)
--conf: 任意的Spark配置属性, 格式key=value. 如果值包含空格,可以加引号“key=value”
application-jar: 打包好的应用jar,包含依赖. 这个URL在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar
application-arguments: 传给main()方法的参数
--executor-memory 1G 指定每个executor可用内存为1G
--total-executor-cores 2 指定每个executor使用的cup核数为2个
版权归原作者 肉肉rrose 所有, 如有侵权,请联系我们删除。