码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Hadoop高手之路3-Hadoop集群搭建


    文章目录

    • 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

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

  • 相关阅读:
    ubuntu、linux in window安装docker教程
    nginx重要配置参数
    一周活动速递|Paper Time第五期;技术征文大赛即将收官
    RSAUtil 前端 JavaScript JSEncrypt 实现 RSA (长文本)加密解密
    Android P 禁用非官方API
    Python读取postgresql数据库
    C#:实现判断整数是否是2的N次方算法(附完整源码)
    【Windows 常用工具系列 13 -- Confluence 如何快速输入代码块 code block】
    如何写一个合格的API文档
    java面试技巧-职业规划有技巧
  • 原文地址:https://blog.csdn.net/W_chuanqi/article/details/127750901
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号