docker中对Spark 应用中配置 MySQL 连接

这篇具有很好参考价值的文章主要介绍了docker中对Spark 应用中配置 MySQL 连接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在做下图的实验发现docker中的mysql和spark要建立连接需要 MySQL JDBC 驱动程序,所以出一个我的处理过程,供大伙参考。

docker中对Spark 应用中配置 MySQL 连接,docker,spark,容器,mysql首先要把两个docker镜像装好,下面是两个常用的:

docker中对Spark 应用中配置 MySQL 连接,docker,spark,容器,mysql

然后就可以开始搭建环境了:

打开主机的cmd终端,创建一个 docker网络

docker network create spark-mysql-network

创建并启动MySQL容器(密码设置为password):

docker run --name mysql-container --network spark-mysql-network -e MYSQL_ROOT_PASSWORD=password -d mysql:tag

这里mysql-container随便设什么名字

创建并启动Spark容器

docker run --name spark-container --network spark-mysql-network -d bitnami/spark:latest

这里spark-container随便设什么名字

将 MySQL 和 Spark 容器连接到这个网络(这一步检查有没有在两个容器有没有在网络里面)

docker network connect spark-mysql-network mysql-container

docker network connect spark-mysql-network spark-container

添加 JDBC 驱动:

docker cp mysql-connector-java-8.2.0.jar spark-container:/opt/bitnami/spark/jars

这里mysql-connector-java-8.2.0.jars是在MySQL :: Download Connector/J下载:

docker中对Spark 应用中配置 MySQL 连接,docker,spark,容器,mysql

选择Platform Independent:

下载tar.gz然后解压,把jar包提取出来,

docker中对Spark 应用中配置 MySQL 连接,docker,spark,容器,mysql

然后随便放在哪个路径里,最好不要有中文路径,然后运行这行代码:

docker cp mysql-connector-java-8.2.0.jar spark-container:/opt/bitnami/spark/jars

如果名字路径不对就把对应的名字或者路径设置一下,在mysql-connector-java-8.2.0.jar这个地方

然后启动spark-shell即可运行一个带有JDBC驱动的spark程序了

顺带一提,mysql的运行我也大致放出来:

docker exec -it mysql-container mysql -u root -p

然后输入密码,在 MySQL 提示符下,执行以下 SQL 命令:

CREATE DATABASE sparktest;
USE sparktest;
CREATE TABLE employee (id INT, name VARCHAR(50), gender CHAR(1), age INT);
INSERT INTO employee (id, name, gender, age) VALUES (1, 'Alice', 'F', 22), (2, 'John', 'M', 25);

其余的在spark-shell里面完成,解释一下我的做法:

JDBC URL - 使用 MySQL 容器的名称作为主机名

val jdbcUrl = "jdbc:mysql://mysql-container:3306/sparktest"
val connectionProperties = new java.util.Properties() 
connectionProperties.put("user", "root") 
connectionProperties.put("password", "password")

第一行代码的意思就是在 Scala 中定义了一个 JDBC URL,用于连接到 MySQL 数据库,3306是MySQL 的默认端口号。

 文章来源地址https://www.toymoban.com/news/detail-784060.html

 

到了这里,关于docker中对Spark 应用中配置 MySQL 连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 构建大数据环境:Hadoop、MySQL、Hive、Scala和Spark的安装与配置

    在当今的数据驱动时代,构建一个强大的大数据环境对于企业和组织来说至关重要。本文将介绍如何安装和配置Hadoop、MySQL、Hive、Scala和Spark,以搭建一个完整的大数据环境。 安装Hadoop 首先,从Apache Hadoop的官方网站下载所需的Hadoop发行版。选择适合你系统的二进制发行版,下

    2024年02月11日
    浏览(51)
  • Docker之Tomcat容器连接mysql容器

    目录 Docker 是什么 Docker 能干什么 Tomcat容器连接mysql容器主要原理: 操作前的准备(Docker的安装):  开始操作: Docker 是什么 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也

    2023年04月14日
    浏览(76)
  • Docker中对已存在运行的容器修改端口映射和容器卷映射

    一、初次创建容器,指定宿主机和容器端口的映射,如下示例: 二、对已存在运行容器,更改端口 方式一:(删了原来的,根据image重做) 1、停止容器 2、将容器打包成镜像 3、用“一”中的命令,通过新镜像开启新容器 方式二:(直接修改现有容器) 1、停止容器 2、查找

    2024年02月16日
    浏览(51)
  • 如何让Docker容器连接外部Mysql?

    在Linux Centos上面部署Docker容器,并且将原来的项目服务放到docker的某个镜像中,启动服务号发现无法连接到容器所在宿主机的mysql数据库,但是现在项目服务需要连接mysql数据库。 例如:SQLalchemy 但是在容器中项目localhost默认的是docker容器这个虚拟主机的ip,而我在docker该镜像

    2024年02月11日
    浏览(52)
  • Spark---Spark连接Hive

    Apache Hive 是 Hadoop 上的 SQL 引擎,Spark SQL 编译时可以包含 Hive 支持,也可以不包含。包含 Hive 支持的 Spark SQL 可以支持 Hive 表访问、UDF (用户自定义函数)以及 Hive 查询语言(HiveQL/HQL)等。需要强调的一点是,如果要在Spark SQL 中包含Hive 的库,并不需要事先安装 Hive。一般来说,最

    2024年02月03日
    浏览(49)
  • Docker安装mysql&&使用Navicat远程连接mysql容器&&mysql容器的持久化测试

    文章主人公:帅哥BUG😎  文章路人: 路人 🤨  路人 😛 目录 一.安装mysql并配置文件 1.下载相关镜像 2.在宿主机中创建相关目录,用于挂载容器的相关数据 3.conf目录 4.data目录(创建mysql5.7容器) 二.使用Navicat远程连接mysql容器 1.ip addr 获取ip 2.点击连接选择MySql 3.输入ip,密码

    2024年02月03日
    浏览(48)
  • Docker容器内连接宿主机的其他服务,比如Mysql

    通过上一篇文章,我们可以解决同一个容器内的通讯问题,大家使用同一个桥接网络的方案是最简便的,但是我们的容器需要访问宿主机怎么办 ? 现实的场景,我们一般都是微服务全部部署到了容器内,但是像数据库这种极其需要稳定性的功能,我们是需要部署到宿主机上

    2024年02月12日
    浏览(50)
  • Spark连接快速入门

    文章最前 : 我是Octopus,这个名字来源于我的中文名--章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。 Spark Connect 为 Spark 引入了解耦的

    2024年01月25日
    浏览(37)
  • pycharm连接spark

            1.HADOOP_HOME 2.SPARK_HOME 3.PYTHONPATH PYTHONPATH路径要添加到D:sparkspark-2.4.6-bin-hadoop2.7pythonlibpy4j-0.10.7-src.zip下 3.4.1 如果没有请按照以下教程下载,后期需要  3.4.2安装py4j  3.4.3安装pyspark推荐2.4.6版本    3.4.4安装pip  

    2023年04月19日
    浏览(18)
  • Spark连接Hive读取数据

            Ubuntu 16.04 LTS         ubuntu-16.04.6-desktop-i386.iso          spark-3.0.0-bin-without-hadoop.tgz           hadoop-3.1.3.tar.gz         apache-hive-3.1.2-bin.tar.gz         spark-hive_2.12-3.2.2.jar         openjdk 1.8.0_292         mysql-connector-java-5.1.40.tar.gz         

    2024年02月01日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包