《PySpark大数据分析实战》-06.安装环境准备

📋 博主简介

  • 💖 作者简介:大家好,我是wux_labs。😜
    热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。
    通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP)、TiDB数据库认证SQL开发专家(PCSD)认证。
    通过了微软Azure开发人员、Azure数据工程师、Azure解决方案架构师专家认证。
    对大数据技术栈Hadoop、Hive、Spark、Kafka等有深入研究,对Databricks的使用有丰富的经验。
  • 📝 个人主页:wux_labs,如果您对我还算满意,请关注一下吧~🔥
  • 📝 个人社区:数据科学社区,如果您是数据科学爱好者,一起来交流吧~🔥
  • 🎉 请支持我:欢迎大家 点赞👍+收藏⭐️+吐槽📝,您的支持是我持续创作的动力~🔥

《PySpark大数据分析实战》-06.安装环境准备

  • 《PySpark大数据分析实战》-06.安装环境准备
    • 前言
    • 安装环境准备
      • 操作系统准备
        • 创建安装用户
        • 配置域名解析
        • 配置免密登录
      • Java环境准备
      • Python环境准备
      • Spark安装包下载
      • Hadoop安装包下载
    • 结束语

《PySpark大数据分析实战》-06.安装环境准备

前言

大家好!今天为大家分享的是《PySpark大数据分析实战》第2章第1节的内容:安装环境准备。

安装环境准备

Spark是运行在JVM上的,JVM是跨平台的,所以Spark可以跨平台运行在各种类型的操作系统上。但是在实际使用中,通常都将Spark安装部署在Linux服务器上,所以需要准备好用来安装Spark的Linux服务器,本专栏内容以Ubuntu 20.04作为目标操作系统。本地模式下,需要1台服务器;独立集群模式下,至少需要3台服务器;Spark on YARN模式下,至少需要3台服务器;云环境模式下,不需要自己准备服务器,在创建集群的时候可以选择集群规模需要多少节点。

准备3台服务器,用来安装Hadoop、Hive、Spark等集群,主机名称以及IP地址分别是node1(10.0.0.5)、node2(10.0.0.6)、node3(10.0.0.7),并在3台服务器上完成基础配置,所有服务器按统一规划配置,供后续安装配置集群使用。

再准备1台服务器,用来安装后续会使用到的MySQL、Kafka等其他组件,主机名称以及IP地址是node4(10.0.0.8)。

以下环境准备步骤,需要在3台服务器上同步进行,保证3台服务器的环境信息一致。

操作系统准备

安装Spark环境的操作系统需要统一完成最基本的设置,包括创建统一用户、配置域名解析及设置免密登录。

创建安装用户

操作系统用户统一使用hadoop、软件安装目录统一使用${HOME}/apps,所以需要在系统中创建hadoop用户并在hadoop用户的home目录下创建apps目录。使用root用户创建hadoop用户,命令如下:

# 创建hadoop用户
useradd -m hadoop -s /bin/bash
# 修改密码
passwd hadoop
# 增加管理员权限
adduser hadoop sudo

使用hadoop用户登录,创建apps目录,命令如下:

$ mkdir -p apps
配置域名解析

Spark集群的配置文件中涉及到节点的配置都使用主机名称进行配置,为了保证3台服务器能够正确识别每个主机名称对应的正确IP地址,需要为每台服务器配置域名解析。域名解析配置在/etc/hosts文件中,在3台服务器上分别编辑该文件输入IP与主机名称的映射关系,命令如下:

$ sudo vi /etc/hosts

域名解析配置内容如下:

10.0.0.5 node1
10.0.0.6 node2
10.0.0.7 node3
10.0.0.8 node4
配置免密登录

在集群模式下,多台服务器共同协作,需要配置各个节点之间的免密登录,避免节点之间交互时需要输入密码。在node1上生成密钥对,将密钥对复制到所有节点上,确保执行ssh连接到任意节点不会要求输入密码。配置免密登录及密钥对复制的命令如下:

$ ssh-keygen -t rsa
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

$ ssh node1
$ ssh node2
$ ssh node3

$ scp -r .ssh hadoop@node1:~/
$ scp -r .ssh hadoop@node2:~/
$ scp -r .ssh hadoop@node3:~/

Java环境准备

Spark是用Scala语言编写的,运行在JVM环境上,需要在安装Spark的服务器上安装并配置Java。根据集群的规划,给集群中的每一个节点都安装Java环境,安装版本需要是Java 8及以上的版本。在Ubuntu操作系统中,可以通过命令来安装Java 8,命令如下:

$ sudo apt-get update
$ sudo apt-get install -y openjdk-8-jdk

安装完成后需要配置环境变量,命令如下:

$ vi .bashrc

环境变量配置内容如下:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Python环境准备

Spark提供了对Python的支持,提供了PySpark库,本z专栏内容以Python作为主要开发语言,需要在服务器环境中需要安装Python 3。Linux服务器通常自带Python环境,低版本的Linux自带的Python环境通常是Python 2,高版本的Linux自带的Python环境有可能是Python 3。如果自带的环境是Python 2,需要重新安装Python 3,命令如下:

$ sudo apt-get install -y python3.8

如果使用其他方式安装Python 3,推荐使用Anaconda 3安装。Anaconda 3安装过程,参考官方文档https://docs.anaconda.com/anaconda/install/linux/。

安装完成以后,确保服务器上执行python3命令不会报错。

Spark安装包下载

在安装Spark之前,需要通过官方网站下载Spark的安装包, Spark的官方下载地址是https://spark.apache.org/downloads.html,下载页面如图所示。

直接点击下载链接将安装包下载到本地,再将安装包上传到需要安装Spark的Linux服务器上。

除了直接下载,还可以复制下载链接,在安装Spark的Linux服务器上通过wget等命令进行安装包的下载,wget下载命令如下:

$ wget https://dlcdn.apache.org/spark/spark-3.4.0/spark-3.4.0-bin-hadoop3.tgz

也可以通过国内镜像下载,命令如下:

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

下载完成的安装包存放在用户目录下。

Hadoop安装包下载

数据文件的存放依赖于HDFS,Spark on YARN模式的部署依赖YARN,这些都需要用到Hadoop集群,所以需要下载Hadoop安装包。通过Hadoop的官方网站下载Hadoop 3.3.x的安装包,Hadoop的官方下载地址是https://hadoop.apache.org/releases.html,下载页面如图所示。

直接点击下载链接将安装包下载到本地,再将安装包上传到需要安装Hadoop的Linux服务器上。

除了直接下载,还可以复制下载链接,在安装Hadoop的Linux服务器上通过wget等命令进行安装包的下载,wget下载命令如下:

$ wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz

也可以通过国内镜像下载,命令如下:

$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz

下载完成的安装包存放在用户目录下。

结束语

好了,感谢大家的关注,今天就分享到这里了,更多详细内容,请阅读原书或持续关注专栏。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

马斯克回应聊天机器人 Grok 抄 ChatGPT 作业;Figma 推出宏编程键盘丨 RTE 开发者日报 Vol.105

开发者朋友们大家好: 这里是「 RTE 开发者日报 」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

解决ps找不到MSVCP140.dll的5种方法,完美解决

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“找不到MSVCP140.dll”。这个问题通常出现在安装Adobe Photoshop(简称PS)时。MSVCP140.dll是Microsoft Visual C 2015 Redistributable的一个组件,它提供…

Openlayers 加载 Geoserver 图层以及范围过滤

Openlayers 加载 Geoserver 图层以及范围过滤 范围过滤核心代码完整代码:在线示例 Openlayers 加载 Geoserver 图层,除了会遇到属性条件查询需求,还经常遇到空间查询,这里介绍一些范围查询。 其实就是利用 Geoserver 的 CQL_FILT…

HarmonyOS应用程序框架

应用程序入口—UIAbility的使用 UIAbility概述 UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。 每一个UIAbility实例,都对应于一个最近任务列表中的任务。 …

深入理解Dubbo-8.Dubbo的失败重试设计

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理🔥如果感觉博主的文章还不错的话&#xff…

搭建Tomcat调试环境并分析CVE-2017-12615

准备 下载存在漏洞版本tomcat&#xff0c;这里下的是8.0.45 https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.45/ 可执行文件和源码都需要下载 用idea打开源码文件&#xff0c;然后将java目录设置为源码目录 配置一下jdk 转成maven项目 添加一些依赖 <dependencie…

DS冲刺整理做题定理(二)线性表、栈、队列的套路

继续归纳套路&#xff0c;做题练习非常重要&#xff0c;王道的基本上足够了&#xff0c;学有余力可以做一下数据结构1800~ DS冲刺整理做题定理&#xff08;一&#xff09;二叉树专题https://blog.csdn.net/jsl123x/article/details/134949736?spm1001.2014.3001.5501 目录 一…

复旦微固化流程

生成boot.bin 如图所示&#xff0c;psoc下的create boot image&#xff0c;选择文件配置路径output bif&#xff0c;任意命名 点击右侧add&#xff0c;分别添加三部分 1.编译FSBL工程后SDK\system_platform\FSBL\Debug\Exe路径下的FSBL.out 2.PL侧的bit文件 3.编译工程后SDK\sy…

1.【Multisim仿真】数电模电学习,仿真软件的初步使用

学习计划路径&#xff1a; >Multisim电路仿真软件熟练掌握 >数字电路基础课程 >逻辑电路设计与应用 >熟练掌握存储器、脉冲波形发生器、D/A和A/D转换器原理 >基本元器件熟练掌握 >晶体管放大电路及负反馈放大电路 >集成运算放大器设计 >电压变电流电路…

Springboot整合阿里巴巴SMS

前提条件 要确保用户有这个权限 还要确保组要有这个权限 讲反了要先保证组有这个权限然后保证用户有这个权限&#xff0c;然后就可以使用这个用户的权限的key来调取api了 申请资质、签名等 申请资质 点击这个进入声请就可以了然后等2个小时左右就可以通过了 申请签名 这个是为…

实操Nginx(4层代理+7层代理)+Tomcat多实例部署,实现负载均衡和动静分离

目录 前言 一、tomcat多实例部署 步骤一&#xff1a;先安装jdk&#xff0c;设置jdk的环境变量&#xff0c;验证是否安装完成&#xff08;192.168.20.8&#xff09; 步骤二&#xff1a;安装tomcat&#xff08;192.168.20.18&#xff09; 步骤三&#xff1a;安装tomcat多实例…

Python数据科学视频讲解:Python保留字与标识符

2.6 Python保留字与标识符 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解2.6节内容。本书已正式出版上市&#xff0c;当当、京东、淘宝等平台热销中&#xff0c;搜索书名即可。内容涵盖数据科学应用的全流程&#xff0c;包括数据…

VPN 在网络安全中的应用

虚拟专用网络&#xff08;Virtual Private Network&#xff0c;VPN&#xff09;是指利用不安全的公共网络如 Internet 等作为传输媒介&#xff0c;通过一系列的安全技术处理&#xff0c;实现类似专用网络的安全性能&#xff0c;保证重要信息的安全传输的一种网络技术。 1&#…

【网络通信原理之套接字】

目录 概念 分类 数据报套接字&#xff1a;使用传输层UDP协议 流套接字&#xff1a;使用传输层TCP协议 原始套接字 Socket编程注意事项 前言&#xff1a;本文主要介绍了在什么是套接字及在Java中套接字是什么&#xff0c;和在套接字编程的注意事项。 概念 Socket套接…

轮转数组00

题目链接 轮转数组 题目描述 注意点 使用空间复杂度为 O(1) 的 原地 算法解决这个问题 解答思路 本题有多种思路&#xff0c;一种是复制nums数组&#xff0c;然后将k个位置后的值赋值给当前位置即可&#xff0c;但是空间复杂度为O(n)还有一种思路是先将整个数组进行翻转&a…

参数学习——糖果问题(人工智能期末复习)

之前看了好久都不知道这题咋写&#xff0c;后来看了这篇机器智能-高频问题&#xff1a;糖果问题&#xff0c;大概看明白了&#xff0c;其实主要围绕着这两个公式 光看公式也看不懂&#xff0c;还是要结合题目来 己知有草莓味和酸橙味两种类型的糖果&#xff0c;分别放入5种不同…

【FPGA/verilog -入门学习10】verilog 查表法实现正弦波形发生器

0&#xff0c;需求 用查找表设计实现一个正弦波形发生器 寻址的位宽是10位&#xff0c;数据量是1024个&#xff0c;输出的数据是16位 1&#xff0c;需求分析 数据量是1024个&#xff1a; x linspace(0,2*pi,1024) 输出数据是16位: y范围&#xff1a;0~2^16 -1 0~65535…

Docker部署Mysql5.7x和Myslq8.x

Docker部署Mysql5.7x和Myslq8.x 文章目录 1.部署mysql5.7.x2.部署mysql8.x3.创建用户授权及远程登录3.1 mysql5.7创建用户授权及远程登录3.2 mysql8创建用户授权及远程登录 4.总结 1.部署mysql5.7.x 在D盘下的mysql目录下新建如下目录&#xff1a; D:\mysql\conf\my.cnf内容如下…

8GB内存的 MacBook Pro够用吗?苹果高管回应:完全够用

苹果 2023 年 M3 芯片款 MacBook Pro 运行内存为 8GB 起步&#xff0c;因此招致了外界广泛的批评&#xff0c;外媒 MacRumors 日前评价了配备相关运行内存的 MacBook Pro&#xff0c;认为 8GB RAM 在“专业和创意工作中”不够用&#xff0c;只适合“网页浏览、文档编辑、播放影…

java实现局域网内视频投屏播放(四)投屏实现

代码链接​​​​​​​​​​​​​​​​​​​​​ 设备发现 上一篇文章说过&#xff0c;设备的发现有两种情况&#xff0c;主动和被动&#xff0c;下面我们来用java实现这两种模式 主动发现 构建一个UDP请求发送到239.255.255.250:1900获取设备信息&#xff0c;UDP包的…