当前位置: 首页 > news >正文

Hadoop环境搭建

1 Hadoop集群环境搭建概述

所谓集群,就是一组通过网络互联的计算机,集群中的每一台计算机称作一个节点,Hadoop集群搭建就是在这个物理集群之上安装部署Hadoop相关的软件,然后对外提供大数据存储和分析等相关服务。

一个前提:Hadoop是为了在Linux平台上使用而开发的
一个现实:我们的电脑不是Linux系统
如何解决???搭建虚拟机,在虚拟机上安装Linux操作系统
虚拟机是什么?
虚拟的计算机,功能和真实计算机几乎完全一样
如何搭建虚拟机?
在真实电脑上安装虚拟化软件来实现虚拟机的搭建
虚拟化软件有哪些?
VMware workstation和Virtualbox
版本选择及注意事项
12,13,14,15,16,17都可以,但是要注意输入对应版本的序列号
Linux运行环境的部署: 搭建一个虚拟机,然后再在这个虚拟机上直接安装部署Linux操作系统
来实现Linux运行环境。

2 Hadoop分布式环境搭建

(0)准备模板虚拟机

配置(依情况而定,太小跑程序会有问题),例如:
主机名称:hadoop100(可以自己起,仅仅在Vmware中显示)
内存:2G
硬盘:20G
IP 地址:192.168.10.100
作用:安装分布式节点所需的软件并进行配置

(1)hadoop100 虚拟机配置要求如下:

yum 安装需要虚拟机可以正常上网,首先 确保虚拟机能够联网
(yum就是去找服务器,把你要的资源拉下来)
安装epel-release
注1:Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS 和 Scientific Linux。相当于 是一个软件仓库,大多数rpm 包在官方repository 中是找不到的)
注2:如果Linux 安装的是最小系统版,还需要手动安装net-tools、vim 等工具(最好不要最小化安装)

(2)关闭防火墙,关闭防火墙开机自启动

[root@hadoop100 ~]# systemctl stop firewalld
[root@hadoop100 ~]# systemctl disable firewalld
[root@hadoop100 ~]# systemctl status firewalld
为什么要关掉防火墙?因为他们之间要进行互通,关闭防火墙是为了他们之间在构建集群的时候不会因为防火墙和端口的限制

(3)创建hadoop 用户,并修改hadoop 用户的密码

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

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

[root@hadoop100 ~]# vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
注意:基本配置用hadoop,安装软件,启动服务都用hadoop

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

1)在/opt目录下创建 module、software文件夹
2)修改 module、software文件夹的所有者和所属组均为hadoop用户
3)查看 module、software文件夹的所有者和所属组
[root@hadoop100 ~]# chown hadoop:hadoop /opt/module
[root@hadoop100 ~]# chown hadoop:hadoop /opt/software
为什么要创建这些文件夹?为了使目录结构更加规整  /opt是第三方管理软件,为什么要修改文件夹和所属组为root用户?这涉及到权限问题,要求有写的权限
你没有就自己创建,我用我自己创建的普通用户

(6)卸载自带jdk(最小化安装不需要)

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

rpm -qa :查询所安装的所有 rpm 软件包
grep -i :忽略大小写
xargs -n1 :表示每次只传递一个参数
rpm -e –nodeps :强制卸载软件
这个步骤很重要,以后如果涉及到开发运维这些都是最基本的
为什么要强制卸载java呢?因为可能版本不兼容,所以要卸载,因为可能有依赖关系,所以强制卸

(7)配置静态ip

1)配置虚拟机IP

这里我写的比较简略,因为我已经很熟练了,这个是我当时学配置静态ip的博客,会改就行

虚拟机配置静态IP(NAT模式)_nat子网的准入_阿祖,收手吧的博客-CSDN博客

[root@hadoop100 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
[root@hadoop100 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 
OWSER_ONLY=no
BOOTPROTO=static
……
NAME=ens33
UUID=9473daea-1240-40a7-ada1-a2aa06f7b09d
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.133.100
PREFIX=24
GATEWAY=192.168.133.2
DNS1=192.168.133.2

上面是我之前的ip地址,下面这个是我配置的ip地址

重启一下网络,发现ip变成自己改的ip

(8)修改主机名称

1)修改主机名称
[root@hadoop100 ~]# vim /etc/hostname
hadoop100
里面的内容删了就行,这里建议直接改配置文件,因为fhostname hadoop100只会维护一段时间
2)修改主机名称
[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
(9)重启虚拟机hadoop100
[root@hadoop100 ~]# reboot
(10)修改windows主机的hosts文件,添加以下内容
192.168.10.100
hadoop100
192.168.10.101
hadoop101
192.168.10.102
hadoop102
192.168.10.103 hadoop103
经过上述步骤系统相关设置基本完成。接下来需要安装软件:
1)JDK
2)Hadoop
上述系统配置使用root用户完成,比较方便。以下软件安装步骤统一使用上
述创建的 hadoop用户完成
伪分布式的配置
伪分布式我配了五六遍了,发现老师给的ppt里面配置文件写错了
Web端查看HDFS的NameNode,浏览器输入http://hadoop102:9870
Web端查看YARN的ResourceManager,在浏览器输入http://hadoop102:8088
每台主机修改hostname文件,修改ip地址,并且保证互相能ping通
结果

实验总结 : 单机模式在进行字母统计例子是时,命令写错了,以为jar包不能用。

                 伪分布式模式时上课没有注意到完全分布式修改的配置文件都是xml的,做了好久日志一直说我配置文件有问题,最后配置xml才整出来,还有进行ssh无密码登录时,对普通用户和root进行无密码登录是不一样的,我以为对root进行无密登录对其普通用户也会无密登。

                完全分布式模式,在进行无密登录ssh hadoop检验之后,应该登出,还有写同步脚本,从windows写完之后上传,就说解释器损坏不可用,其实是windows与linu换行的问题,最后在进行web端登录时,上传文件后web端不能查看文件内容,原因是我没有把ip和主机名的映射写到windows的host文件中,还用做实验时中午吃饭去了。回来的时候xync不能用了,我又重新加了权限,配到环境变量才能用,不知道为什么。最后应该注意端口对应的是哪个服务以及每条命令的含义。

相关文章:

Hadoop环境搭建

1 Hadoop集群环境搭建概述 所谓集群,就是一组通过网络互联的计算机,集群中的每一台计算机称作一个节点,Hadoop集群搭建就是在这个物理集群之上安装部署Hadoop相关的软件,然后对外提供大数据存储和分析等相关服务。 一个前提&…...

SpringBoot_mybatis-plus使用json字段

mybatis-plus使用json字段 1.前言2.方案分析2.1 为什么是json2.2 数据库的选择 3. 实战3.1 使用text字段(h2数据库)3.1.1 建表语句3.1.2 数据操作与查询 3.2 使用json字段(mysql数据库)3.2.1 建表语句3.2.2 数据操作与查询 4. 附录4.1 MySQL JSON索引用法4.2 mybatis-plus json…...

牛客出bug(华为机试HJ71)

Hj71:字符串通配符 描述 问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。 要求: 实现如下2个通配符: *:匹配0个…...

第十一章 日志管理

第十一章 日志管理 1日志进程rsyslog 任务一 rsyslog 系统日志管理 ​ 关心问题 哪些程序产生的什么日志放到什么地方 任务一详解 1处理日志的进程 第一类 rsyslog 系统专职日志程序 处理绝大部分日志记录 系统操作有关的信息 如登录信息 程序启动关闭信息 错误喜喜 …...

灯串跨境外贸出口欧美CE认证和UL588报告周期解析

灯串灯具出口欧盟要做CE认证,CE认证需要做CE的两项检测,工作电压直流75V以上,交流50V以上 测试EMCLVD两项。 灯串LVD(安规)标准为: 欧洲EN 60598-2-20:2015 1.标记 2.结构 3.爬电距离和电气间隙 4.接线端子 5.外部接线和内…...

大数据中的分布式文件系统MapReduce的选择题

一 . 选择题 一. 单选题(共9题,49.5分) (单选题)下列传统并行计算框架,说法错误的是哪一项? A. 刀片服务器、高速网、SAN,价格贵,扩展性差上 B. 共享式(共享内存/共享存储),容错性好 C. 编程难度高 D. 实时、细粒度计算、计算密集型 正确答…...

storm安装手册及笔记

图解Storm相关概念 图解storm的并发机制 安装Storm的步骤 1、安装一个zookeeper集群 2、上传storm的安装包,解压 3、修改配置文件storm.yaml #所使用的zookeeper集群主机 storm.zookeeper.servers: - "weekend05" - "weekend06"…...

vue 视频流播放

采用的技术是vueflv.js 前言 常见视频流格式 ● RTMP(推流端、拉流端) ● RTSP(推流端) ● HLS(拉流端) ● FLV(拉流端) 视频流是否依赖插件直播/点播协议web/移动端flv否直播点播…...

Azure 机器学习 - 使用Python SDK训练模型

目录 一、环境准备二、工作区限制三、什么是计算目标?四、本地计算机五、远程虚拟机六、Apache Spark 池七、Azure HDInsight八、Azure Batch九、Azure Databricks十、Azure Data Lake Analytics十一、Azure 容器实例十二、Kubernetes 了解如何用 SDK v1 将 Azure 计…...

C#成员属性代码示例

namespace Lesson_1类和对象 {class Person{private string name;private int age;private int money;private bool sex;public string Name { get{ //可以在返回之前设立一些逻辑规则。//相当于要获得一个返回值,有点像方法//意味着这个属性将要获取的内容。return…...

3、Dockerfile 深入与其他细节

Dockerfile 在 Docker 中创建镜像最常用的方式,就是使用 Dockerfile。Dockerfile 是一个 Docker 镜像 的描述文件,我们可以理解成火箭发射的 A、B、C、D…的步骤。Dockerfile 其内部包含了一 条条的指令,每一条指令构建一层,因此每…...

大数据之陌陌聊天数据分析案例

目录 目标需求 数据内容 基于Hive数仓实现需求开发 1.建库建表、加载数据 2.ETL数据清洗 3需求指标统计 目标需求 基于Hadoop和hive实现聊天数据统计分析,构建聊天数据分析报表 1.统计今日总消息量 2.统计今日每小时消息量,发送和接收用户数 3.…...

03 贝尔曼公式

贝尔曼公式 前言1、Motivating examples2、state value3、Bellman equation:Derivation4、Bellman equation:Matrix-vector form4、Bellman equation:Solve the state value5、Action value 前言 本文来自西湖大学赵世钰老师的B站视频。本节课主要介绍贝尔曼公式。 本节课概要…...

学习视频剪辑:批量添加srt字幕,让视频更生动

随着社交媒体的普及,视频制作变得越来越重要。无论是记录生活,还是分享知识,视频都是一个非常有力的工具。但是,如何让您的视频更生动、更吸引人呢?通过学习视频剪辑,您可以使您的视频更具有吸引力。而在这…...

Windows桌面便签工具推荐使用哪一款?

电脑桌面上张贴便利贴可以将近期需要完成的工作计划逐一添加到便利贴中,电脑桌面悬挂便利贴工具可以督促日常各项事务的完成。当前可悬挂在电脑桌面上的便利贴工具是比较多的,其中桌面小工具便签软件敬业签可满足各行业的办公需求。 建议大家在Windows桌…...

【微信小程序】自定义组件(二)

自定义组件 纯数据字段1、什么是纯数据字段2、使用规则 组件的生命周期1、组件全部的生命周期函数2、组件主要的生命周期函数3、lifetimes节点 组件所在页面的生命周期1、什么是组件所在页面的生命周期2、 pageLifetimes节点3、生成随机的颜色值 纯数据字段 1、什么是纯数据字…...

llinux的更目录下的文件作用和举例

Linux是一种开源的操作系统,其文件系统采用了一种层次化的结构。在Linux文件系统中,最顶层的目录被称为根目录,也就是“/”(斜杠)。在根目录下,有很多文件和目录,它们各自有着不同的作用。本文将…...

20231106_抽象类abstract

抽象类abstract 关键字 abstract运用抽象类抽象方法:修饰抽象类中的某个方法,强制子类重写该方法 归纳 关键字 abstract 对于子类必须要实现特定方法,当时父类无法明确时,可定义为抽象类及抽象方法 不合理: 动物吃东西是基础,在这里写吃的方法过于简单,信息没有实际意义; 怎…...

yolov5 obb旋转框 tensorrt部署

文章目录 1.生成engine文件2.检测图像3.代码yolov5-obb tensorRT部署代码结合王新宇和fish-kong两者的代码,可以多batch批量检测旋转框 yolov5旋转框检测: https://blog.csdn.net/qq_42754919/article/details/134145174 1.生成engine文件 首先需要将pt文件转换成wts文件,…...

http中的Content-Type类型

浏览器的Content-Type 最近在做web端下载的时候需要给前端返回一个二进制的流,需要在请求头中设置一个 writer.Header().Set("Content-Type", "application/octet-stream")那么http中的Content-Type有具体有哪些呢?他们具体的使用场…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

Spring Boot面试题精选汇总

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...