《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

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

结束语

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

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

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

相关文章

Kafka集成springboot

安装kafka,直接到官网下载bin文件,本文使用windows进行使用kafka。 下载之后,第一步,启动zookeeper: zookeeper-server-start.bat ..\..\config\zookeeper.properties 第二步,启动kafka: kafka…

Matlab之让特别大的数字显示全,不用科学计数法的形式

一、常见大数显示形式 matlab会自动将特别大的数字,采用科学计数法显示。 bigNum 1234567890000000000000 二、显示大数所有位数 这里采用的是将数字转为字符,并用定点表示 bigNum 1234567890000000000000; bigNumstr num2str(bigNum, %.0f); % 使用…

如果我忽然嗝屁了,家人怎么继承我的财产

前言 笔者很喜欢的电影《寻梦环游记》有这么一句经典台词:“真正的死亡是世界上没有一个人记得你”。 然而,现实中我们所说的“死亡”,其实就是 他再不能与这个世界、与自己在乎的人有新的互动了。 本文,笔者想写一写 关于死亡的…

Java的String类常用方法 |StringBuilder和StringBuffer

文章目录 String类常用方法字符串查找转化字符串替换字符串拆分字符串截取其他操作方法 字符串的不可变性StringBuilder和StringBufferStringBuilder的介绍面试题 String类常用方法 字符串查找 方法功能char charAt(int index)返回index位置上字符,如果index为负数…

Python polars库:高性能数据操作的利器

更多资料获取 📚 个人网站:ipengtao.com 在数据处理和分析领域,Python一直以来都是一种热门的编程语言。近年来,随着数据量的增加和对性能的需求,一些新的数据处理库也逐渐崭露头角。其中,polars库作为一个…

C++ 11 初识2

一.新的类功能 默认成员函数 原来 C 类中,有 6 个默认成员函数: 构造函数 析构函数拷贝构造函数拷贝赋值重载 取地址重载const 取地址重载 C11 新增了两个:移动构造函数和移动赋值运算符重载。 针对移动构造函数和移动赋值运算符重载有一些需…

Python Paramiko库:SSH远程连接与文件传输实战指南

更多资料获取 📚 个人网站:ipengtao.com 在网络管理和系统运维中,SSH(Secure Shell)是一种广泛用于远程登录和文件传输的协议。Python中的Paramiko库为开发者提供了灵活、强大的SSH客户端和服务器功能。本文将深入探讨…

LeetCode刷题--- 验证二叉搜索树

个人主页:元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 http://t.csdnimg.cn/ZxuNL个人专栏:力扣递归算法题 http://t.csdnimg.cn/ZxuNL 【C】 http://t.csdnimg.cn/c9twt 前言:这个专栏主要讲述递归递归、搜索与回溯算法&#x…

分享5款不起眼但非常实用的小工具

​ 时光荏苒,科技日新月异,一些看似不起眼的小工具却可能改变我们的工作方式。下面我们将介绍五款不可错过的小工具,它们能给你带来一些意想不到的效果,让你的工作更加高效便捷。 1.音乐播放——洛雪音乐助手 ​ 洛雪音乐助手是…

No module named ‘osgeo’解决办法

from osgeo import gdal 报错:No module named ‘osgeo’ pycharm安装osgeo、GDAL都失败 pip install osgeo失败 最后先下载对应版本的GDAL文件 再cmd命令行中用对应环境的python进行GDAL包安装 1.我将我的Anaconda某个环境文件夹D:\software\pinstall\Anaconda3…

Source Tree回滚 重置 贮藏操作

回滚提交 source tree的回滚提交: 在执行该操作时将会对history中提交的指定节点直接进行回滚,将该节点执行的提交操作撤销(如当前节点是提交文件,执行回滚提交时将会删除该文件,如果当前节点的前面的节点对该节点内容进行修改后,执行回滚提交时需要执行冲突解决),同时生成一次…

智能优化算法应用:基于蜻蜓算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于蜻蜓算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蜻蜓算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜻蜓算法4.实验参数设定5.算法结果6.参考文献7.MA…

【音视频 | H.264】H.264编码详解

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

使用FluentAvalonia组件库快速完成Avalonia前端开发

前言 工欲善其事必先利其器,前面我们花了几篇文章介绍了Avalonia框架以及如何在Avalonia框架下面使用PrismAvalonia完成MVV模式的开发。今天我们将介绍一款重磅级的Avalonia前端组件库,里面封装了我们开发中常用的组件,这样就不用我们自己再写组件了。专注业务功能开发,提…

1.4 Postman的安装

hello大家好,本小节我们来安装一下Postman,好为我们后续的测试工作做准备。 首先,打开Postman的官网Postman API Platform 然后根据同学们自己电脑的操作系统来下载对应的Postman安装包。我这里拿windows来举例。我们点击windows的图标 会跳…

常见的计算机图片格式

左rgb (光源色彩) 右cmyk (印刷色彩) 缺点,不能保存,储存空间太大

螺旋矩阵算法(leetcode第54题)

题目描述: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示例 2:输入&#xff…

工厂设备维护管理有什么比较好的解决方案?有什么好用的工单管理系统?

生产设备对于工厂来说是十分宝贵的资产。一方面,工厂依赖设备进行生产活动,一旦设备故障就会影响产量;另一方面,工厂中的生产设备一般造价都比较高昂,如果出现故障就会增加工厂的生产成本;再一方面&#xf…

SQL Server 服务启动报错:错误1069:由于登录失败而无法启动服务

现象 服务器异常关机以后,SQL Server服务无法启动了。 启动服务时报错: 错误1069:由于登录失败而无法启动服务 解决办法 我的电脑–控制面板–管理工具–服务–右键MSSQLSERVER–属性–登录–登陆身份–选择"本地系统帐户" 设置完成后&am…

JavaSE基础50题:23. 数组拷贝(数组练习题)

文章目录 概述方法一:运用for循环进行拷贝方法二:Java内置方法进行拷贝方法三:指定区间进行拷贝方法四:数组克隆clone() 概述 数组拷贝。 注意: public static void main(String[] args) {int[] array1 {1,2,3,4};Sy…