构建大数据环境:Hadoop、MySQL、Hive、Scala和Spark的安装与配置

news2024/9/21 1:50:11

前言

在当今的数据驱动时代,构建一个强大的大数据环境对于企业和组织来说至关重要。本文将介绍如何安装和配置Hadoop、MySQL、Hive、Scala和Spark,以搭建一个完整的大数据环境。

简介

  1. 安装Hadoop 首先,从Apache Hadoop的官方网站下载所需的Hadoop发行版。选择适合你系统的二进制发行版,下载完成后解压缩到安装目录。然后配置环境变量,并修改Hadoop的配置文件,根据需要进行修改。
  2. 安装MySQL 安装MySQL服务器是搭建大数据环境的重要一步。更新包管理器后,执行命令安装MySQL服务器,并配置MySQL允许通过网络连接。编辑MySQL的配置文件,并重启MySQL服务,最后验证安装是否成功。
  3. 安装Hive仓库 Hive是一个用于处理和分析大规模数据集的数据仓库工具。下载所需的Hive发行版,解压文件后配置环境变量,并修改Hive的配置文件。如果选择使用外部数据库作为元数据存储,还需要安装和配置数据库。最后验证安装是否成功。
  4. 安装Scala Scala是一种运行在Java虚拟机上的多范式编程语言,常用于大数据处理。从Scala官方网站下载对应版本的二进制发行版,解压文件后配置环境变量。验证安装是否成功。
  5. 部署Spark集群 Spark是一个快速、通用的大数据处理引擎,支持实时数据处理和批处理。下载Spark压缩包,解压文件后修改配置文件,并配置Spark的环境变量。最后,通过命令验证Spark的安装和配置是否成功。

安装Hadoop

下载Hadoop发行版,前往Apache Hadoop的官方网站 https://hadoop.apache.org 下载所需的Hadoop发行版。你在网站的下载页面上找到最新版本的Hadoop。选择适合系统的二进制发行版,通常有两种选择:tarball(.tar.gz)和ZIP压缩文件。下载完成后,将文件解压缩到安装目录

配置环境变量:在安装Hadoop之前,需要配置一些环境变量,以便系统能够正确找到Hadoop的执行文件。打开终端并编辑你的shell配置文件(例如.bashrc或.bash_profile),然后添加以下行:

export HADOOP_HOME=/path/to/hadoop

export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin

将/path/to/hadoop替换为实际的Hadoop安装路径。保存文件后,运行以下命令使配置生效:

source ~/.bashrc

配置Hadoop环境:在Hadoop安装目录中,找到etc/hadoop目录。该目录包含Hadoop的配置文件。最重要的文件是core-site.xml、hdfs-site.xml和mapred-site.xml。这些文件定义了Hadoop的各种属性和设置。根据需要进行修改,但在初始阶段,使用默认配置通常是可以的。

core-site.xml:这个文件包含Hadoop的核心设置,如文件系统的默认URI和I/O缓冲区大小等。可以通过编辑这个文件来设置Hadoop的全局属性。

hdfs-site.xml:这个文件包含HDFS的配置设置,如命名节点(NameNode)和数据节点(DataNode)的地址、副本数量等。在这里,可以指定HDFS的相关配置。

mapred-site.xml:这个文件包含MapReduce的配置设置,如作业跟踪器(JobTracker)和任务跟踪器(TaskTracker)的地址等。

配置主机文件:在etc/hadoop目录中,找到名为slaves的文件。这个文件用于列出作为数据节点的主机。在每行上添加数据节点的主机名或IP地址。

验证安装:完成以上步骤后,你可以通过运行以下命令来验证Hadoop的安装是否成功:

hadoop version

如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RzbjvI4W-1687089630963)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f0c1651b92954a7796368575e0255bdc~tplv-k3u1fbpfcp-watermark.image?)]

安装MySQL

第一步,更新包管理器:打开终端并执行以下命令,更新系统的包管理器:

sudo apt update

第二步,安装MySQL服务器:执行以下命令安装MySQL服务器:

sudo apt install mysql-server

在安装过程中,系统会提示设置MySQL的root密码。输入一个安全且易于记忆的密码,并记住它。

第三步,启动MySQL服务:安装完成后,MySQL服务器会自动启动。可以通过以下命令检查MySQL服务状态:

sudo systemctl status mysql

如果服务处于运行状态,说明安装成功。

第四步,配置MySQL:默认情况下,MySQL只允许本地连接。如果想通过网络连接到MySQL服务器,需要进行一些配置。

第五步,编辑MySQL配置文件:打开终端,并使用以下命令编辑MySQL的配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

在文件中找到bind-address一行,注释掉该行(在行前面添加#)或将其设置为MySQL服务器所在机器的IP地址,以允许来自任何主机的连接。

保存并关闭文件。

第六步,重启MySQL服务:在配置更改后,重启MySQL服务使其生效:

sudo systemctl restart mysql

第七步,验证安装:执行以下命令登录到MySQL服务器:

mysql -u root -p

系统会要求输入之前设置的root密码。如果成功登录,说明MySQL安装完成。安装成功的演示图如下所示:

image.png

安装Hive仓库

第一步,下载Hive:前往Apache Hive的官方网站(https://hive.apache.org)下载所需的Hive发行版。选择需要的版本,并下载对应的tarball(.tar.gz)文件。hive-x39l209bfv2bih3bqrl7u4d1swaev0a.xn–,tarball(-jx4sq23m1fbf1wwoax75d8nm8lgq0aw10pkmuia086u0q0kxcd.tar.xn--gz)-n18ip45m./)

第二步,解压Hive文件:在Linux终端中,进入想要安装Hive的目录,并使用以下命令解压下载的Hive文件:

tar -xzf hive-x.x.x.tar.gz

第三步,配置环境变量:为了让系统正确找到Hive的执行文件,需要配置一些环境变量。编辑shell配置文件(例如.bashrc或.bash_profile),添加以下行:

export HIVE_HOME=/path/to/hive

export PATH= P A T H : PATH: PATH:HIVE_HOME/bin

将/path/to/hive替换为实际的Hive安装路径。保存文件后,运行以下命令使配置生效:

source ~/.bashrc

第四步,配置Hive:进入Hive安装目录,找到conf目录。在该目录中,有一些配置文件需要修改。

hive-env.sh:编辑这个文件,设置Hive的环境变量。至少需要配置HADOOP_HOME,指定Hadoop的安装路径。例如,可以将其设置为/path/to/hadoop。

hive-site.xml:这个文件是Hive的主要配置文件。可以根据需要修改其中的属性,例如设置Hive的元数据存储位置、数据库连接等。

第五步,配置元数据存储:Hive需要一个元数据存储来管理表和其他元数据。你可以选择使用内置的Derby数据库,或者使用外部数据库(如MySQL)作为元数据存储。如果选择使用外部数据库,需要安装并配置数据库。

第六步,验证安装:完成以上步骤后,你可以通过运行以下命令来验证Hive的安装是否成功:

hive --version

如果一切设置正确,将显示Hive的版本信息,如下图所示:

image.png

安装Scala

第一步,下载Scala:前往Scala的官方网站(https://www.scala-lang.org)下载所需的Scala发行版。选择相应版本的二进制发行版,并根据操作系统选择适当的下载链接。scala-3b6nh22cy04bst5bonmb58dmbyack2a.xn–,-no6azp10ata864bhnd575a5ybcwpha70nuul3kc5du7govap5mxr4dea478tjae1380bz4jhx5dwu0bxec06alfwa8271b./)

第二步,解压Scala文件:在Linux终端中,进入想要安装Scala的目录,并使用以下命令解压下载的Scala文件:

tar -xzf scala-x.x.x.tgz

第三步,配置环境变量:为了让系统正确找到Scala的执行文件,需要配置一些环境变量。编辑shell配置文件(例如.bashrc或.bash_profile),添加以下行:

export SCALA_HOME=/path/to/scala

export PATH= P A T H : PATH: PATH:SCALA_HOME/bin

将/path/to/scala替换为实际的Scala安装路径。保存文件后,运行以下命令使配置生效

source ~/.bashrc

第四步,验证安装:完成以上步骤后,可以通过运行以下命令来验证Scala的安装是否成功:

scala -version

如果一切设置正确,将显示Scala的版本信息。如下图所示:

image.png

部署spark集群

第一步,下载、上传、安装Spark .通过 xshell的 Xftp 上spark-3.2.1-bin-hadoop2.7.tgz 压缩包到/opt /apps目录,之后执行命令解压缩 spark-3.2.1-bin-hadoop2.7.tgz 文件。

tar -zxvf /opt/apps/spark-3.2.1-bin-hadoop2.7.tgz

第二步,修改Spark配置文件.Spark的配置文件位于Spark安装目录下的conf目录。修改 spark-env.sh.添加以下内容

export JAVA_HOME=/opt/apps/jdk

export HADOOP_CONF_DIR=/opt/apps/hadoop/etc/hadoop

第三步,配置Spark环境变量

export SPARK_HOME=/opt/apps/spark-3.2.1-bin-hadoop2.7

export PATH= P A T H : PATH: PATH:SPARK_HOME/bin

修改后执行source /etc/profifile命令使其生效。

第四步,Spark环境验证.执行下面的命令进入Spark Shell交互界面。

spark-shell --master yarn --deploy-mode client

进入后如下图所示:

image.png
通过博客中提供的步骤和演示图,你可以轻松地按照指导完成安装和配置过程。

通过完成以上步骤,你将成功搭建一个大数据环境,包括Hadoop作为分布式文件系统和计算框架,MySQL作为关系数据库,Hive作为数据仓库,Scala作为编程语言,以及Spark作为大数据处理引擎。这个环境将为你的数据分析和处理提供强大的支持。

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

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

相关文章

测试(一)

1.用户需求 可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略。 2.软件需求 或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能(所谓的测试文档)。 大多数公司在进行…

05- c语言函数 (C语言)

一 函数的概念 1、在程序设计过程中,为了实现某个功能需要编写多行代码,例如求一个二维数组中的最大值,如果 该功能需要被多次使用,我们可以在每次使用时将原来的代码重复编写,但是这样未免有“凑代码”的嫌疑&#x…

大数据治理.数据储存技术

hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转…

Spark大数据处理学习笔记(3.8.3) Spark RDD典型案例-利用RDD实现分组排行榜

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/Twpwe】 文章目录 一、任务目标二、准备工作2.1 在本地创建成绩文件2.2 将成绩文件上传到HDFS上指定目录 三、完成任务3.1 在Spark Shell里完成任务3.1.1 读取成绩文件得到RDD3.1.2 利用映射算子生…

Openfire身份认证绕过漏洞复现+利用(CVE-2023-32315)

0x01 产品简介 Openfire是免费的、开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的实时协作服务器。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器甚至可支持上万并发用户。 0x02 漏洞概述 Openfire的管理控制台是一个基于 Web 的…

自然语言处理从入门到应用——动态词向量预训练:ELMo词向量

分类目录:《自然语言处理从入门到应用》总目录 在双向语言模型预训练完成后,模型的编码部分(包括输入表示层以及多层堆叠LSTM)便可以用来计算任意文本的动态词向量表示。最自然的做法是使用两个LSTM的最后一层隐含层输出作为词的动…

Qt项目网络聊天室设计

效果演示 网络聊天室 Qt网络聊天室服务端 网络聊天室程序 基于TCP的可靠连接(QTcpServer、QTcpSocket) 一个服务器,多个客户端 3. 服务器接收到某个客户端的请求以及发送信息,经服务器发给其它客户端 最终实现一个共享聊天内容的聊天室! …

大数据治理.数据采集/归集技术

第一部分 阿里巴巴DATAx DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 DataX设计理念 DataX本身作为数据同步框架,将不同…

分布式系统消息通信技术:MOM与RPC

一、中间件 什么是中间件 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台…

springboot配置 spring.profiles.active spring.profiles.include @profile

springboot配置 spring.profiles.active spring.profiles.include profile spring.profiles.active spring.profiles.include profile的命名方式 以 application-开头, --横杠(减号)不能少 application-{这部分自定义}.propertiesapplication-{这部分自定义}.ymlapplicatio…

c++多态详解

前言: 对于面向对象语言来说,多态是面向对象的三大特性之一,简单一点来说多态就是多种形态,是不同对象接收到同一种消息产生的不同动作或者反应,听起来有点抽象,实际上就是完成一个任务让不同的对象来做产生…

合宙Air724UG Cat.1模块硬件设计指南--模拟语音通道

模拟语音通道 简介 模拟音频技术是由传感器采集得到的连续变化的值,根据其电压的幅度用来展示声音强弱。CAT.1内置3种音频输出模式,分别为扬声器(SPK)输出,耳机(HP)输出和听筒(RECEIVER)输出。 特性 SPK接口 SPK-、SPK。Speaker差分信号接口…

记压测环境数据表死锁导致接口长时间pending问题

背景 压测过程中测试小伙伴反映某个页面长时间loading无法打开,接下来我们排查一下,既然是压测环境,那么就需要排除服务器资源层面的因素,现在考验的就是在系统资源不足时系统的情况,那么我们就直接从代码层面开始排查…

PADS-LAYOUT菜单及工具说明

目录 1 材料清单输出 2 元件属性检查 3 材料清单制作 4 原理图生成PDF 4.1PDF文件生成 4.2PDF文件查阅 4.3PDF文件打印 5 PADS转Altium Designer 5 Altium Designer转PADS 5.1 直接导入法 5.2 软件生成法 6 PADS层定义 7 设计规则输出 7.1 PADS对象管理 7.2 PAD…

pandas---分箱(离散化处理)、绘图、交叉表和透视表

1. 分箱 分箱操作就是将连续型数据离散化。分箱操作分为等距分箱和等频分箱. 1.1 等宽分箱 pandas.cut(x, bins, rightTrue, labelsNone, retbinsFalse, precision3, include_lowestFalse, duplicatesraise, orderedTrue) x:要分箱的一维数组或者 Series。 bi…

分布式系统概念和设计——分布式共享内存

分布式系统概念和设计 分布式共享内存 分布式共享内存是在不共享物理内存的计算机之间实现数据的共享的一个抽象。 有一个底层运行的系统保证其透明性,但是进程还是根据内存的分布处理物理内存的分布式能力 DMS最关键点: 不需要关心数据的通信&#xff…

百家号热议排名代发

百家号热议排名代发,百度排名怎么做,有什么技巧或者方式方法吗#百度首页关键词排名#百度推广#百度竞价推广#百度关键词排名#百度首页关键词排名方法# 其实百度推广并不赚钱,也没有你想象中的那么好做。 我说三点, 99% 的用户都遇…

C语言之动态内存分配讲解(2)

动态内存函数的介绍 在开始本章节之前,我们来复习一下动态内存分配(1)中所讲到的知识,看下面目录一和目录二 为什么存在动态内存分配 我们已经掌握的内存开辟方式有 int val 20;//在栈空间上开辟四个字节 char arr[10] {0};/…

Go语言并发之扇入和扇出

1、Go语言并发之扇入和扇出 编程中经常遇到扇入和扇出两个概念,所谓的扇入是指将多路通道聚合到一条通道中处理,Go 语言最简单的扇入 就是使用 select 聚合多条通道服务;所谓的扇出是指将一条通道发散到多条通道中处理,在Go语言…

揭开视频识别(动作识别)的神秘面纱(附代码和demo)!

PaddleDetection 在计算机视觉中,视频识别和检测是一个重要的方向。历年来CVPR和ICCV等顶会文章中这类论文是最多的。视频识别和检测也是最有落地场景前景的,像人脸识别、动作检测、异常检测、行人重识别、行人计数等都是很有落地前景的应用方向。本文介…