Linux 下伪分布式安装spark

本文档详细介绍了如何在Linux系统中进行伪分布式安装Spark的步骤。首先,需要安装Scala,由于Scala依赖Java虚拟环境,所以需要确保已安装JVM。接着,下载并解压Scala和Spark到指定目录,通过编辑.bashrc或/etc/profile文件添加环境变量,并使其生效。之后,配置Spark的spark-env.sh文件,启动所有服务。最后,通过浏览器验证Spark是否成功启动。

首先要安装Scala, 然后再装spark
链接:https://pan.baidu.com/s/1ztL8u7tjm7t6Gm2yg-gWig
提取码:km7m
这里面是scala2.11.8和spark2.2.3
然而Scala又是在java虚拟环境下运行的,没装jvm的得先装

1.下载解压然后放到指定位置,打开gedit ~/.bashrc文件, 加路径进去

	export SCALA_HOME=/home/hadoop/scala
	export PATH=$SCALA_HOME/bin:$PATH

这个是基于用户的, 如果你想所有用户都用到的话,就把它放进
gedit /etc/profile
然后source /etc/profile一下
再然后输入scala -version有反应就说明成功了
在这里插入图片描述
然后开始装spark了, 也是先解压到指定的位置(你自己喜欢)
然后配置gedit ~/.bashrc

export SPARK_HOME=/home/hadoop/spark
export PATH=$SPARK_HOME/bin:$PATH

完了再scource ~/.bashrc

再进到cd spark/conf, 再 cp spark-env.sh.template spark-env.sh
然后加入到spark-env.sh文件下

export JAVA_HOME=/home/hadoop/java/jdk1.8.0_191
export SCALA_HOME=/home/hadoop/scala
export HADOOP_HOME=/home/hadoop/hadoop-2.7.6
export HADOOP_CONF_DIR=/home/hadoop/hadoop-2.7.6/etc/hadoop
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=7077
# 还有一些其他配置项可以百度看看

现在就可以进入spark sbin/start-all.sh
在这里插入图片描述
然后再去浏览器看看
在这里插入图片描述
这样就成功了

### Spark伪分布式配置及与MySQL集成教程 #### 一、Spark伪分布式环境搭建 为了实现Spark伪分布式运行模式,需完成以下几个关键步骤: 1. **下载并解压Spark** 下载适合当前Hadoop版本的Spark二进制包,并将其解压至指定路径。例如,在Linux环境下可以执行如下命令[^1]: ```bash tar -zxvf spark-3.x.x-bin-hadoop3.tgz -C /opt/spark/ ``` 2. **修改`conf/spark-env.sh`文件** 创建或编辑该文件以设置必要的环境变量,如Java_HOME和SPARK_MASTER_HOST等参数。以下是常见的配置项: ```bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export SPARK_MASTER_HOST=localhost export PYSPARK_PYTHON=python3 ``` 3. **启动Spark集群服务** 使用以下脚本分别启动Master节点和Worker节点的服务: ```bash ./sbin/start-master.sh ./sbin/start-slave.sh spark://localhost:7077 ``` 4. **验证伪分布状态** 打开浏览器访问 `http://<your-host>:8080` 来确认Spark Master Web UI是否正常工作。 --- #### 二、Spark连接MySQL的配置过程 当需要让Spark能够读写MySQL中的数据时,除了基本的伪分布式配置外还需要额外处理一些依赖关系以及编写相应的代码逻辑来建立数据库交互功能。 1. **准备JDBC驱动程序** 将官方提供的MySQL JDBC Driver jar包放置于Spark安装目录下的`jars/`子文件夹里或者通过其他方式加载此库资源到classpath中去[^3]。 2. **调整spark-defaults.conf配置选项** 添加下面这些属性定义以便支持远程SQL查询操作等功能需求: ```properties spark.driver.extraClassPath /path/to/mysql-connector-java-x.x.xx.jar spark.executor.extraClassPath /path/to/mysql-connector-java-x.x.xx.jar ``` 3. **开发Scala/Python应用实例** ##### Scala示例代码片段展示如何利用DataFrame API从MySql获取表记录作为RDD对象进行分析计算。 ```scala import org.apache.spark.sql.SparkSession val spark = SparkSession.builder() .appName("MySQL to DataFrame using plain JDBC") .config("spark.master", "local") // For local testing purposes only. .getOrCreate() // Replace with your actual DB credentials and table name accordingly below: val jdbcDF = spark.read.format("jdbc").options(Map( "url" -> "jdbc:mysql://localhost:3306/testdb", "driver" -> "com.mysql.cj.jdbc.Driver", "dbtable" -> "(SELECT * FROM employees WHERE salary > ?) AS temp_emp", "user" -> "root", "password" -> "", "fetchsize" -> "10" )).load().filter(col("_c5") === lit(9)) jdbcDF.show(false) ``` 上述例子展示了怎样借助内置函数创建一个基于特定条件过滤后的视图结构化数据集用于后续ETL流程转换任务当中[^2]。 --- #### 总结 综上所述,完成了以上几步之后就可以成功构建起一套完整的Spark伪分布式平台架构体系,并且实现了同外部关系型存储引擎——即这里提到过的MySQL之间的无缝对接互通能力!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值