使用docker快速安装spark集群

最近在学习spark,想着着手搭建一下spark环境,几年前买的网课一直没看(太懒),跟着网课视频一步步安装,踩了不少坑,所以对课程提供的配置文件进行了调整,最终成功运行。修改后的配置文件放在下方链接了,可以点击链接下载。

https://download.csdn.net/download/qq_28319843/88328673

文件目录

以下文件安装包文件较大,为上传到资源中,其中的配置文件上传到资源中。

apache-hive-2.3.2-bin.tar.gz
hadoop-2.7.3.tar.gz
 jdk-8u101-linux-x64.tar.gz
 mysql-5.5.45-linux2.6-x86_64.tar.gz
mysql-connector-java-5.1.37-bin.jar
scala-2.11.8.tgz
spark-2.3.0-bin-hadoop2.7.tgz

├── apache-hive-2.3.2-bin.tar.gz
├── hadoop-2.7.3.tar.gz
├── jdk-8u101-linux-x64.tar.gz
├── mysql-5.5.45-linux2.6-x86_64.tar.gz
├── mysql-connector-java-5.1.37-bin.jar
├── scala-2.11.8.tgz
└── spark-2.3.0-bin-hadoop2.7.tgz
├── build.sh
├── build_network.sh
├── Dockerfile
├── config
│   ├── apt.conf
│   ├── core-site.xml
│   ├── hadoop-env.sh
│   ├── hdfs-site.xml
│   ├── hive-site.xml
│   ├── init_hive.sh
│   ├── init_mysql.sh
│   ├── mapred-site.xml
│   ├── master
│   ├── masters
│   ├── nohup.out
│   ├── pip.conf
│   ├── profile
│   ├── restart-hadoop.sh
│   ├── restart_containers.sh
│   ├── slaves
│   ├── spark-defaults.conf
│   ├── spark-env.sh
│   ├── ssh_config
│   ├── start-hadoop.sh
│   ├── start_containers.sh
│   ├── stop_containers.sh
│   └── yarn-site.xml

集群的整体构架

创建spark镜像

创建一个叫spark的文件夹,将整个文件目录拷贝进去。在该目录下打开终端

运行build.sh脚本,创建spark镜像

sh build.sh

运行结束后运行docker images ls可以查看建立好的镜像

docker images ls

启动容器

进入到config文件下,运行start_containers.sh启动容器

sh start_containers.sh

通过docker ps查看构建的镜像,

或者通过docker客户端查看

查看是否成功

进去容器

# 进如容器
docker exec -it hadoop-maste /bin/bash

查看mysql

# 检验mysql是否配配置启动成功
mysql -uroot -proot -hhadoop-mysql

 查看hive是否配置成功

进去hive

beeline -u "jdbc:hive2://hadoop-hive:10001/default;transportMode=http;httpPath=cliservice" --color=true -n root

查看hive中的表

 为了验证是否配置成功,在hive中创建一个woker数据库,在使用spark将数据写到woker中的表里面

create database woker;

进入spark创建数据

# 进入到hadoop-maste中使用spark写入数据
pyspark --master spark://hadoop-maste:7077 --conf spark.pyspark.python=/usr/bin/python3

创建并写入数据

>>> data=[("anne",1),("john",1)]
>>> data=spark.createDataFrame(data,schema=["name","age"])
>>> data.write.saveAsTable('worker.test1')
>>> data.show()                                                                 
+----+---+                                                                      
|name|age|
+----+---+
|anne|  1|
|john|  1|
+----+---+

从hive中查看

use woker;
select * from test1;

过程中的坑

  1. dockfile文件中的ubuntu没有指定版本,导致直接用原来的dockerfile文件会出很多错误,所以修改成版本为18.04;
  2. python版本不能太高,否则pyspark运行不起来
  3. spark集群的配置,需要注意调整spark-defaults.conf中spark.executor.memory=512M
    spark.driver.memory=512M;初始设置成2G,导致运行经常挂到。可以根据自己电脑的配置进行调节
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值