【Spark生态】--Spark环境搭建

目录

1- 虚拟机配置

2- Local模式安装

3- PySpark库安装

3-1 Anaconda安装

3-2 PySpark库安装

3-3 PySpark环境验证

4- Spark集群架构

5- Spark集群部署

6-Spark应用架构

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个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值