Linux-Hadoop集群配置

news2024/11/25 0:39:55

文章目录

  • 一、配置Hadoop集群
    • 1、在master虚拟机上配置hadoop
      • (1)编辑Hadoop环境配置文件 - hadoop-env.sh
      • (2)编辑Hadoop核心配置文件 - core-site.xml
      • (3)编辑HDFS配置文件 - hdfs-site.xml
      • (4)编辑MapReduce配置文件 - mapred-site.xml
      • (5)编辑yarn配置文件 - yarn-site.xml
      • (6)编辑workers文件确定数据节点
    • 2、在slave1虚拟机上安装配置hadoop
      • (1)将master虚拟机上的hadoop分发到slave1虚拟机
      • (2)将master虚拟机上环境配置文件分发到slave1虚拟机
      • (3)在slave1虚拟机上让环境配置生效
    • 3、在slave2虚拟机上安装配置hadoop
      • (1)将master虚拟机上的hadoop分发到slave2虚拟机
      • (2)将master虚拟机上环境配置文件分发到slave2虚拟机
      • (3)在slave2虚拟机上让环境配置生效
  • 二、格式化文件系统
  • 三、启动和关闭Hadoop集群
    • 1、主节点上启动hadoop集群
      • (1)启动hdfs服务
      • (2)启动yarn服务
    • 2、主节点上停止Hadoop集群

一、配置Hadoop集群

Hadoop的配置文件都在$HADOOP_HOME/etc/hadoop目录里

配置文件功能描述
hadoop-env.sh配置Hadoop运行所需的环境变量
yarn-env.sh配置Yarn运行所需的环境变量
core-site.xmlHadoop核心全局配置文件,可在其他配置文件中引用
hdfs-site.xmlHDFS配置文件,继承core-site.xml配置文件
mapred-site.xmlMapReduce配置文件,继承core-site.xml配置文件
yarn-site.xmlYarn配置文件,继承core-site.xml配置文件
workers配置从节点文件

1、在master虚拟机上配置hadoop

(1)编辑Hadoop环境配置文件 - hadoop-env.sh

  • 执行命令:cd $HADOOP_HOME/etc/hadoop,进入hadoop配置目录
    请添加图片描述

  • 执行命令:vim hadoop-env.sh,添加三条环境变量配置(其实只需要添加第三条,因为前两条已经在/etc/profile里配置过了)
    请添加图片描述

export JAVA_HOME=/usr/local/jdk1.8.0_231 
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  • 存盘退出后,执行命令source hadoop-env.sh,让配置生效
    请添加图片描述

  • 查看三个配置的三个环境变量

(2)编辑Hadoop核心配置文件 - core-site.xml

  • 执行命令:vim core-site.xml
    请添加图片描述请添加图片描述
<configuration>
    <!--用来指定hdfs的老大-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!--用来指定hadoop运行时产生文件的存放目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp</value>
    </property>    
</configuration>
  • 由于配置了IP地址主机名映射,因此配置HDFS老大节点可用hdfs://master:9000,否则必须用IP地址hdfs://192.168.1.101:9000
    请添加图片描述

(3)编辑HDFS配置文件 - hdfs-site.xml

  • 执行命令:vim hdfs-site.xml
    请添加图片描述

  • 可以不用设置名称节点的目录、数据节点的目录以及辅助名称节点

<configuration>
    <!--设置名称节点的目录-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/namenode</value>
    </property>
    <!--设置数据节点的目录-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/datanode</value>
    </property>
    <!--设置辅助名称节点-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <!--hdfs web的地址,默认为9870,可不配置-->
    <!--注意如果使用hadoop2,默认为50070-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>0.0.0.0:9870</value>
    </property>
    <!--副本数,默认为3,可不配置-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--是否启用hdfs权限,当值为false时,代表关闭-->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
</configuration>

(4)编辑MapReduce配置文件 - mapred-site.xml

  • 执行命令:vim mapred-site.xml
    请添加图片描述
<configuration>
    <!--配置MR资源调度框架YARN-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
</configuration>

后三个属性如果不设置,在运行Hadoop自带示例的词频统计时,会报错:Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

(5)编辑yarn配置文件 - yarn-site.xml

  • 执行命令:vim yarn-site.xml
    请添加图片描述
<configuration>
    <!--配置资源管理器:集群master-->
    <property>        
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <!--配置节点管理器上运行的附加服务-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--关闭虚拟内存检测,在虚拟机环境中不做配置会报错-->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>

(6)编辑workers文件确定数据节点

  • hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件
  • 通过workers文件定义数据节点,根据集群规划,三个节点都要作为数据节点
  • 执行命令:vim workers
    请添加图片描述

这样集群总共有3个数据节点,正好跟副本数配置的3一致。

2、在slave1虚拟机上安装配置hadoop

(1)将master虚拟机上的hadoop分发到slave1虚拟机

  • 执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME
    请添加图片描述

  • 在slave1虚拟机上查看分发的hadoop
    请添加图片描述

(2)将master虚拟机上环境配置文件分发到slave1虚拟机

  • 执行命令:scp /etc/profile root@slave1:/etc/profile
    请添加图片描述

(3)在slave1虚拟机上让环境配置生效

  • 切换到slave1虚拟机,执行命令:source /etc/profile
    请添加图片描述

3、在slave2虚拟机上安装配置hadoop

(1)将master虚拟机上的hadoop分发到slave2虚拟机

  • 执行命令:scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME
    请添加图片描述

  • 在slave2虚拟机上查看分发的hadoop
    请添加图片描述

(2)将master虚拟机上环境配置文件分发到slave2虚拟机

  • 执行命令:scp /etc/profile root@slave2:/etc/profile
    请添加图片描述

(3)在slave2虚拟机上让环境配置生效

  • 切换到slave2虚拟机,执行命令:source /etc/profile
    请添加图片描述

二、格式化文件系统

  • 初次启动HDFS集群时,必须对主节点进行格式化处理。
    执行命令:hdfs namenode -format
    请添加图片描述

  • 查看名称节点格式化成功的信息
    请添加图片描述

三、启动和关闭Hadoop集群

1、主节点上启动hadoop集群

  • 执行start-all.sh命令,一起启动hdfs和yarn服务,也可以分开启动两种服务。

(1)启动hdfs服务

  • 执行命令:start-dfs.sh
    请添加图片描述

一个名称节点(namenode)——老大,在master虚拟机上;三个数据节点(datanode)——小弟,在master、slave1与slave2虚拟机上。辅助名称节点(secondary namenode)的地址是master,因为在hdfs-site.xml文件里配置了辅助名称节点。
请添加图片描述

  • 查看master虚拟机上的进程
    请添加图片描述

  • 查看slave1虚拟机上的进程
    请添加图片描述

  • 查看slave2虚拟机上的进程
    请添加图片描述

(2)启动yarn服务

  • 执行命令:start-yarn.sh

请添加图片描述

启动了YARN守护进程;一个资源管理器(ResourceManager)在master虚拟机上,三个节点管理器(NodeManager)在master、slave1与slave2虚拟机上

  • 执行命令jps查看master虚拟机的进程
    请添加图片描述

  • 查看slave1和slave2上的进程,只有NodeManager和DataNode
    请添加图片描述
    请添加图片描述

  • 查看Hadoop服务进程总体状况
    请添加图片描述

2、主节点上停止Hadoop集群

  • 在master虚拟机上执行命令:stop-all.sh(相当于同时执行了stop-dfs.shstop-yarn.sh
    请添加图片描述

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

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

相关文章

1542_AURIX_TC275_CPU子系统_内核

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 我因为看了这个章节的开篇有些疑惑去看了内核手册&#xff0c;现在学习的进程终于又重新回归&#xff0c;回到了TC275这个MCU的学习上。 这里的几条笔记记录是隔了很久写的&#xff0c;前面…

【Java面试】HashMap死循环问题

问题 最近几道面试题被问了是否了解并发情况下JDK7中HashMap发生死循环&#xff0c;导致CPU占用100%的问题。 由于HashMap并非是线程安全的&#xff0c;所以在高并发的情况下必然会出现问题&#xff0c;这是一个普遍的问题。 如果是在单线程下使用HashMap&#xff0c;自然是没…

[MAUI] 开篇-初识MAUI

前言 在2020年5月, 微软宣布了MAUI跨平台框架, MAUI 是Xamarin.Forms演变而来, 这也就意味着, 如果你原来具备Xamarin.Forms开发经验, 你可以流畅的过渡到MAUI开发当中。 原本于2021年底发布的MAUI正式版被推迟到了2022年5月底发布。现在, 你目前可以通过安装VS2022 预览版进行…

Elasticsearch倒排索引

什么是正排索引&#xff1f; 如下图&#xff0c;有一张商品表&#xff08;tb_goods&#xff09;&#xff1a; 对于mysql数据库来说&#xff0c;肯定会给“id”创建主键索引&#xff0c;然后根据“id”来查询对应的商品信息&#xff0c;而这种情况就被称为“正排索引” 现在有…

eMagin:当月产百万片时,4K MicroOLED成本将不是问题

在今年2022 SID显示周期间&#xff0c;Micro OLED微显示模组厂商eMagin曾展示一款专为超短焦VR头显开发的4K Micro OLED微显示屏&#xff0c;有趣的是&#xff0c;该显示屏连接的主板上印有STEAMBOAT字样&#xff0c;让人不禁怀疑它与Valve之间是否存在某种联系。甚至有猜测认为…

【Linux】8.0 多线程

文章目录1.0 Linux线程概念1.1 Linux线程基本概念1.2 Linux线程优劣介绍2.0 Linux线程控制2.1 pthread_create(创建线程)2.2 pthread_join(线程等待)2.3 pthread_exit(线程终止)2.4 pthread_detach(线程分离)3.0 线程id和LWP的关系4.0 Linux线程互斥4.1 线程互斥相关概念4.2 线…

JUC系列(五) 读写锁与阻塞队列

&#x1f4e3; &#x1f4e3; &#x1f4e3; &#x1f4e2;&#x1f4e2;&#x1f4e2; ☀️☀️你好啊&#xff01;小伙伴&#xff0c;我是小冷。是一个兴趣驱动自学练习两年半的的Java工程师。 &#x1f4d2; 一位十分喜欢将知识分享出来的Java博主⭐️⭐️⭐️&#xff0c;擅…

Qt第二十六章:Nuitka打包教程

Nuitka环境安装 ①下载gcc文件。提取码&#xff1a;8888百度网盘 请输入提取码 ②解压nuitka1.0.6版本&#xff0c;我们解压64位的。 ③设置环境变量 ④检测一下 gcc.exe --version 安装nuitka pip install nuitka pip install ordered-set 防止环境变量不生效&#xff0c;…

【Redis】Redis介绍

文章目录1.NoSQL数据库1.1NoSQL适用场景1.2常用的NoSQL1.3Redis介绍1.4Redis的使用场景1.5Redis默认按照目录1.6Redis的启动1.7Redis是单线程多路IO复用技术1.NoSQL数据库 NoSQL(NoSQL Not Only SQL )&#xff0c;意即“不仅仅是SQL”&#xff0c;泛指非关系型的数据库。 NoS…

学生HTML个人网页作业作品 (服装商城HTML+CSS)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 在线商城购物 | 水果商城 | 商城系统建设 | 多平台移动商城 | H5微商城购物商城项目 | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&a…

RK3588平台开发系列讲解(Pinctrl篇)Pinctrl设备树介绍

平台内核版本安卓版本RK3588Linux 5.10Android12🚀返回专栏总目录 文章目录 一、 DTS介绍二、新建pinctrl三、引用pinctrl沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍pinctrl设备树的使用方法。 一、 DTS介绍 RK芯片的设备树⼀般把pinctrl节点放在soc…

元宇宙数字藏品,打造数字经济产业,实现全新业态升级

《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》提出以数字化转型整体驱动生产方式、生活方式和治理方式变革&#xff0c;催生新产业新业态新模式&#xff0c;壮大经济发展新引擎&#xff0c;将“虚拟现实和增强现实”列入了数字经济重点产业。 而自…

GAN生成漫画脸

最近对对抗生成网络GAN比较感兴趣&#xff0c;相关知识点文章还在编辑中&#xff0c;以下这个是一个练手的小项目~ (在原模型上做了&#xff0c;为了减少计算量让其好训练一些。) 一、导入工具包 import tensorflow as tf from tensorflow.keras import layersimport numpy a…

tinymce富文本编辑器做评论区

今天分享一下tinymce富文本编辑器做评论区的全过程。 文章目录一、介绍1.最终效果2.功能介绍3.主要项目包版本介绍&#xff1a;二、每个功能的实现1.自定义toolbar的功能区①对应的样式以及意义②对应的代码实现【忽略了一切非实现该功能的代码】2.展示、收起评论区①对应的样式…

ctf工具之:mitmproxy实践测试

1、安装居然使用的pip pip install mitmproxy 导入证书&#xff0c;密码为空 2、启用mitmweb pause 直接可以查看方式 搜索里输入login 对于http协议 直接看到了密码原文 3、后台日志方式 录入和回放 mitmdump -w baidu.txt pause 录制结束 mitmdump -nC baidu.txt paus…

如何设计可扩展架构

架构设计复杂度模型 业务复杂度和质量复杂度是正交的 业务复杂度 业务固有的复杂度&#xff0c;主要体现为难以理解、难以扩展&#xff0c;例如服务数量多、业务流程长、业务之间关系复杂 质量复杂度 高性能、高可用、成本、安全等质量属性的要求 架构复杂度应对之道 复杂…

MySQL备份与恢复

目录 一.数据备份的重要性 二.数据库备份的分类 2.1 物理备份 2.2 逻辑备份 2.3 完全备份&#xff08;只适合第一次&#xff09; 三.常见的备份方法 四.MySQL完全备份 4.1 MySQL完全备份优缺点 4.2 数据库完全备份分类 4.2.1 物理冷备份与恢复 五.完全备份 5.1 MySQ…

YOLO家族再度升级——阿里达摩院DAMO-YOLO重磅来袭

最近看到阿里达摩院发表了他们的最新研究成果&#xff0c;在YOLO系列上推出的新的模型DAMO-YOLO&#xff0c;还没有来得及去仔细了解一下&#xff0c;这里只是简单介绍下&#xff0c;后面有时间的话再详细研究下。 官方项目在这里&#xff0c;首页截图如下所示&#xff1a; 目…

ASEMI整流桥UD4KB100,UD4KB100体积,UD4KB100大小

编辑-Z ASEMI整流桥UD4KB100参数&#xff1a; 型号&#xff1a;UD4KB100 最大重复峰值反向电压&#xff08;VRRM&#xff09;&#xff1a;1000V 最大平均正向整流输出电流&#xff08;IF&#xff09;&#xff1a;4A 峰值正向浪涌电流&#xff08;IFSM&#xff09;&#xf…

堆(C语言实现)

文章目录&#xff1a;1.堆的概念2.堆的性质3.堆的结构4.接口实现4.1初始化堆4.2销毁堆4.3打印堆内元素4.4向上调整4.5向堆中插入数据4.6向下调整4.7删除堆顶元素4.8查看堆顶元素4.9统计堆内数据个数4.10判断堆是否为空4.11堆的构建1.堆的概念 如果有一个关键码的集合&#xff0…