安装spark并配置高可用

news2024/12/25 9:24:27

0、说明

上一篇文章讲了如何安装hadoop,这里将spark的详细安装步骤记录在这里。
其中实现了spark的高可用配置,即将zookeeper配置到spark集群中。对于资源管理也配置了yarn模。并开启了spark-sql的配置,可以通过jdbc链接spark。

  • spark 集群安装
  • zookeeper配置
  • yarn配置
  • 配置spark-sql

1、 普通安装

1、下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.0.2/spark-3.0.2-bin-hadoop3.2.tgz

2、规划

三台机器,master节点,一主一备,worker节点,三个都是worker

svr43server42server37
ip192.168.0.43192.168.0.42192.168.0.37
masteryesNyes
workeryesyesyes
zookeeperzookeeperzookeeper

3、解压

tar -zxvf  spark-3.1.1-bin-without-hadoop.tgz

4、配置(三台机器保持一样的配置)

cd spark-3.1.1-bin-without-hadoop/conf
  • 配置spark-env.sh
airwalk@svr43:~/bigdata/soft/spark-3.1.1-bin-without-hadoop/conf$ mv spark-env.sh.template spark-env.sh
airwalk@svr43:~/bigdata/soft/spark-3.1.1-bin-without-hadoop/conf$ vim spark-env.sh
# 添加如下内容,设置java_hone,设置集群的master机器名或者机器的ip地址
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export SPARK_MASTER_HOST=192.168.0.43

  • 配置worker
airwalk@svr43:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/conf$ mv workers.template workers

vim workers
# 添加如下内容,可以添加主机名,也可以添加ip地址,这里使用的是ip地址
# A Spark Worker will be started on each of the machines listed below.
192.168.0.43
192.168.0.42
192.168.0.37

  • 配置日志
airwalk@svr43:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/conf$ mv log4j.properties.template log4j.properties
airwalk@svr43:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/conf$ vim log4j.properties 
  • 配置环境变量
# 配置spark的环境变量
sudo vim /etc/profile
# SPARK_HOME
export SPARK_HOME=/home/airwalk/bigdata/soft/spark-3.0.2-bin-hadoop3.2
export PATH=$SPARK_HOME/bin:$PATH

# 使文件生效
source /etc/profile

5、启动

# 在master机器上启动一下命令
./sbin/start-all.sh

6、查看

# dakai
http://svr43:8080/

在这里插入图片描述

7、配置历史记录

# 一下配置需要在所有节点上配置
airwalk@server42:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/conf$ mv spark-defaults.conf.template spark-defaults.conf
airwalk@server42:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/conf$ vim spark-defaults.conf 
# 添加如下内容
spark.eventLog.enabled          true
spark.eventLog.dir              hdfs://192.168.0.43:9000/directory

# 创建目录 directory
hdfs dfs -mkdir /directory

# 修改spark-env.sh
vim spark-env.sh
# 添加如下内容
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://192.168.0.43:9000/directory
-Dspark.history.retainedApplications=30"

# web-ui 端口号
# 日志存储的路径
# 指定保存applications历史记录保存的个数,如果超过这个值,旧的信息就会被删除,这个是内存中的应用数,而不是页面上显示的应用数

# 重启服务,master上执行
./sbin/stop-all.sh
./sbin/start-all.sh
./sbin/start-history-server.sh

# 测试
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://192.168.0.43:7077 \
examples/jars/spark-examples_2.12-3.0.2.jar \
10

# 查看历史web
http://svr43:18080/

在这里插入图片描述

2、 * spark的高可用配置

三台机器,master节点,一主一备,worker节点,三个都是worker。主节点之间的协调通过zookeeper来实现

svr43server42server37
ip192.168.0.43192.168.0.42192.168.0.37
masteryesNyes
workeryesyesyes
zookeeperzookeeperzookeeper

1、安装zookeeper*

# 下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
# 解压
tar -zxvf  apache-zookeeper-3.6.3-bin.tar.gz
mv  apache-zookeeper-3.6.3-bin/ zookeeper

# 创建数据目录和日志目录
 mkdir data
 mkdir log
 pwd
/home/airwalk/bigdata/soft/zookeeper

# 配置zoo.cfg
airwalk@svr43:~/bigdata/soft/zookeeper$ cd conf/
airwalk@svr43:~/bigdata/soft/zookeeper/conf$ ls
configuration.xsl  log4j.properties  zoo_sample.cfg
airwalk@svr43:~/bigdata/soft/zookeeper/conf$ mv zoo_sample.cfg zoo.cfg 
airwalk@svr43:~/bigdata/soft/zookeeper/conf$ vim zoo.cfg 
# 添加如下内容
dataDir=/home/airwalk/bigdata/soft/zookeeper/data
dataLogDir=/home/airwalk/bigdata/soft/zookeeper/log
clientPort=2181
server.0=192.168.0.43:2888:3888
server.1=192.168.0.42:2888:3888
server.2=192.168.0.37:2888:3888

# 配置zookeeper的环境变量
sudo vim /etc/profile
# ZOOKPEER_HOME
export ZOOKEEPER_HOME=/home/airwalk/bigdata/soft/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
# 使文件生效
source /etc/profile

# 配置id
#  在master节点上配置为0,余下的分别配置为1,2 跟zoo.cfg中的编号保持一致
cd data
echo 0 > myid

# 启动,如果环境变量设置失败的话,需要到bin目录下执行
zkServer.sh start

# 查看
zkServer.sh status
airwalk@server37:~/bigdata/soft/zookeeper/data$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/airwalk/bigdata/soft/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader


2、配置

  • spark-env.sh
vim spark-env.sh
# 这个注释掉
# export SPARK_MASTER_HOST=192.168.0.43
SPARK_MASTER_WEBUI_PORT=8989

export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=192.168.0.43,192.168.0.42,192.168.0.37
-Dspark.deploy.zookeeper.dir=/spark"

  • 重启集群
./sbin/stop-all.sh
./sbin/start-all.sh

# 在备用master上启动master
# 192.168.0.37

airwalk@server37:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/sbin$ jps
48130 Worker
46650 QuorumPeerMain
43995 SecondaryNameNode
43789 DataNode
48351 Jps
airwalk@server37:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/sbin$ ./start-master.sh
starting org.apache.spark.deploy.master.Master, logging to /home/airwalk/bigdata/soft/spark-3.0.2-bin-hadoop3.2/logs/spark-airwalk-org.apache.spark.deploy.master.Master-1-server37.out
airwalk@server37:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/sbin$ jps
48130 Worker
48405 Master
46650 QuorumPeerMain
43995 SecondaryNameNode
43789 DataNode
48575 Jps


  • 查看
# 主节点
http://192.168.0.43:8989/
# 从节点
http://192.168.0.37:8989/

主节点如下图:
主master

从节点如下图:
从节点

3、 *spark的yarn模式配置

  • 修改hadoop的yarn-site.xml文件
<!-- 是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其kill掉,默认是true -->
<property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>

<!-- 是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其kill掉,默认是true -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
  • 配置spark-env.sh
YARN_CONF_DIR=/home/airwalk/bigdata/soft/hadoop-2.10.1/etc/hadoop
  • 重启hdfs,yarn,spark
# 重启hdfs,yarn
airwalk@svr43:~/bigdata/soft/hadoop-2.10.1/sbin$ ./stop-dfs.sh
airwalk@server42:~/bigdata/soft/hadoop-2.10.1/sbin$ ./stop-yarn.sh 

airwalk@svr43:~/bigdata/soft/hadoop-2.10.1/sbin$ ./start-dfs.sh
airwalk@server42:~/bigdata/soft/hadoop-2.10.1/sbin$ ./start-yarn.sh

# 重启spark
airwalk@svr43:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/sbin$ ./stop-all.sh 
airwalk@server37:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/sbin$ ./stop-master.sh 
airwalk@svr43:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/sbin$ ./start-all.sh 
airwalk@server37:~/bigdata/soft/spark-3.0.2-bin-hadoop3.2/sbin$ ./start-master.sh 

  • 测试spark
# 测试
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
examples/jars/spark-examples_2.12-3.0.2.jar \
10

在这里插入图片描述

  • 查看web-ui
http://192.168.0.43:8989/

在这里插入图片描述

4、 启动spark-sql

  • 启动zookeeper
zkServer.sh start
  • 启动hadoop
./start-dfs.sh;
./start-yarn.sh
  • 启动spark
./start-all.sh
  • 首先启动
内网连接:
sbin/start-thriftserver.sh --master spark://10.9.2.100:7077  --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
外网连接:

./start-thriftserver.sh   --hiveconf hive.server2.thrift.port=10000  --hiveconf hive.server2.thrift.bind.host=svr43
  • 其次使用beeline启动
netstat -lnut | grep 10000

beeline -u jdbc:hive2://192.168.0.43:10000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072356.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Three.js真实相机畸变效果模拟

有没有想过如何在 3D Web 应用程序中模拟物理相机&#xff1f; 在这篇博文中&#xff0c;我将向你展示如何使用 Three.js和 OpenCV 来完成此操作。 我们将从模拟针孔相机模型开始&#xff0c;然后添加真实的镜头畸变。 具体来说&#xff0c;我们将仔细研究 OpenCV 的两个失真模…

【C++】Stack Queue -- 详解

一、stack的介绍和使用 1、stack的介绍 https://cplusplus.com/reference/stack/stack/?kwstack 1. stack 是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 2. stack 是作为容器适配器被…

改变世界-生成式人工智能

麦肯锡在其《生成人工智能的经济潜力&#xff1a;下一个生产力前沿》中声称&#xff0c;“ChatGPT、GitHub Copilot、Stable Diffusion 等生成式人工智能应用程序以 AlphaGo 没有的方式吸引了世界各地人们的想象力&#xff0c;这要归功于它们广泛的实用性——几乎任何人都可以使…

[mysql工具]Windows批处理方式实现MySQL定期自动备份

Windows批处理方式实现MySQL定期自动备份 对MySQL数据库而言&#xff0c;大部分数据库工具都具有备份功能&#xff0c;但并不能做到定期自动备份&#xff0c;在Windows环境下&#xff0c;手工备份MySQL是很繁琐的&#xff0c;所以我们通过MySQL提供的备份命令mysqldump&#xf…

如何防止重复提交订单

产生的原因 一种是由于用户在短时间内多次点击下单按钮&#xff0c;或浏览器刷新按钮导致。另一种则是由于Nginx或类似于SpringCloud Gateway的网关层&#xff0c;进行超时重试造成的。由于网速等原因造成页面卡顿&#xff0c;用户重复刷新提交页面黑客或恶意用户使用 postman…

maven配置代理

1.找到文件 find / -name "settings.xml" 当 maven 无法正常访问网络时候&#xff0c;需要通过代理进行访问 找到Maven的setting.conf文件 2.找到proxies 在maven的 setting.conf文件中找到 默认找到的时候文件 这里是被注释的。 3.配置如下 3.1配置截图 <…

QML 带框最大化显示方法

1.QML窗口最大化很多会给出如下方法: visibility: "FullScreen" 此方法不好的方面是没有最大化&#xff0c;最小化&#xff0c;关闭按钮 2.通过showMaximized() 方法可以满足我们需求:在onCompleted 方法中执行 实现的效果如下:

前后端分离计算机毕设项目之基于SpringBoot的无人智慧超市管理系统的设计与实现《内含源码+文档+部署教程》

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…

浏览器自动化神器:Automa 轻松实现任务编排 | 开源日报 No.52

usememos/memos Stars: 13.8k License: MIT memos&#xff0c;一个轻量级的、自托管的备忘录中心。开源且永久免费。 开源且永久免费使用 Docker 可以在几秒钟内完成自我托管支持 Markdown 格式可定制和共享提供 RESTful API 用于自助服务 mamoe/mirai Stars: 12.6k Licen…

2023.10.7 Java 创建线程的七种方法

目录 继承 Tread 类&#xff0c;重写 run 方法 实现 Runnable 接口 使用匿名内部类&#xff0c;继承 Thread 类 使用匿名内部类&#xff0c;实现 Runable 接口 使用 Lambda 表达式 使用线程池创建线程 实现 Callable 接口 继承 Tread 类&#xff0c;重写 run 方法 自定…

uni-app项目成功编译到微信开发者工具出现警告:当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!

问题描述 为什么uni-app项目编译成功后&#xff0c;运行到微信开发者工具&#xff0c;却出现警告&#xff1a;当前组件仅支持 uni_modules 目录结构 &#xff0c;请升级 HBuilderX 到 3.1.0 版本以上&#xff01; 初识uni-app的童鞋&#xff0c;经常会问&#xff1a;我使用HBui…

2019年[海淀区赛 第2题] 阶乘

题目描述 n的阶乘定义为n!n*(n -1)* (n - 2)* ...* 1。n的双阶乘定义为n!!n*(n -2)* (n -4)* ...* 2或n!!n(n - 2)*(n - 4)* ...* 1取决于n的奇偶性&#xff0c;但是阶乘的增长速度太快了&#xff0c;所以我们现在只想知道n!和n!!末尾的的个数 输入格式 一个正整数n &#xff…

酷开会员 | 亚运会来啦!酷开系统陪你一起看赛事!

第十九届亚洲运动会已经开始啦&#xff01;坐标杭州&#xff0c;本次亚运会有来自亚洲45个国家和地区的1.2万余名运动员参赛&#xff0c;是史上规模最大、覆盖面最广的一届亚运会。它是亚洲具有世界性影响的体育盛会&#xff0c;来自亚洲各国和地区的运动员在赛场上奋力拼搏&am…

南美阿根廷市场最全分析开发攻略,收藏一篇就够了

聊到阿根廷&#xff0c;大家可能对阿根廷的足球印象比较深&#xff0c;比如球星梅西&#xff0c;不管是不是球迷应该大部分都有听说过&#xff0c;阿根廷作为南美洲面积第二大的国家&#xff0c;市场潜力也是非常不错的&#xff0c;今天就主要来聊一下关于阿根廷市场的一些相关…

工作流程引擎有几个特点?可以提高办公效率吗?

如果想要实现高效率的自动化办公&#xff0c;还依靠传统的办公软件是没有办法实现的。在自动化发展程度越来越高的今天&#xff0c;职场办公也拥有了优质的办公软件&#xff0c;助力实现高效率办公。低代码技术平台是专业的企业级应用低代码平台&#xff0c;其中的工作流程引擎…

深入理解树状数组 | 京东物流技术团队

树状数组 树状数组&#xff08;BIT, Binary Indexed Tree&#xff09;是简洁优美的数据结构&#xff0c;它能在很少的代码量下支持单点修改和区间查询&#xff0c;我们先以a[] {1, 2, 3, 4, 5, 6}数组为例建立树状数组看一下树状数组的样子&#xff1a; 可以发现&#xff1a;不…

websocket协议 | http协议

文章目录 一、前言二、websocket协议2.1 怎么建立websocket连接 三、HTTP协议3.1 特点3.2 报文格式3.3 连接方式三次握手四次挥手 3.4 版本HTTP 1.0HTTP 1.1 3.1 http长轮询场景&#xff1a;扫码登陆 四、二者比较4.1 相同4.2 区别1.通讯方式不同2.通信效率3.数据格式 一、前言…

XD 文件怎么打开,一分钟快速搞定

Adobe XD 是一款强大的用户界面和用户体验设计工具&#xff0c;广泛用于创建交互式原型、网站和移动应用程序&#xff0c;其中包含设计的所有元素和交互信息。 如果你拿到.xd 文件&#xff0c;却没有安装 Adobe XD 软件&#xff0c;下载安装步骤也很繁琐&#xff0c;纠结如何打…

LeetCode刷题笔记【34】:动态规划专题-6(完全背包、零钱兑换II、组合总合IV)

文章目录 前置知识经典完全背包问题(纯完全背包问题)题目描述解题思路如何实现"物品可以被多次添加"?遍历物品和遍历背包容量(内外层遍历)能否调换? 代码 518. 零钱兑换 II题目描述解题思路初始化&递推公式内层for循环顺序内外层for循环的顺序(先遍历物品还是先…

聊聊电商系统架构演进

具体以电子商务网站为例&#xff0c; 展示web应用的架构演变过程。 1.0时代 这个时候是一个web项目里包含了所有的模块&#xff0c;一个数据库里包含了所需要的所有表&#xff0c;这时候网站访问量增加时&#xff0c;首先遇到瓶颈的是应用服务器连接数&#xff0c;比如tomcat连…