Spark分布式安装模式

Spark 分布式环境安装目前有四种模式:

1.Standalone:Spark 自带的简单群资源管理器,安装较为简单,不需要依赖 Hadoop;

2.Hadoop YARN:使用 YARN 作为集群资源管理,安装需要依赖 Hadoop;

3.Apache Mesos:不常用;

4.Kubernetes:不常用。

本地学习测试我们常用 Standalone 模式,生产环境常使用 YARN 模式。

示例集群信息

以下表格为本教程所用示例集群节点信息:

节点名称节点角色
masterworker,master
slave1worker
slave2worker

我们准备了三台虚拟服务器,连接方式如下:

服务器SSH密码ip
masterssh 172.18.0.2123456172.18.0.2
slave1ssh 172.18.0.3123456172.18.0.3
slave2ssh 172.18.0.4123456172.18.0.4

第一步我们需要在 evassh 服务器初始化虚拟服务器:

 
  1. cd /home
  2. wrapdocker
  3. ulimit -f 1024000
  4. docker load -i hbase-ssh2_v1.0.tar
  5. docker-compose up -d # 启动失败则等一会,再次执行,直至成功

注意:请不要在各个虚拟服务器之间进行 ssh 登录,这种操作会导致无法保存配置数据。正确方法是:在虚拟服务器里执行 exit 后回到 evassh 服务器,再按上述方法登录各虚拟服务器。

配置免密登录

Hadoop 集群在启动脚本时,会去启动各个节点,此过程是通过 SSH 去连接的,为了避免启动过程输入密码,需要配置免密登录。

1、分别在 master、slave1、slave 生成密钥,命令如下:

  1. ssh-keygen -t rsa

2、 在 master 复制 master、slave1、slave2 的公钥。

  1. cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
  2. ssh root@slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
  3. ssh root@slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

3、 分别在 slave1、slave2 复制 master 的 authorized_keys 文件。

  1. ssh root@master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

到此,免密已经成功,可以在各个虚拟服务器之间进行 ssh 登录,而不需要输入密码了。

准备Spark安装包

把 evassh 服务器的 /usr/local 目录下的 spark 安装包通过 SCP 命令上传到 master 虚拟服务器的 /usr/local 目录下。

  1. scp -r /usr/local/spark-2.3.4-bin-hadoop2.7 root@172.18.0.2:/usr/local

密码为:123456。

配置环境变量

我们将 Spark 的安装目录配置到 /etc/profile 中(在文件末尾添加)。

不要忘了 source /etc/profile

该步骤所有虚拟服务器节点均可执行。

修改 spark-env.sh 配置文件

首先生成一份 spark-env.sh 文件(master节点):

切换目录到:/usr/local/spark-2.3.4-bin-hadoop2.7/conf 执行命令:mv spark-env.sh.template spark-env.sh

修改 spark-env.sh 文件:

执行命令:vi spark-env.sh,添加以下内容:

 
  1. #指定JAVA安装路径/usr/lib/jvm/jdk1.8.0_111
  2. export JAVA_HOME=java安装路径
  3. #指定SCALA安装位置,非必须配置,可不指定
  4. export SCALA_HOME=scala安装路径
  5. #指定spark master webui 端口,默认是 8080,跟 tomcat 冲突
  6. SPARK_MASTER_WEBUI_PORT=8888
  7. #指定Master节点IP或映射地址
  8. export SPARK_MASTER_IP=master节点IP或映射地址
修改 slaves 文件

首先生成一份 slaves 文件(master节点)。

切换到 Spark 的 conf 目录下, 执行命令: mv slaves.template slaves

修改 slaves 文件, 执行命令: vi slaves 在该文件中加入作为 worker 节点 ip 或映射主机名。

 
  1. master
  2. slave1
  3. slave2
分发安装包

把 master 节点的 spark 安装包分发到 slave1 节点和 slave2 节点(通过 scp 命令)。

 
  1. cd /usr/local
  2. scp -r spark-2.3.4-bin-hadoop2.7/ root@slave1:/usr/local
  3. scp -r spark-2.3.4-bin-hadoop2.7/ root@slave2:/usr/local
启动spark

切换到 master 节点安装目录的 /sbin 目录下 执行命令启动 Spark 集群:./start-all.sh

验证安装

输入 jps 命令查看。 master 节点有以下进程:

 
  1. master
  2. worker

slave1 节点有以下进程:

 
  1. worker

slave2 节点有以下进程:

 
  1. worker
编程要求

请按照步骤小心安装,安装完成后点击测评即可。

测试说明

点击测评后,后台会通过curl http://172.18.0.2:8888/ 命令获取页面,并取其中部分内容来判定你是否安装成功。

预期输出:

 
  1. <li><strong>Alive Workers:</strong> 3</li>

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

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

相关文章

使用nginx代理s3服务(私有云存储)

1、背景 公司网络安全原因&#xff0c;私有部署s3服务的机器无法被直接访问&#xff0c;所以需要加一层代理&#xff0c;通过访问代理去访问s3服务器&#xff0c;这里使用nginx进行代理。使用s3服务的方式是在代码中使用官方的java s3 sdk&#xff08;本文对于其他语言的官方s…

vuejs: 解决浏览器切换页面后setInterval计时器停止执行的问题

setInterval定时器是基于当前页面的&#xff0c;如果切换到其他页面&#xff0c;定时器会被暂停。这是浏览器的一种优化措施&#xff0c;以减少不必要的性能消耗。 如果需要在切换页面后继续执行定时器&#xff0c;可以使用Web Worker&#xff0c;它是在后台运行的程序&#xf…

Linux shell命令

Linux shell命令 1、Shell简介 ​ Shell 是一个用 C 语言编写的程序&#xff0c;它是用户使用 Linux 的桥梁。Shell 既是一种命令语言&#xff0c;又是一种程序设计语言。 ​ Shell 是指一种应用程序&#xff0c;这个应用程序提供了一个界面&#xff0c;用户通过这个界面访问…

vue+jsonp编写可导出html的模版,可通过外部改json动态更新页面内容

效果 导出后文件结果如图所示&#xff0c;点击Index.html即可查看页面&#xff0c;页面所有数据由report.json控制&#xff0c;修改report.json内容即可改变index.html展示内容 具体实现 1. 编写数据存储的json文件 在index.html所在的public页面新建report.json文件&#xff…

编程语言发展史:新兴编程语言的趋势和发展

一、引言 随着计算机技术的不断发展&#xff0c;计算机编程语言也在不断更新和发展。新兴编程语言的出现不仅丰富了编程语言的种类&#xff0c;也为编程带来了更多的可能性和选择。本文将从新兴编程语言的趋势和发展入手&#xff0c;详细探讨新兴编程语言的特点、优势和发展前…

彩虹云商城搭建教程+源码程序

前言&#xff1a;域名服务器或宝塔主机商场程序在线云商城 随着电子商务的快速发展&#xff0c;越来越多的企业开始意识到开设一个自己的电子商城对于销售和品牌推广的重要性。然而&#xff0c;选择一家合适的网站搭建平台和正确地构建一个商城网站并不是一件容易的事情。本文…

PyQt基础_008_ 按钮类控件QSpinbox

基本操作 import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class spindemo(QWidget):def __init__(self, parentNone):super(spindemo, self).__init__(parent)self.setWindowTitle("SpinBox 例子")self.resize(300,…

数据结构与算法之递归: LeetCode 78. 子集 (Typescript版)

子集 https://leetcode.cn/problems/subsets/ 描述 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1 输入&#xff1a;nums [1,2,3]…

微服务链路追踪组件SkyWalking实战

概述 微服务调用存在的问题 串联调用链路&#xff0c;快速定位问题&#xff1b;理清服务之间的依赖关系&#xff1b;微服务接口性能分析&#xff1b;业务流程调用处理顺序&#xff1b; 全链路追踪&#xff1a;对请求源头到底层服务的调用链路中间的所有环节进行监控。 链路…

电子学会C/C++编程等级考试2022年09月(三级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:课程冲突 小 A 修了 n 门课程, 第 i 门课程是从第 ai 天一直上到第 bi 天。 定义两门课程的冲突程度为 : 有几天是这两门课程都要上的。 例如 a1=1,b1=3,a2=2,b2=4 时, 这两门课的冲突程度为 2。 现在你需要求的是这 n 门课…

总结-面试感悟

基础&#xff08;八股文&#xff09; 项目 项目很重要&#xff01; 面试官招人肯定是想找有潜力的&#xff0c;那么如果你只会背八股文&#xff0c;怎么从那么多面试者中脱颖而出呢&#xff1f;所以一定要好好投入一个项目&#xff0c;对项目不停缝缝补补&#xff0c;并进行优…

Tableau连接到mysql数据库,配置驱动

Tableau想要连接mysql数据库进行数据的可视化&#xff0c;但是没有ODBC驱动&#xff0c;看了几篇文章写的&#xff0c;不是很清楚&#xff0c;顺便写下自己的思路。 1、下载mysql对应的ODBC驱动 首先要知道自己mysql的版本&#xff0c;然后下载对应的ODBC驱动。 MySQL :: Dow…

BUUCTF刷题之路-pwn-ciscn_2019_n_81

这 题查保护的时候吓了一跳&#xff0c;保护全开。脑子飞速旋转是要我绕过canary,PIE然后再利用栈溢出劫持程序流吗&#xff1a; 然后扔进IDA中查看下大致流程&#xff1a; 大致看出var是个数组&#xff0c;当var[13]17的时候就会得到system。那还不简单直接写payload: from p…

easyrecovery 16数据恢复软件2024最新免费下载地址

EasyRecovery 16是一款操作简单、功能强大数据恢复软件,通过easyrecovery可以从硬盘、光盘、U盘、数码相机、手机等各种设备中恢复被删除或丢失的文件、图片、音频、视频等数据文件。 EasyRecovery Pro 16安装步骤 一、首先需要在该页找到下载地址处选任意地址将EasyRecovery软…

Java核心知识点整理大全16-笔记

Java核心知识点整理大全-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全2-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全3-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全4-笔记-CSDN博客 Java核心知识点整理大全5-笔记-CSDN博客 Java核心知识点整理大全6…

JAVA基础进阶(七)

一、集合和数组的区别 集合和数组的区别:数组的长度是固定的,集合的长度是可变的。数组既可以存储基本数据类型&#xff0c;也可以存储引用数据类型。集合只能存储引用数据类型,所以对于基本数据类型byte、short、int等只能存储他们对应的包装类Byte、Short、Integer。 二、集…

基于yolov2深度学习网络的打电话行为检测系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、YOLOv2网络原理 4.2、基于YOLOv2的打电话行为检测 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .................................…

【C/C++】常见模拟题题解

题解 模拟双目运算符一元二次方程求解水仙花数统计学生成绩学生成绩管理模拟选举大小写字符转换最大公约数、最小公倍数字符串反序 模拟双目运算符 编写一个根据用户键入的两个操作数和一个双目运算符&#xff0c;由计算机输出结果的程序。 #include<stdio.h>int opera…

LY/T 1330-2011 抗静电木质活动地板检测

抗静电木质活动地板是指以木质材料为基材&#xff0c;与其他材料组合而成的具有抗静电功能的可拆装活动地板。 LY/T 1330-2011 抗静电木质活动地板测试&#xff1a; 测试项目 测试方法 规格尺寸及偏差 LY/T 1330 外观质量 LY/T 1330 吸水厚度膨胀率 LY/T 1330 表面耐冷…

在虚拟机搭建nignx,和使用本地访问nginx的情况

下载nginx yum install nginx 查看nginx是否安装成功。 nginx -v nginx的配置文件的目录和资源的目录。 先到nginx.conf的目录下&#xff0c;在 /etc/nginx/nginx.conf&#xff0c;编辑它。 vi /etc/nginx/nginx.conf 可以看到默认的html的目录。在 /usr/share/nginx/html 下面…