目录
1:规划:
master | slave1 | slave2 |
192.168.204.130 | 192.168.204.131 | 192.168.204.132 |
1:想法:
所有大数据软件安装在/export目录下面,目前因为只是spark Locak模式,就创建在master上面吧,只要在一台说创建,比较简单。
后面我是打算有python敲spark程序,pyspark程序所以安装好hadoop,mysql,hive,anconda, zookeeper,等一些组件
spark Locak模式必须安装好python解释器(推荐anconda)jdk
2: 版本
jdk: 1.8.0_161
anconda: (Anaconda3-2023.09-0-Linux-x86_64)
Hadoop:3.3.2
spark:(spark-3.4.1-bin-hadoop3)
2:spark配置文件部署
1:上传Spark安装包到/export下面
2:解压下载的Spark安装包并且改名
tar -xvf spark-3.4.1-bin-hadoop3.tgz
mv spark-3.4.1-bin-hadoop3 spark
3:spark部署环境变量
1: /etc/profile环境
vim /etc/profile
#解释环境
#配置jdk环境
export JAVA_HOME=/export/jdk
export PATH=$JAVA_HOME/bin:$PATH
#配置anaconda环境
export ANACONDA_HOME=/export/anaconda/bin
export PATH=$ANACONDA_HOME/bin:$PATH
#配置pyspark虚拟环境
export PYSPARK_PYTHON=/export/anaconda3/envs/pyspark/bin/python3.11
#大数据框架
#配置hadoop环境
export HADOOP_HOME=/export/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
#配置spark环境
export SPARK_HOME=/export/spark
#配置zookeeper环境
export ZK_HOME=/export/zookeeper
export PATH=$ZK_HOME/bin:$PATH
#配置hive路径
export HIVE_HOME=/export/hive
export PATH=$HIVE_HOME/bin:$PATH
#指定进程的用户名字
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
2:/root/.bashrc
vim /root/.bashrc
export JAVA_HOME=/export/jdk
export PYSPARK_PYTHON=/export/anaconda3/envs/pyspark/bin/python3.11
4:测试
1:bin/pyspark
可以提供一个 交互式的 Python解释器环境, 在这里面可以写普通python代码, 以及spark代码
1:进入pyspark环境
cd /export/spark/bin
./pyspark
2:代码测试
print('哈哈')
sc.parallelize([1,23,4,45,65,6,7]).map(lambda x: x*10).collect()
3:web页面访问 master:4040,
这个端口号可以延升 4040 4041 4042(当同时打开多个环境才会延升 ,不然都是4040) 当这个环境退出后web页面访问不了,
2:./spark-shell
1:进入./spark-shell 环境
这是scala环境,spark底层源码是用scala敲的
cd /export/spark/bin
./spark-shell
2:代码测试
sc.parallelize(Array(1,2,3,4,5)).map(x=> x + 1).collect()
3:web访问 master:4040
3:bin/spark-submit (PI)
1:作用
提交指定的Spark代码到Spark环境中运行
2:语法
# 语法
cd /export/spark
bin/spark-submit [可选的一些选项] jar包或者python代码的路径 [代码的参数]
# 示例
bin/spark-submit /export/spark/examples/src/main/python/pi.py 10
# 此案例 运行Spark官方所提供的示例代码 来计算圆周率值. 后面的10 是主函数接受的参数, 数字越高, 计算圆周率越准确.
./spark-submit --master local[*] /export/spark/examples/src/main/python/pi.py 10000
3:web访问(master:4040)
5:总结
1图表
功能 | bin/pyspark | bin/spark-shell | bin/spark-submit |
功能 | 提供一个python | 提供一个scala | 提交java\scala\python代码到spark中运行 |
解释器环境用来以python代码执行spark程序 | 提供一个python | ||
解释器环境用来以scala代码执行spark程序 | 提供一个scala | 提供一个scala | |
特点 | 解释器环境 写一行执行一行 | 解释器环境 写一行执行一行 | 提交代码用 |
使用场景 | 测试\学习\写一行执行一行\用来验证代码等 | 测试\学习\写一行执行一行\用来验证代码等 | 正式场合, 正式提交spark程序运行 |
2端口:
4040,如果开启多个,端口就会以加一延升,4040 4041 ........当程序退出,web页面访问不了