基于docker安装spark

本文详细介绍如何使用Docker快速部署Spark集群,并进行基本配置。此外还提供了启动Master和Slave节点的方法,以及如何通过spark-submit命令提交应用程序进行运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先下载镜像并启动:
docker pull sequenceiq/spark:1.5.1
sudo docker run -it sequenceiq/spark:1.5.1 bash
2.修改配置
首先用ifconfig得到ip地址,我的ip是172.17.0.109,然后:
bash-4.1# cd /usr/local/spark 
bash-4.1# cp conf/spark-env.sh.template conf/spark-env.sh 
bash-4.1# vi conf/spark-env.sh
添加两行代码:
export SPARK_LOCAL_IP=172.17.0.109
export SPARK_MASTER_IP=172.17.0.109
3然后启动master 跟slave:
bash-4.1# ./sbin/start-master.sh 
bash-4.1# ./sbin/start-slave.sh 172.17.0.109:7077
这里遇到过报内存不够的,通过配置swap区域来解决
配置swap参考的文章(修改主机的swap就可以了):
http://blog.csdn.net/lucky_liuxiang/article/details/47166957
浏览器打开(你的ip:8080) 可以看到如下spark各节点的状态。

4.用spark-sumit提交一个应用运行一下:

/usr/local/spark/bin/spark-submit --master spark://172.17.0.3:7077 --class org.apache.spark.examples.SparkPi /usr/local/spark/lib/spark-examples-1.5.1-hadoop2.6.0.jar 2


### 如何在 Docker 中运行或部署 Apache Spark #### 部署环境准备 为了在 Docker 容器中成功运行 Apache Spark,首先需要克隆官方的 Spark 仓库并构建镜像。以下是具体的实现方式: 通过 Git 克隆 Apache Spark 的源码库,并进入 `spark` 文件夹下的开发目录来生成分发包: ```bash git clone [email protected]:apache/spark.git cd spark dev/make-distribution.sh -Pkubernetes ``` 随后切换到 `dist` 目录下,利用 Kubernetes 提供的 Dockerfile 构建自定义的 Spark 镜像[^1]: ```bash cd dist docker build -t spark:latest -f kubernetes/dockerfiles/spark/Dockerfile . ``` #### 数据存储至 HDFS 如果计划将数据文件上传到分布式文件系统 (HDFS),可以借助如下命令完成文件传输操作: ```bash hadoop fs -put /data01/data/datadir_github/spark/README.md /user/tsingfu/ ``` 此步骤确保了集群中的所有节点能够访问共享的数据集[^2]。 #### 多节点配置说明 对于多节点场景,需明确指定 slave 节点列表(如 hadoop-node1 和 hadoop-node2)。这些节点上会分别启动 DataNode 进程以及 YARN NodeManager 组件以支持大规模计算任务的需求[^3]。 #### MLlib 及深度学习集成扩展 除了基本功能外,还可以考虑引入机器学习库 MLlib 来增强数据分析能力;另外随着深度学习技术的发展趋势日益明显,尝试融合 TensorFlow 或 PyTorch 等框架于 Spark 平台之上,则可进一步打造适用于批量处理与分布式的统一解决方案[^4]. ```python from pyspark.sql import SparkSession # 创建 Spark Session 实例用于后续交互分析 spark = SparkSession.builder \ .appName("Example") \ .getOrCreate() df = spark.read.csv("/path/to/csv", header=True, inferSchema=True) # 展示前几条记录验证读取情况 df.show(5) ``` 上述代码片段展示了如何基于 Python API 初始化一个简单的 Spark 应用程序实例,并加载 CSV 格式的数据表进行初步探索性展示。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值