Hadoop学习指南:探索大数据时代的重要组成——运行环境搭建

news2024/11/17 19:38:19

Hadoop运行环境搭建(开发重点)

模板虚拟机环境准备

数据来源层

安装模板虚拟机,IP地址192.168.10.100、主机名称hadoop100、内存4G、硬盘50G

hadoop100 虚拟机配置要求如下(本文Linux系统全部以CentOS-7.5-x86-1804为例)

使用yum安装需要虚拟机可以正常上网,yum安装前可以先测试下虚拟机联网情况

[root@hadoop100 ~]# ping www.baidu.com 
PING www.baidu.com (14.215.177.39) 56(84) bytes of data. 
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 
ttl=128 time=8.60 ms 
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 
ttl=128 time=7.72 ms 

安装epel-release

注:Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包,
适用于RHEL、CentOS 和 Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方
repository 中是找不到的)

[root@hadoop100 ~]# yum install -y epel-release 

注意:如果Linux安装的是最小系统版,还需要安装如下工具;如果安装的是Linux桌面标准版,不需要执行如下操作

  • net-tool:工具包集合,包含ifconfig等命令
[root@hadoop100 ~]# yum install -y net-tools  
  • vim:编辑器
[root@hadoop100 ~]# yum install -y vim 

关闭防火墙,关闭防火墙开机自启

[root@hadoop100 ~]# systemctl stop firewalld 
[root@hadoop100 ~]# systemctl disable firewalld.service 

==注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙 ==

创建atguigu用户,并修改atguigu用户的密码

[root@hadoop100 ~]# useradd atguigu 
[root@hadoop100 ~]# passwd atguigu 

配置atguigu用户具有root权限,方便后期加sudo执行root权限的命令

[root@hadoop100 ~]# vim /etc/sudoers 

修改/etc/sudoers 文件,在%wheel这行下面添加一行,如下所示:

## Allow root to run any commands anywhere 
root    ALL=(ALL)     ALL 
## Allows people in group wheel to run all commands 
%wheel  ALL=(ALL)       ALL
atguigu   ALL=(ALL)     NOPASSWD:ALL

注意:atguigu 这一行不要直接放到root行下面,因为所有用户都属于wheel组,你先配置了atguigu具有免密功能,但是程序执行到%wheel行时,该功能又被覆盖回需要密码。所以atguigu要放到%wheel这行下面。

在/opt目录下创建文件夹,并修改所属主和所属组

  • 在/opt目录下创建module、software文件夹
[root@hadoop100 ~]# mkdir /opt/module 
[root@hadoop100 ~]# mkdir /opt/software 
  • 修改module、software 文件夹的所有者和所属组均为atguigu用户
[root@hadoop100 ~]# chown atguigu:atguigu /opt/module  
[root@hadoop100 ~]# chown atguigu:atguigu /opt/software 
  • 查看module、software 文件夹的所有者和所属组
[root@hadoop100 ~]# cd /opt/ 
[root@hadoop100 opt]# ll 
总用量 12 
drwxr-xr-x. 2 atguigu atguigu 4096 528 17:18 module 
drwxr-xr-x. 2 root    root    4096 97 2017 rh 
drwxr-xr-x. 2 atguigu atguigu 4096 528 17:18 software 

卸载虚拟机自带的JDK

注意:如果你的虚拟机是最小化安装不需要执行这一步。

[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps  

➢ rpm -qa:查询所安装的所有rpm软件包
➢ grep -i:忽略大小写
➢ xargs -n1:表示每次只传递一个参数
➢ rpm -e –nodeps:强制卸载软件

重启虚拟机

[root@hadoop100 ~]# reboot 

克隆虚拟机

利用模板机hadoop100,克隆三台虚拟机:hadoop102 hadoop103 hadoop104

注意:克隆时,要先关闭hadoop100

修改克隆机IP,以下以hadoop102举例说明

(1)修改克隆虚拟机的静态IP

[root@hadoop100 ~]# vim /etc/sysconfig/network-scripts/ifcfg
ens33

改为

DEVICE=ens33 
TYPE=Ethernet 
ONBOOT=yes 
BOOTPROTO=static 
NAME="ens33" 
IPADDR=192.168.10.102 
PREFIX=24 
GATEWAY=192.168.10.2 
DNS1=192.168.10.2 

(2)查看Linux虚拟机的虚拟网络编辑器,编辑->虚拟网络编辑器->VMnet8
在这里插入图片描述
在这里插入图片描述
(3)查看Windows系统适配器VMware Network Adapter VMnet8 的IP地址
在这里插入图片描述
(4)保证Linux系统ifcfg-ens33文件中IP地址、虚拟网络编辑器地址和Windows系
统VM8网络IP地址相同。

修改克隆机主机名,以下以hadoop102举例说明

(1)修改主机名称

[root@hadoop100 ~]# vim /etc/hostname 
hadoop102

配置Linux克隆机主机名称映射hosts文件,打开/etc/hosts

[root@hadoop100 ~]# vim /etc/hosts

添加如下内容

192.168.10.100 hadoop100 
192.168.10.101 hadoop101 
192.168.10.102 hadoop102 
192.168.10.103 hadoop103 
192.168.10.104 hadoop104 
192.168.10.105 hadoop105 
192.168.10.106 hadoop106 
192.168.10.107 hadoop107 
192.168.10.108 hadoop108 

重启克隆机hadoop102

[root@hadoop100 ~]# reboot

修改windows的主机映射文件(hosts文件)
(1)如果操作系统是window7,可以直接修改
(a)进入C:\Windows\System32\drivers\etc路径
(b)打开hosts文件并添加如下内容,然后保存

192.168.10.100 hadoop100 
192.168.10.101 hadoop101 
192.168.10.102 hadoop102 
192.168.10.103 hadoop103 
192.168.10.104 hadoop104 
192.168.10.105 hadoop105 
192.168.10.106 hadoop106 
192.168.10.107 hadoop107 
192.168.10.108 hadoop108

(2)如果操作系统是window10,先拷贝出来,修改保存以后,再覆盖即可
(a)进入C:\Windows\System32\drivers\etc路径
(b)拷贝hosts文件到桌面
(c)打开桌面hosts文件并添加如下内容

192.168.10.100 hadoop100 
192.168.10.101 hadoop101 
192.168.10.102 hadoop102 
192.168.10.103 hadoop103 
192.168.10.104 hadoop104 
192.168.10.105 hadoop105 
192.168.10.106 hadoop106 
192.168.10.107 hadoop107 
192.168.10.108 hadoop108 

(d)将桌面hosts文件覆盖C:\Windows\System32\drivers\etc路径hosts文件

在hadoop102安装JDK

卸载现有JDK

注意:安装JDK前,一定确保提前删除了虚拟机自带的JDK

用XShell传输工具将JDK导入到opt目录下面的software文件夹下面

在这里插入图片描述

在Linux系统下的opt目录中查看软件包是否导入成功

[atguigu@hadoop102 ~]$ ls /opt/software/ 

看到如下结果:

jdk-8u212-linux-x64.tar.gz

解压JDK到/opt/module目录下

[atguigu@hadoop102 software]$ tar -zxvf jdk-8u212-linux
x64.tar.gz -C /opt/module/ 

配置JDK环境变量

(1)新建/etc/profile.d/my_env.sh文件

[atguigu@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh

添加如下内容

#JAVA_HOME 
export JAVA_HOME=/opt/module/jdk1.8.0_212 
export PATH=$PATH:$JAVA_HOME/bin 

(2)保存后退出
:wq
(3)source一下/etc/profile文件,让新的环境变量PATH生效

[atguigu@hadoop102 ~]$ source /etc/profile

测试JDK是否安装成功

[atguigu@hadoop102 ~]$ java -version 

如果能看到以下结果,则代表Java安装成功。

java version "1.8.0_212"

注意:重启(如果java -version可以用就不用重启)

[atguigu@hadoop102 ~]$ sudo reboot

在hadoop102安装Hadoop

Hadoop下载地址:Hadoop

1)用XShell文件传输工具将hadoop-3.1.3.tar.gz导入到opt目录下面的software文件夹下


在这里插入图片描述

2)进入到Hadoop安装包路径下

[atguigu@hadoop102 ~]$ cd /opt/software/ 

3)解压安装文件到/opt/module下面

[atguigu@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C 
/opt/module/

4)查看是否解压成功

[atguigu@hadoop102 software]$ ls /opt/module/ 
hadoop-3.1.3 

5)将Hadoop添加到环境变量

(1)获取Hadoop安装路径

[atguigu@hadoop102 hadoop-3.1.3]$ pwd 
/opt/module/hadoop-3.1.3 

(2)打开/etc/profile.d/my_env.sh文件

[atguigu@hadoop102 hadoop-3.1.3]$ sudo vim 
/etc/profile.d/my_env.sh

➢ 在my_env.sh文件末尾添加如下内容:(shift+g)

#HADOOP_HOME 
export HADOOP_HOME=/opt/module/hadoop-3.1.3 
export PATH=$PATH:$HADOOP_HOME/bin 
export PATH=$PATH:$HADOOP_HOME/sbin 

➢ 保存并退出: :wq
(3)让修改后的文件生效

[atguigu@hadoop102 hadoop-3.1.3]$ source /etc/profile

6)测试是否安装成功

[atguigu@hadoop102 hadoop-3.1.3]$ hadoop version 
Hadoop 3.1.3 

7)重启(如果Hadoop命令不能用再重启虚拟机)

[atguigu@hadoop102 hadoop-3.1.3]$ sudo reboot

Hadoop 目录结构

查看Hadoop目录结构

[atguigu@hadoop102 hadoop-3.1.3]$ ll 
总用量 52 
drwxr-xr-x. 2 atguigu atguigu  4096 522 2017 bin 
drwxr-xr-x. 3 atguigu atguigu  4096 522 2017 etc 
drwxr-xr-x. 2 atguigu atguigu  4096 522 2017 include 
drwxr-xr-x. 3 atguigu atguigu  4096 522 2017 lib 
drwxr-xr-x. 2 atguigu atguigu  4096 522 2017 libexec -rw-r--r--. 1 atguigu atguigu 15429 522 2017 LICENSE.txt -rw-r--r--. 1 atguigu atguigu   101 522 2017 NOTICE.txt -rw-r--r--. 1 atguigu atguigu  1366 522 2017 README.txt 
drwxr-xr-x. 2 atguigu atguigu  4096 522 2017 sbin 
drwxr-xr-x. 4 atguigu atguigu  4096 522 2017 share 

重要目录

(1)bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib 目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin 目录:存放启动或停止Hadoop相关服务的脚本
(5)share 目录:存放Hadoop的依赖jar包、文档、和官方案例

总结:

Hadoop是大数据处理的重要工具,搭建Hadoop的运行环境是学习和应用Hadoop的第一步。通过安装JDK和配置Hadoop,我们可以轻松搭建一个强大的分布式计算平台,实现大规模数据处理和存储。

通过学习Hadoop的搭建和配置,我们能够深入了解Hadoop的运行原理和机制。在后续的学习和实践中,我们将探索更多Hadoop的功能和应用,为大数据处理和分析提供更加全面和高效的解决方案。

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

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

相关文章

小研究 - Java 虚拟机实现原理分析

针对虚拟机的底层实现原理及相关实现过程,讨论了 Java 语言的跨平台原理以及相关工作机制,分析了 JVM 底层各数据区内存管理过程,阐述了 JVM 在 Java 语言中的核心作用以及重要地位。 目录 1 概述 2 Java 平台分层原理 3 虚拟机工作原理 …

CDC一键入湖:当 Apache Hudi DeltaStreamer 遇见 Serverless Spark

文章目录 1. 整体架构2. 环境准备3. 配置全局变量4. 创建专属工作目录和存储桶5. 创建 EMR Serverless Execution Role6. 创建 EMR Serverless Application7. 提交 Apache Hudi DeltaStreamer CDC 作业7.1 准备作业描述文件7.2 提交作业7.3 监控作业7.4 错误检索7.5 停止作业 8…

仿转转闲鱼链接后台生成

教程:修改数据库账号密码直接使用。 源码带有教程! 下载程序:https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

TIA博途中通过UDT实现IO地址映射到DB块中的具体方法

TIA博途中通过UDT实现IO地址映射到DB块中的具体方法 如下图所示,打开TIA博途,新建一个项目,添加一个PLC UDT数据类型Iomap,数据类型为Array[0…49] of Byte, 如下图所示,再添加一个全局DB块,在DB块中添加一个变量map,数据类型为Iomap, 如下图所示,在PLC变量表中添加一…

iOS开发-NotificationServiceExtension实现实时音视频呼叫通知响铃与震动

iOS开发-NotificationServiceExtension实现实时音视频呼叫通知响铃与震动 在之前的开发中,遇到了实时音视频呼叫通知,当App未打开或者App在后台时候,需要通知到用户,用户点击通知栏后是否接入实时音视频的视频或者音频通话。 在…

【微服务】springboot整合mongodb使用详解

目录 一、mongodb简介 1.1 什么是mongodb 1.2 mongodb特点 二、mongodb中的核心术语 2.1 mogodb与数据库对比 2.2 mongodb中的核心概念 2.3 与关系数据库的差异 2.3.1 半结构化 2.3.2 支持多级嵌套 2.3.3 关系弱化 三、mongodb 技术优势和应用场景 3.1 mongodb 技术…

redis主从复制哨兵Cluster

目录 前言 一、模式介绍 1.1 主从复制 1.2 哨兵 1.3 集群 二、主从复制 2.1 主从复制的作用 2.2 主从复制流程 2.3 搭建Redis 主从复制 三、Redis 哨兵模式 3.1 哨兵模式原理 3.2 哨兵模式的作用 3.3 哨兵组成结构 3.4 哨兵故障转移机制 3.5 搭建Redis 哨兵模式…

利用频谱仪进行简单的2.4G 频率测试

一、概述 1. 信号源 我们开发2.4G 无线产品的时候,经常需要对产品的无线信号进行测试,以确定精确的频率。在进行频率测试之前,我们的2.4G 射频芯片需要进入单载波模式。 2. 频谱仪 这里选择的是普源的频谱仪。测试范围是 9kHz - 3.2GHz。…

【工具篇】Lombok 介绍及使用(详细教程)

Lombok 介绍及使用 一,Lombok介绍 在 Java 开发中,常常需要编写大量的getter、setter方法、equals和hashCode方法、构造函数等重复且繁琐的代码。 为了减少 Java 代码中的冗余和样板代码,提高代码的可读性和开发效率,就有了Lomb…

数据结构: 线性表(无哨兵位单链表实现)

文章目录 1. 线性表的链式表示: 链表1.1 顺序表的优缺点1.2 链表的概念1.3 链表的优缺点1.4 链表的结构 2. 单链表的定义2.1 单链表的结构体2.2 接口函数 3. 接口函数的实现3.1 动态申请一个结点 (BuySListNode)3.2 单链表打印 (SListPrint)3.3 单链表尾插 (SListPushBack)3.4 …

【雕爷学编程】MicroPython动手做(20)——掌控板之三轴加速度6

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

【LangChain】向量存储(Vector stores)

概要 存储和搜索非结构化数据的最常见方法之一是嵌入它并存储生成的嵌入向量,然后在查询时嵌入非结构化查询并检索与嵌入查询“最相似”的嵌入向量。向量存储负责存储嵌入数据并为您执行向量搜索。 内容 本篇讲述与 VectorStore 相关的基本功能。使用向量存储的一…

【Git】远程仓库的创建、SSH协议克隆、拉取、推送

目录 一、创建远程仓库 二、HTTPS协议克隆仓库 三、SSH协议克隆仓库 四、向远程仓库推送 五、从远程仓库拉取 六、忽略特殊文件 七、配置命令别名 一、创建远程仓库 首先我们可以从GitHub或者Gitee中创建自己的个人仓库 工作台 - Gitee.comhttps://gitee.com/ 二、HTT…

Sestra 实用教程(三)输入与输出

目 录 一、前言二、分析流程三、输入文件3.1 模型与荷载3.2 分析控制数据 四、输出文件五、参考文献 一、前言 SESAM (Super Element Structure Analysis Module)是由挪威船级社(DNV-GL)开发的一款有限元分析(FEA&…

关于在VS2017中编译Qt项目遇到的问题

关于在VS2017中编译Qt项目遇到的问题 【QT】VS打开QT项目运行不成功 error MSB6006 “cmd.exe”已退出,代码为 2。如何在VS2017里部署的Qt Designer上编辑槽函数 【QT】VS打开QT项目运行不成功 error MSB6006 “cmd.exe”已退出,代码为 2。 链接 如何在VS2017里部署的Qt Design…

【LeetCode】解码方法

这里写目录标题 题目描述算法流程编程代码代码优化 链接: 解码方法 题目描述 算法流程 编程代码 class Solution { public:int numDecodings(string s) {int n s.size();vector<int> dp(n);dp[0] s[0] ! 0;if(n 1) return dp[0];if(s[1] < 9 && s[1] >…

python之编写form表单提交到后端

一、环境配置 我们先去python的框架中下载Flask&#xff0c;具体的配置我给大家找了一篇博客讲解&#xff0c;环境调试没问题后&#xff0c;开始我们form表单提交的过程 Python之flask框架_python flask_【网络星空】的博客-CSDN博客 二、前端代码 在VScode里编写前端的代码为…

移动端加入购物车界面设计

效果图 源码如下 页面设计 <template><div class"container"><!--商品详情 start--><van-image class"goods-item-image" :src"goods.goodsHeadImg"></van-image><div class"goods-price">&…

【安装vue脚手架报错:npm install -g @vue-cli pm ERR! code EINVALIDTAGNAME 】

当我们执行npm install -g vue-cli时候会报错&#xff1a; npm ERR! Invalid tag name “vue-cli” of package “vue-cli”: Tags may not have any characters that encodeURIComponent encodes. npm ERR! A complete log of this run can be found in: /Users/wuwenlu/.npm/…

【MySQL】MySQL索引、事务、用户管理

20岁的男生穷困潦倒&#xff0c;20岁的女生风华正茂&#xff0c;没有人会一直风华正茂&#xff0c;也没有人会一直穷困潦倒… 文章目录 一、MySQL索引特性&#xff08;重点&#xff09;1.磁盘、OS、MySQL&#xff0c;在进行数据IO时三者的关系2.索引的理解3.聚簇索引&#xff0…