Hadoop高手之路3-Hadoop集群搭建

news2024/11/26 9:40:55

文章目录

  • Hadoop高手之路3-Hadoop集群搭建
    • 一、集群的规划
    • 二、再准备两台虚拟机作为服务器
      • 1. 根据hadoop001克隆出hadoop002和hadoop003
      • 2. 配置hadoop002和hadoop003
        • 1) 启动hadoop002虚拟机并登录
        • 2) 配置ip地址
        • 3) 重启网络服务器,查看ip
        • 4) 远程连接hadoop002
        • 5) 修改主机名为hadoop002
        • 6) 用同样的方法操作一遍hadoop003
    • 三、建立主机名和ip地址的映射关系
      • 1. 修改hadoop001的hosts文件
      • 2. 复制hadoop001的/etc/hosts到hadoop002和hadoop003
      • 3. 测试各主机之间的连通性
      • 4. 本地windows主机和各虚拟机的映射关系
      • 5. 测试各虚拟机跟外网的连通性
    • 四、各主机之间的SSH免密登录
      • 1. 查看hadoop的密钥存放文件夹
      • 2. 生成密钥
      • 3. 复制生成的密钥文件到其他主机(包括hadoop001自己)
        • 1) hadoop001免密登录hadoop001
        • 2)hadoop001免密登录hadoop002
        • 3)hadoop001免密登录hadoop003
        • 4) hadoop002免密登录hadoop001
        • 5) hadoop002免密登录hadoop002
        • 6) hadoop002免密登录hadoop003
        • 7) hadoop003免密登录hadoop001
        • 8) hadoop003免密登录hadoop002
        • 9) hadoop003免密登录hadoop003
    • 五、安装上传下载的小工具
    • 六、JDK的安装
      • 1. 下载JDK
      • 2. 上传到服务器
      • 3.解压
      • 4.配置环境变量
      • 5.使环境变量起作用
      • 6. 分发hadoop001上的jdk到hadoop002和hadoop003上
      • 7. 分发hadoop001的/etc/profile到hadoop002和hadoop003上
      • 8. 使hadoop002和hadoop003的环境变量起作用
    • 七、安装notepad++的插件
    • 八、Hadoop的安装
      • 1. hadoop集群的安装模式
        • 1) 独立模式standalone
        • 2) 伪分布模式 pseudodistributed
        • 3) 完全分布模式 fulldistributed
      • 2. 下载hadoop
      • 3. 上传到服务器
      • 4. 也可以通过centos的wget命令直接下载到服务器
      • 5.解压
      • 6. 配置环境变量
      • 7. 使配置起作用
      • 8. 测试
      • 9. hadoop的命令说明
    • 九、hadoop的独立模式启动
      • 1. 启动集群命令sbin目录下,start-all.sh
      • 2. 配置hadoop
      • 3. 配置hadoop的环境变量
      • 4. 在启动hadoop独立模式之前用jps查看java进程
      • 5. 再次启动hadoop独立模式
    • 十、Hadoop集群配置
      • 1. hadoop的配置文件
      • 2. 修改hadoop-env.sh文件
      • 3. 修改core-site.xml文件
      • 4. 修改hdfs-site.xml文件
      • 5. 修改mapred-site.xml文件
      • 6. 修改yarn-site.xml文件
      • 7. 修改workers文件
      • 8. 分发hadoop目录到hadoop002和hadoop003上
      • 9. 分发环境变量配置文件到hadoop002和hadoop003上
      • 10. 使hadoop002和hadoop003上的环境变量起作用
      • 11. 测试hadoop是否安装正确
    • 十一、hadoop集群的文件系统格式化
    • 十二、启动和关闭hadoop集群
      • 1. 关闭防火墙
      • 2. jps查看java进程
      • 3. 启动hadoop集群
        • 1) 启动hfds
        • 2)启动yarn
        • 3) 一键启动
    • 十三、关闭集群
      • 1. 关闭yarn集群
      • 2. 关闭hdfs
      • 3. 一键关闭
    • 十四、Hadoop集群测试
      • 1. 通过WebUI(图形界面)查看Hadoop的运行状态
        • 1) 查看hdfs的webui
        • 2) 查看yarn的web UI
      • 2. hdfs的shell命令的使用
      • 3. mapreduce的体验测试
        • 1) 首先创建多个包含单词的文件
        • 2) 在hdfs上创建一个input文件夹,并把上述两个文本文件上传到该文件夹
        • 3) 执行单词计数的mapreduce程序
        • 4) 解决配置错误,修改mapred-site.xml配置文件
        • 5) 关闭hadoop,再重启
        • 6) 重新执行单词计数的mapreduce程序
        • 7) 查看结果
      • 4. mapreduce的计数圆周率的测试
      • 5.问题解决

Hadoop高手之路3-Hadoop集群搭建

一、集群的规划

需要三台服务器(虚拟机)

服务器hadoop001hadoop002hadoop003
NameNode
SecondaryNameNode
DataNode
ResourceManager
NodeManager

二、再准备两台虚拟机作为服务器

1. 根据hadoop001克隆出hadoop002和hadoop003

选择完整克隆

image-20221017103004015

image-20221017103117278

2. 配置hadoop002和hadoop003

1) 启动hadoop002虚拟机并登录

image-20221017103413114

2) 配置ip地址

image-20221017104615272

image-20221017104658866

3) 重启网络服务器,查看ip

image-20221017104911599

4) 远程连接hadoop002

image-20221017105007846

image-20221017105045735

image-20221017105205703

5) 修改主机名为hadoop002

image-20221017105404626

image-20221017105446173

再登录

image-20221017105513876

6) 用同样的方法操作一遍hadoop003

image-20221017105745356

image-20221017105837769

image-20221017110002990

image-20221017110100710

image-20221017110210087

image-20221017110255656

image-20221017110446005

image-20221017110514796

三、建立主机名和ip地址的映射关系

1. 修改hadoop001的hosts文件

image-20221017111034943

image-20221017110857664

保存退出,并测试连通性

image-20221017111223421

2. 复制hadoop001的/etc/hosts到hadoop002和hadoop003

主机之间的文件复制使用命令scp

image-20221017111627976

3. 测试各主机之间的连通性

在hadoop001上已做

在hadoop002上

image-20221017111745562

在hadoop003上

image-20221017111853036

4. 本地windows主机和各虚拟机的映射关系

image-20221017112012931

测试连通性

image-20221017112125220

image-20221017112804137

image-20221017112909268

5. 测试各虚拟机跟外网的连通性

image-20221017113225106

image-20221017113245440

四、各主机之间的SSH免密登录

1. 查看hadoop的密钥存放文件夹

在hadoop001上进行操作

image-20221017115823557

2. 生成密钥

使用的命令ssh-keygen生成密钥,id_rsa为私钥

image-20221017120101000

id_rsa.pub是公钥

image-20221017120145353

3. 复制生成的密钥文件到其他主机(包括hadoop001自己)

1) hadoop001免密登录hadoop001

image-20221017120607362

2)hadoop001免密登录hadoop002

image-20221017120723522

在hadoop002上进行查看

image-20221017120833663

3)hadoop001免密登录hadoop003

image-20221017121024111

在hadoop003上进行查看

image-20221017121052968

在hadoop002和hadoop003上也进行同样的操作

4) hadoop002免密登录hadoop001

image-20221017121345923

5) hadoop002免密登录hadoop002

image-20221017121503338

6) hadoop002免密登录hadoop003

image-20221017121603667

7) hadoop003免密登录hadoop001

image-20221017121805502

8) hadoop003免密登录hadoop002

在这里插入图片描述

9) hadoop003免密登录hadoop003

image-20221017122048363

五、安装上传下载的小工具

Lrzsz

image-20221017122322727

image-20221017122614791

六、JDK的安装

JDK是java的开发工具包,hadoop是用java开发的,所以需要安装jdk

1. 下载JDK

image-20221017122720826

2. 上传到服务器

要上传到以下文件夹

image-20221017131328630

将jdk拖动到software文件夹下

image-20221017170608074

image-20221017170823697

3.解压

image-20221017171750542

image-20221017172036945

image-20221017172213253

image-20221017172308542

4.配置环境变量

修改/etc/profile,在文件末尾添加如下内容

image-20221017173225556

5.使环境变量起作用

image-20221017173816388

6. 分发hadoop001上的jdk到hadoop002和hadoop003上

image-20221017174028793

image-20221017174049212

7. 分发hadoop001的/etc/profile到hadoop002和hadoop003上

image-20221017174249251

8. 使hadoop002和hadoop003的环境变量起作用

image-20221017174438016

image-20221017174527761

小技巧:发送命令给所有的节点

image-20221017175048822

image-20221017175203167

image-20221017175442107

七、安装notepad++的插件

image-20221017175858190

安装nppftp插件

image-20221017175953290

image-20221017180052386

使用该插件

image-20221017180245852

image-20221017180347685

image-20221017180512879

image-20221017180626446

image-20221017180654400

image-20221017180717755

image-20221017180814965

八、Hadoop的安装

1. hadoop集群的安装模式

1) 独立模式standalone

又称单机模式,所有的进程运行在一台主机上

2) 伪分布模式 pseudodistributed

在一台主机模拟多主机

3) 完全分布模式 fulldistributed

守护进程运行在由多台主机搭建的集群上,是真正的生产环境

2. 下载hadoop

image-20221017181029462

image-20221017181038162

image-20221017181047350

image-20221017181054422

image-20221017181119683

3. 上传到服务器

image-20221017181444076

image-20221017181636884

4. 也可以通过centos的wget命令直接下载到服务器

image-20221017181707363

image-20221017181934966

image-20221017182624751

5.解压

image-20221017183418954

image-20221017183610119

image-20221017184647337

6. 配置环境变量

image-20221017184743667

image-20221017185055746

7. 使配置起作用

image-20221017185147827

8. 测试

image-20221017185230429

9. hadoop的命令说明

bin子目录下

image-20221017185817960

sbin子目录下

image-20221017190108283

九、hadoop的独立模式启动

不做任何配置,直接启动hadoop集群就是独立模式

1. 启动集群命令sbin目录下,start-all.sh

image-20221017190228572

出现提示,需要配置hadoop的环境

2. 配置hadoop

image-20221017191034342

3. 配置hadoop的环境变量

可以通过vi直接进行修改环境配置文件

image-20221019181621596

image-20221019181702803

也可以通过notepad++的插件进行编辑环境配置文件

image-20221019182133717

image-20221019183512993

image-20221019183023633

4. 在启动hadoop独立模式之前用jps查看java进程

image-20221019183238772

5. 再次启动hadoop独立模式

image-20221019184038893

并没有启动独立模式,也就是启动独立模式也需要对hadoop进行配置

十、Hadoop集群配置

在hadoop001上进行配置

1. hadoop的配置文件

image-20221017191034342

2. 修改hadoop-env.sh文件

配置JAVA_HOME,在第54行左右

image-20221021100857209

配置操作用户

image-20221019183023633

3. 修改core-site.xml文件

image-20221019205739202

4. 修改hdfs-site.xml文件

在这里插入图片描述

5. 修改mapred-site.xml文件

image-20221019212604800

6. 修改yarn-site.xml文件

image-20221019212750927

7. 修改workers文件

image-20221019212858370

8. 分发hadoop目录到hadoop002和hadoop003上

注意前面的集群配置错误要重新分法相应的文件。

image-20221019203354448

image-20221019203338370

9. 分发环境变量配置文件到hadoop002和hadoop003上

image-20221019203817612

10. 使hadoop002和hadoop003上的环境变量起作用

image-20221019204056005

11. 测试hadoop是否安装正确

image-20221019204258651

十一、hadoop集群的文件系统格式化

在启动hadoop集群之前,需要对主节点hadoop001进行格式化

hadoop namenode -format

也可以用

hdfs namenode -format

在集群格式化之前,/export/data文件夹为空

image-20221019204755801

格式化集群

在这里插入图片描述

image-20221019210754507

此时的hadoop存储目录结构

image-20221019212222986

十二、启动和关闭hadoop集群

一键启动或者分布启动

1. 关闭防火墙

image-20221020082530750

image-20221020083053231

2. jps查看java进程

image-20221019213326926

3. 启动hadoop集群

分布启动

1) 启动hfds

image-20221020092140945

image-20221020092201339

image-20221020092219915

2)启动yarn

image-20221020093901209

在这里插入图片描述

image-20221020094009865

说明hadoop集群启动成功

3) 一键启动

image-20221020101423178

image-20221020101535964

image-20221020101553443

十三、关闭集群

1. 关闭yarn集群

image-20221020101753179

image-20221020101840148

image-20221020102228635

2. 关闭hdfs

image-20221020102405621

3. 一键关闭

image-20221020102728680

十四、Hadoop集群测试

1. 通过WebUI(图形界面)查看Hadoop的运行状态

Hadoop集群启动后,默认开发了9870端口(hadoop3.0以上版本,老版本使用50070)用于监控hdfs,8088用于监控yarn,可以通过WebUI查看

1) 查看hdfs的webui

在浏览器的地址栏中输入

http://hadoop001:9870

image-20221020103312686

image-20221020103548682

2) 查看yarn的web UI

在浏览器地址栏中输入

http://hadoop001:8088

image-20221020103808626

2. hdfs的shell命令的使用

hdfs通过了一些命令来对hdfs进行操作,类似于linux的命令,两种格式:

  • hadoop fs 命令
  • hdfs dfs 命令

image-20221020105543407

image-20221020105837709

webui查看

image-20221020110335064

image-20221020110508701

image-20221020110543176

3. mapreduce的体验测试

单词计数的案例

1) 首先创建多个包含单词的文件

image-20221020111148079

image-20221020111020807

image-20221020111131511

2) 在hdfs上创建一个input文件夹,并把上述两个文本文件上传到该文件夹

image-20221020111737782

可以看到,文件已经上传到服务器上了。

image-20221020111804340

3) 执行单词计数的mapreduce程序

image-20221020112105177

添加执行权限

image-20221020113050203

image-20221021120148268

这里output文件夹不用提前创建,否则会报错。

执行出现错误提示:

image-20221021120231986

4) 解决配置错误,修改mapred-site.xml配置文件

image-20221021121440264

分发到其他主机

image-20221021121851228

5) 关闭hadoop,再重启

image-20221021122324589

6) 重新执行单词计数的mapreduce程序

若目录下存在 output 文件夹需要进行删除

image-20221021123533732

重新执行命令

image-20221021124548300

image-20221021124634266

查看yarn的webui

image-20221021124854331

7) 查看结果

hdfs的webui

image-20221021125012620

下载结果后查看

image-20221021125227252

下载结果后查看

image-20221021125536683

也可以通过命令行查看结果

image-20221021130055267

image-20221021130200036

image-20221021130311542

也可以下载下来查看

image-20221021130611537

4. mapreduce的计数圆周率的测试

计算圆周率也是在跟单词计数在同一个jar包中

image-20221021130945260

image-20221021131010292

image-20221021131054223

通过这个案例可以看出,圆周率的精度很低,mapreduce不善于数据计算,而在于数据的分析

5.问题解决

若出现内存溢出问题:

image-20221021131204162

需要修改yarn-site.xml文件

image-20221021131243935

修改完成后,分发到其他节点。

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

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

相关文章

数据库自增ID用完了会怎么样?

有主键 如果设置了主键,并且一般会把主键设置成自增。 Mysql里int类型是4个字节,如果有符号位的话就是[-231,231-1],无符号位的话最大值就是2^32-1,也就是4294967295。 创建一张表: CREATE TABLE test1 (id int(11…

人脸识别技术趋势与发展

人脸辨识 —— 引人入胜 很少有生物辨识技术能像脸部辨识那样激发我们的想象力。 同样,它的到来在 2020 年引发了深刻的担忧和令人惊讶的反应。 脸部辨识的工作原理 脸部辨识是使用脸部辨识或验证人的身份的过程。它根据人的脸部细节捕获、分析和比较模式。 人…

Restful风格的编程

Restful风格的编程1、 Restful简介2、查询用户以及用户详情2.1常用注解2.2查询用户详情3、处理创建请求3.1RequestBody注解3.1.1用途3.1.2语法规范3.2日期类型的处理3.3BindingResult4、用户信息修改与删除4.1用户信息修改4.2案例前端界面后端控制器1、 Restful简介 Restful比…

剑指offer(C++)-JZ69:跳台阶(算法-动态规划)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法&…

【JavaSE】类与对象(上)类是什么?对象是什么?

文章目录面向过程与面向对象认识类和对象创建类类的实例化内存分布注意事项总结面向过程与面向对象 我们说C语言是面向过程的编程语言,而Java是面向对象的编程语言,那究竟什么才是面向过程与面向对象呢?我们举一个例子来帮助大家理解&#x…

PX4飞行测试

文章目录前言一、首次飞行指南飞行入门解锁飞机起飞降落飞行控制/命令辅助飞行任务飞行规划任务设置机体航向设置航点/转弯半径地理围栏故障保护地理围栏地理围栏规划安全点(集结点)创建/定义安全点地形跟随/保持地形跟随地形保持前言 本节包含有关飞行(完全配置过…

虚拟主播也带货?直播电商的变与不变

5月6日晚,海外虚拟主播vox在B站开启了中国直播首秀。从最终数据来看,直播1.7小时,营收111万人民币,当晚还登上平台热门首位,这样的直播吸金能力,让不少明星都望尘莫及。 更值得关注的是,直播间…

Matlab:表达式

Matlab:表达式变量数字矩阵运算符数组运算符函数表达式示例变量 与大多数其他编程语言一样,MATLAB 语言提供数学表达式,但与大多数编程语言不同的是,这些表达式涉及整个矩阵。 MATLAB 不需要任何类型声明或维度说明。当 MATLAB …

PyCharm 这40个使用技巧真棒

大家好,今天分享 PyCharm 40个使用技巧,内容有点长,喜欢欢迎收藏、分享、点赞。 废话不多说。我们开始吧! 文章目录技术提升第一章:运行调试篇1\. 通过指定参数,执行程序2\. 程序结束了,照样可…

Vue 3 属性绑定细节

在ButtonDemo中默认会把传给这个组件上的所有事件,都传递给Button中的最外层的元素 不管这个最外层的元素是什么!比如下图:在button外面还有一个div,那么传递给最外层的就应该是div,而不是button 最外层为div 想让组件的某一个部分,点击时被触发click事件 现在传递给最…

LeetCode-764. 最大加号标志【动态规划,二维数组】

LeetCode-764. 最大加号标志【动态规划,二维数组】题目描述:解题思路一:动态规划。用一个n*n的数组记录每个点上下左右方向上为1的最小值。最后ans返回数组中最大的加号。解题思路二:优化1。解题思路三:0题目描述&…

word制作多个单位联合发文的文件头

一、前言 word制作多个单位联合发文的文件头,好像不难。但是做起来,却发现,自己的只是储备还是不够,居然花费了1个多小时才搞定....哎 二、遇到问题 开始思路是想使用【分栏】来操作,但是不得其法,搞了一…

驱动开发基础知识

文章目录记录驱动开发前的知识储备工作一、驱动开发环境搭建二、驱动开发框架(重点:WDF框架)1、前世今生(1)Vista简介(2)发展历史2、基于框架的驱动程序的 WDM(1)驱动程序…

linux(1.nginx基础 2.使用Nginx负载均衡及动静分离)

一.nginx基础 目录 1. Nginx使用场景2. Nginx中的进程 2.1 Nginx中的多进程模型2.2 多进程模式的优点:2.3 缓存3. Ngnix的负载均衡策略 3.1 轮询法3.2 加权轮询3.3 原地址哈希3.4 最小连接数法3.5 Fair3.6 url_hash3. Nginx配置文件4. Nginxtomcat 集群示例 4.1 下…

c++学习-STL常用函数

第八部分-STL常用函数 5.1 常用遍历算法 5.1.1 for_each 5.1.2 transform 5.2 常用查找算法 5.2.1 find 5.2.2 find_if 5.2.3 adjacent_find 面试题中如果出现查找相邻重复元素,记得用stl中的adjacent_find算法 5.2.4 binary_search 5.2.5 count 5.2.6 count_if 5.…

【双十一特辑】爱心代码(程序员的浪漫)-李峋

前言 最近《点燃我温暖你》中李峋的爱心代码超级火,看着特别心动,这不,光棍节快到了,给兄弟们教学一波爱心代码,赶在双十一前表白,让这个双十一不在是孤单一个人!目录 前言 C语言简易爱心代码…

final 关键字 —— 限制继承、限制虚函数重写

final 关键字有两个作用,一个是限制继承,一个是限制重写。 目录 1、限制继承 (1) 基类的构造函数设为私有 (2) 基类类名后面加上 final 关键字修饰 2、限制虚函数重写 1、限制继承 限制继承有两种方式,一种是将基类的构造函数设为私有&am…

谷粒商城-基础篇(详细流程梳理+代码)

文章目录前言一、项目环境搭建1.1、安装virtualbox以及vagrant1.2、Docker安装MySQL与Redis1.3、前后端开发工具统一配置1.4、Git工具安装与配置1.5、Gitee创建仓库与IDEA导入1.6、构建微服务模块1.7、编写.gitignore文件(忽略上传gitee文件配置)1.8、数…

【云原生之K8s】 K8s资源控制及探针检查

文章目录一、资源限制1.资源限制的使用2.request资源(请求)和limit资源(约束)3.Pod和容器的资源请求和限制4.官方文档示例5.资源限制实操5.1 编写yaml资源配置清单5.2 释放内存(node节点,以node1为例&#…

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

人生苦短,我用Python前因后果先上效果准备工作证件照尺寸调整证件照背景调整各种背景颜色图片完整代码结尾最后前因后果 事情是这样的 晚上我正在聚精会神写代码(打游戏~) 突然,收到学妹给我发来的消息 还有一张自拍照 而且是…