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

news2024/9/20 10:43:58

📋 博主简介

  • 💖 作者简介:大家好,我是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

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

结束语

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

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

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

相关文章

Vue运用之input本地上传文件,实现传参file:(binary)

前言 功能场景是,实现列表的【批量导入】的效果,在Excel里维护好信息,本地上传好文件,再点击【确认】触动接口,将flie信息传值后端接口。 html代码 input的type设置为file,支持格式设置为仅支持Excel类型 <div class="btn-box"><div class=&quo…

基于OHTPPS实现网站HTTPS访问

前言 笔者近期为网站配置HTTPS的域名&#xff0c;查找了大量方案&#xff0c;最近寻得一个不错的解决方式&#xff0c;通过OHTTPS获取免费的证书并部署到阿里云服务器上。 步骤 到OHTTPS官网注册账号 官方地址如下&#xff0c;读者可以先行到官网注册一下账号&#xff0c;笔…

设计模式(2)--对象创建(4)--原型

1. 意图 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象。 2. 两种角色 抽象原型(Prototype)、具体原型(Concrete Prototype) 3. 优点 3.1 对客户隐藏了具体的产品类 3.2 可以在运行时刻增加和删除产品 3.3 可以极大地减少系统所需要的类的数目 …

钉钉 × E签宝,打通系统屏障,实现钉钉审批通过后自动同步到E签宝发起签署并返回拖章链接全流程自动化

1 场景描述 成熟的业务体系需要用户的优质体验和高效的交易效率来支撑。而合同作为双方业务往来的法律保证&#xff0c;签合同已成为目前企业必不可少的重要一环。但传统的签署场景中&#xff0c;传统纸质合同的签署往往采用线下见面或邮寄的方式进行&#xff0c;不仅流程复杂&…

YashanDB携手深智城集团联合发布智慧城市解决方案

近日&#xff0c;在YashanDB 2023年度发布会上&#xff0c;深圳计算科学研究院携手深圳市智慧城市科技发展集团有限公司&#xff08;简称“深智城集团”&#xff09;重磅推出基于崖山数据库YashanDB的智慧城市解决方案&#xff0c;该联合解决方案高效支撑了深圳市CIM平台的建设…

车联网助力自动驾驶发展

单车智能决策难点 芯片&#xff0c;成为自动驾驶的最大瓶颈 自动驾驶对芯片算力要求极高。要求自动驾驶处理器在每秒能够处理数百万亿次的计算&#xff1b; 自动驾驶对计算的实时性要求极高。任何一点时延&#xff0c;都有可能造成车毁人亡&#xff1b; 对低能耗有极大的…

认识loader和plugin

在 webpack 中&#xff0c;专注于处理 webpack 在编译过程中的某个特定的任务的功能模块&#xff0c;可以称为插件。它和 loader 有以下区别&#xff1a; 1loader 是一个转换器&#xff0c;将 A 文件进行编译成 B 文件&#xff0c;比如&#xff1a;将 A.less 转换为 A.css&…

静态HTTP应用的性能优化技巧

在Web开发中&#xff0c;静态HTTP应用以其简单、快速和安全的特点受到了广泛欢迎。然而&#xff0c;随着Web应用的规模不断扩大&#xff0c;性能问题也日益突出。本文将为你介绍一些静态HTTP应用的性能优化技巧&#xff0c;让你的应用飞得更快、更稳定。 一、压缩文件 文件压…

报名众筹小程序系统源码:在线投票+众筹模式+完整的安装部署教程

随着互联网的普及和发展&#xff0c;众筹作为一种新型的融资方式&#xff0c;逐渐受到越来越多人的关注和认可。众筹不仅可以帮助个人或企业筹集资金&#xff0c;还可以促进创意的传播和实现。因此&#xff0c;开发一款具有在线投票和众筹功能的微信小程序&#xff0c;对于满足…

Java 多线程之线程安全集合

文章目录 一、概述二、List 接口线程安全实现类2.1 普通 List 变线程安全 List2.2 Vector2.3 CopyOnWriteArrayList 三、Map 接口线程安全实现类3.1 普通 Map 变线程安全 Map3.2 Hashtable3.3 ConcurrentHashMap3.4 ConcurrentSkipListMap 有序/跳表 四、Set 接口线程安全实现类…

【Jenkins】Centos环境安装Jenkins(通过rpm安装)

在Centos操作系统中通过rpm安装Jenkins 参考官网 https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos 1、下载安装Jdk17 下载安装 # 更新您的系统&#xff0c;不一定需要 # sudo yum -y update # 安装将用于下载 Java 17 二进制文件的 wget 命令行工具。 s…

Paper Reading: (ACRST) 基于自适应类再平衡自训练的半监督目标检测

目录 简介工作重点方法CropBankFBRAFFRTwo-stage Pseudo-label Filtering 实验与SOTA比较消融实验 简介 题目&#xff1a;《Semi-Supervised Object Detection with Adaptive Class-Rebalancing Self-Training》&#xff0c;AAAI’22&#xff0c; 基于自适应类再平衡自训练的半…

光栅化渲染:可见性问题和深度缓冲区算法

在前面第二章中&#xff0c;我们了解到&#xff0c;在投影点&#xff08;屏幕空间中的点&#xff09;的第三个坐标中&#xff0c;我们存储原始顶点 z 坐标&#xff08;相机空间中点的 z 坐标&#xff09;&#xff1a; 当一个像素与多个三角形重叠时&#xff0c;查找三角形表面上…

几本学习中整理和面试的PDF,以及精选面试资料

今天和大家分享我在学习过程中整理的笔记&#xff0c;以及我在准备面试中&#xff0c;阅读的PDF&#xff0c;包括Spring Cloud学习手册、Docker学习手册、RabbitMQ学习手册、Spring 6手册、Maven手册、22w字面试手册等等&#xff0c;包括了大部分后端技术以及大部分高频面试题&…

【Maven】加载 Maven 项目报错 status code: 501, reason phrase: HTTPS Required (501)

问题描述 加载 Maven 项目报错&#xff0c;错误信息如下&#xff1a; status code: 501, reason phrase: HTTPS Required (501)尝试使用 -U 标记(强制更新快照)运行 Maven 导入原因分析 这个错误通常表示 Maven 在尝试从远程仓库下载依赖时遇到了 HTTPS 必需的错误。 解决方…

苹果电脑双开

1.第一步&#xff1a;在应用程序中找到微信 复制一个副本出来 2.第二步:打开复制的《微信副本》 右键打开 – 显示包内容 3.第三步:Contents - info.plist 后右键 打开方式 选择 文本编辑 4.第四步&#xff1a;找到查找和替换 这一段com.tencent.xinWeChat 后面是修改 com.tenc…

极新AIGC行业峰会 | 圆桌对话:探索中国AGI迭代之路

“AGI正处在一个巨大的研发范式革命的起点。” 整理 | 周梦婕 编辑 | 小白 出品&#xff5c;极新 2023年11月28日&#xff0c;极新AIGC行业峰会在北京东升国际科学院拉开帷幕&#xff0c;峰会上午的圆桌环节由凡卓资本合伙人王梦菲主持&#xff0c;深势科技战略副总裁何雯…

R语言对医学中的自然语言(NLP)进行机器学习处理(1)

什么是自然语言(NLP)&#xff0c;就是网络中的一些书面文本。对于医疗方面&#xff0c;例如医疗记录、病人反馈、医生业绩评估和社交媒体评论,可以成为帮助临床决策和提高质量的丰富数据来源。如互联网上有基于文本的数据(例如,对医疗保健提供者的社交媒体评论),这些数据我们可…

Reactor线程模型详解

文章目录 传统的阻塞式 I/OReactor 模式单 Reactor 单线程单Reactor多线程主从Reactor多线程 在目前的线程模型中一种是传统阻塞的I/O模型&#xff0c;一种是Reactor线程模型。 传统的阻塞式 I/O 为了同时处理多个客户端的请求&#xff0c;服务端为每一个连接都会分配一个新的…

Freemarker基本语法与案例讲解

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《SpringBoot》。&#x1f3af;&#x1f3af; &…