阶段三:项目开发---大数据开发运行环境搭建:任务3:安装配置Hadoop集群

任务描述

知识点:安装配置Hadoop

重  点: 安装配置Hadoop

难  点:无

内  容

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

任务主要内容:

  • 下载安装Hadoop包
  • 配置系统环境变量
  • 配置Hadoop集群
  • HDFS相关配置

任务指导

安装配置Hadoop集群的主要步骤:

1、安装配置Hadoop

2、配置用户环境变量

3、配置Hadoop

  • 配置core-site.xml文件
  • 配置hdfs-site.xml文件
  • 配置mapred-site.xml文件
  • 配置yarn-site.xml文件
  • 配置slaves文件
  • 配置hadoop-env.sh文件

    更多配置文件的配置信息请参见官方网站的解释。 

4、启动集群并测试

任务实现

在node1服务器解压并配置完成后,再复制到其他的slave服务器。

1、安装配置Hadoop

  • 在node1节点上,进入/opt/software目录(此目录是为实验提供的安装软件所在目录,如果没有请自行到官方网站下载)

[root@node1 ~]# cd /opt/software
  • 将hadoop解压到/opt/module目录
[root@node1 software]# tar -xzf hadoop.tar.gz -C /opt/module/

2、配置Hadoop环境变量。

  • 输入【vi  /etc/profile】命令编辑文件,添加如下内容:
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  • 使用【source  /etc/profile】使配置文件生效。
[root@node1 software]# source /etc/profile
  • 将/etc/profile拷贝到其它所有机器上
[root@node1 software]# scp /etc/profile node2:/etc/
[root@node1 software]# scp /etc/profile node3:/etc/

3、修改Hadoop配置文件

1)进入hadoop 配置文件夹。

[root@node1 software]# cd $HADOOP_HOME/etc/hadoop

2)配置core-site.xml文件:

  • 使用【vi】命令,编辑core-site.xml文件
[root@node1 hadoop]# vi core-site.xml
  • 修改<configuration>标签及其内容如下:
<configuration> <property> <name>fs.defaultFS</name>  <value>hdfs://node1:9000</value> </property>  <property> <name>io.file.buffer.size</name>  <value>131072</value> </property>  <property> <name>hadoop.tmp.dir</name>  <value>/data/hadoop/tmp</value> </property> 
</configuration>

3)配置 hdfs-site.xml 文件:

  • 使用【vi】命令,编辑 hdfs-site.xml文件
[root@node1 hadoop]# vi hdfs-site.xml
  • 修改<configuration>标签及其内容如下:
<configuration> <!-- 设置namenode的http通讯地址 -->  <property> <name>dfs.namenode.http-address</name>  <value>node1:50070</value> </property>  <!-- 设置secondarynamenode的http通讯地址 -->  <property> <name>dfs.namenode.secondary.http-address</name>  <value>node2:50090</value> </property>  <property> <name>dfs.replication</name>  <value>1</value> </property>  <property> <name>dfs.namenode.name.dir</name>  <value>/data/hadoop/hdfs/nn</value> </property>  <property> <name>dfs.namenode.checkpoint.dir</name>  <value>/data/hadoop/hdfs/snn</value> </property>  <property> <name>dfs.namenode.checkpoint.edits.dir</name>  <value>/data/hadoop/hdfs/snn</value> </property>  <property> <name>dfs.datanode.data.dir</name>  <value>/data/hadoop/hdfs/dn</value> </property> 
</configuration>

4)配置 mapred-site.xml 文件。

  • 首先,输入【cp  mapred-site.xml.template  mapred-site.xml】命令,从mapred-site.xml.template模板文件复制一个新的文件,命名为mapred-site.xml。
# cp  mapred-site.xml.template  mapred-site.xml
  • 使用【vi】命令,编辑 mapred-site.xml文件
[root@node1 hadoop]# vi mapred-site.xml
  • 修改<configuration>标签及其内容如下:
<configuration> <property> <name>mapreduce.framework.name</name>  <value>yarn</value> </property>  <property> <name>dfs.permissions</name>  <value>false</value> </property>  <property> <name>mapreduce.jobhistory.address</name>  <value>node1:10020</value> </property>  <property> <name>mapreduce.jobhistory.webapp.address</name>  <value>node1:19888</value> </property> 
</configuration>

5)配置yarn-site.xml文件:

  • 使用【vi】命令,编辑 yarn-site.xml文件
[root@node1 hadoop]# vi yarn-site.xml
  • 修改<configuration>标签及其内容如下:
<configuration> <property> <name>yarn.nodemanager.aux-services</name>  <value>mapreduce_shuffle</value> </property>  <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>  <property> <name>yarn.resourcemanager.address</name>  <value>node1:8032</value> </property>  <property> <name>yarn.resourcemanager.scheduler.address</name>  <value>node1:8030</value> </property>  <property> <name>yarn.resourcemanager.resource-tracker.address</name>  <value>node1:8031</value> </property>  <property> <name>yarn.resourcemanager.admin.address</name>  <value>node1:8033</value> </property>  <property> <name>yarn.resourcemanager.webapp.address</name>  <value>node1:8088</value> </property> 
</configuration>

6)配置hadoop-env.sh、yarn-env.sh、mapred-env.sh文件的JAVA_HOME变量。如果不设置,可能会无法正常启动集群。

  • 输入【vi  hadoop-env.sh】打开配置文件,加入JAVA_HOME环境变量。
……
# The java implementation to use.
export JAVA_HOME=/opt/module/jdk1.8.0_301
# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
  • 输入【vi yarn-env.sh】打开配置文件,加入JAVA_HOME环境变量。

  • 输入【vi  mapred-env.sh】打开配置文件,加入JAVA_HOME环境变量。

7)输入【vi slaves】配置slaves文件,删除默认的localhost,增加2个从节点的IP地址或host主机名。

node2
node3

8)将配置好的Hadoop复制到其他节点对应位置上,通过scp命令发送。

[root@node1 hadoop]# scp -rq /opt/module/hadoop node2:/opt/module/
[root@node1 hadoop]# scp -rq /opt/module/hadoop node3:/opt/module/

4、启动Hadoop集群并测试

  • 在node1上,格式化Hadoop的namenode
[root@node1 hadoop]# hdfs namenode -format

格式化完成后会显示“successfully formatted.”,如下图所示:

  • 在node1节点上,启动Hadoop
[root@node1 hadoop]# start-all.sh

启动后可以看到控制台打印信息显示在node1节点上启动了 namenode、resourcemanager两个进程,在node2节点上启动了 datanode、nodemanager、secondarynamenode三个进程,在node3节点上启动了 datanode、nodemanager两个进程。 

  • 使用【jps】命令,在node1节点上可以看到namenode、ResourceManager进程

  • 使用【jps】命令,在node2节点上可以看到DataNode、NodeManager、SecondaryNameNode进程

  • 使用【jps】命令,在node3节点上可以看到DataNode、NodeManager进程

  • 在client节点上,可以通过浏览器访问HDFS和YARN的Web监控页面,如已配置了hosts映射可直接通过机器名访问,未配置本机hosts映射需要通过IP地址访问,HDFS和YARN的Web监控页面端口如下:

HDFS:http://node1:50070

YARN:http://node1:8088

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

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

相关文章

Linux系统编程——线程控制

目录 一&#xff0c;关于线程控制 二&#xff0c;线程创建 2.1 pthread_create函数 2.2 ps命令查看线程信息 三&#xff0c;线程等待 3.1 pthread_join函数 3.2 创建多个线程 3.3 pthread_join第二个参数 四&#xff0c;线程终止 4.1 关于线程终止 4.2 pthread_exit…

【软件设计师】九、数据流图、UML图

知识点1&#xff1a;数据流图 数据路流图亦称为数据流程图&#xff0c;一种便于用户理解&#xff0c;分析系统数据流称的图形工具&#xff1b;买哦书系统的功能&#xff0c;输入&#xff0c;输出&#xff0c;数据存储等&#xff1b; 知识点2&#xff1a;数据字典 数据流&…

深度学习 - 模型剪枝技术详解

模型剪枝简介 模型剪枝&#xff08;Model Pruning&#xff09;是一种通过减少模型参数来降低模型复杂性的方法&#xff0c;从而加快推理速度并减少内存消耗&#xff0c;同时尽量不显著降低模型性能。这种技术特别适用于资源受限的设备&#xff0c;如移动设备和嵌入式系统。模型…

提示词工程课程,白嫖A100活动课程

扫下面二维码即可参加 免费使用A100&#xff0c;学习大模型相关知识&#xff01; 前置知识&#xff1a; 内容来源&#xff1a;Docs 模型设置 在使用提示词的时候&#xff0c;您会通过 API 或者网页版与大语言模型进行交互&#xff0c;将这些参数、设置调整到最佳程度会提高使…

面试题 12. 矩阵中的路径

矩阵中的路径 题目描述示例 题解 题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0…

14-47 剑和诗人21 - 2024年如何打造AI创业公司

​​​​​ 2024 年&#xff0c;随着人工智能继续快速发展并融入几乎所有行业&#xff0c;创建一家人工智能初创公司将带来巨大的机遇。然而&#xff0c;在吸引资金、招聘人才、开发专有技术以及将产品推向市场方面&#xff0c;人工智能初创公司也面临着相当大的挑战。 让我来…

UML中用例和用例图的概念

用例 用例模型的基本组成部分有用例、参与者&#xff08;或角色&#xff09;和系统。用例用于描述系统的功能&#xff0c;也就是从用户的角度来说&#xff0c;系统具体应包含哪些功能&#xff0c;从而帮助分析人员理解系统的行为。它是对系统功能的宏观的、整体的描述。一个完…

idea中的块映射中的子元素无效

在yml文件中&#xff0c;出现块映射中的子元素无效&#xff0c;如图&#xff1a; 在YAML文件中&#xff0c;通常需要在键和值之间添加空格&#xff0c;以确保文件的可读性和正确解析。一些YAML解析器可能要求在冒号后面必须有空格才能正确解析文件。如果不加空格&#xff0c;解…

TEE开发Secure driver介绍-TEE安全驱动/trustzone

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】:【精选】TEE从入门到精通-[目录] 👈👈👈思考: 如何开发一个TA? sdk又是什么?开发一个TA的流程是怎样的?How to do?有关TA的签名介绍TEE开发Secure driver介绍RP…

RedHat运维-Linux存储管理基础3-创建并扩展逻辑卷

逻辑卷的核心&#xff1a;____________________________________________&#xff1b; 逻辑卷的核心&#xff1a;____________________________________________&#xff1b; 逻辑卷的核心&#xff1a;____________________________________________&#xff1b; 1. 已知/dev/s…

使用Zipkin与Spring Cloud Sleuth进行分布式跟踪

在微服务架构中&#xff0c;服务之间的调用链路可能非常复杂&#xff0c;这使得问题定位和性能优化变得困难。为了解决这个问题&#xff0c;我们可以使用分布式跟踪系统来监控和诊断整个微服务架构中的请求链路。Zipkin和Spring Cloud Sleuth是两个非常流行的工具&#xff0c;它…

华为HCIP Datacom H12-821 卷32

1、默认情况下&#xff0c;IS-IS Leve1-1-2路由器会将Leve1-2区域的明细路由信息发布到Level-1区域、保证level-1区域的路由器能够正常访问骨干区域的设备 A、对 B、错 正确答案&#xff1a; B 解析&#xff1a;不会发布&#xff0c;需要用到路由泄露。 2、BGP在建立邻居…

JAVA中关于compareTo方法的原理深挖

一、compareTo()方法 在深挖compareTo方法前&#xff0c;首先我们需要了解compareTo方法的来龙去脉。compareTo方法的目的是用来比较两个对象的大小的。假如有两个对象a1&#xff0c;a2。包含姓名&#xff0c;年龄&#xff0c;身高三个属性&#xff0c;现在要求根据年龄或者性…

变长输入神经网络设计

我对使用 PyTorch 可以轻松构建动态神经网络的想法很感兴趣&#xff0c;因此我决定尝试一下。 我脑海中的应用程序具有可变数量的相同类型的输入。对于可变数量的输入&#xff0c;已经使用了循环或递归神经网络。但是&#xff0c;这些结构在给定行的输入之间施加了一些顺序或层…

使用 Conda 管理 Python 环境的详细指南

使用 Conda 管理 Python 环境的详细指南 在安装 Python 时&#xff0c;我们通常会选择 Anaconda 作为管理工具&#xff0c;因为它不仅提供了 Python 的安装包&#xff0c;还集成了许多常用的库和工具&#xff0c;非常适合数据科学和机器学习的工作。Conda 是 Anaconda 中的一个…

Unity3D项目中如何正确使用Lua详解

引言 在Unity3D游戏开发中&#xff0c;Lua作为一种轻量级、灵活且易于学习的脚本语言&#xff0c;被广泛用于游戏逻辑编写、扩展和定制。Lua的集成不仅提高了游戏开发的效率和灵活性&#xff0c;还方便了游戏后期的维护和更新。本文将详细介绍如何在Unity3D项目中正确使用Lua&…

Hugging Face使用笔记

1. HuggingFace简介 Hugging Face Hub和 Github 类似&#xff0c;都是Hub(社区)。Hugging Face可以说的上是机器学习界的Github。Hugging Face为用户提供了以下主要功能&#xff1a; 模型仓库&#xff08;Model Repository&#xff09;&#xff1a;Git仓库可以让你管理代码版…

kei5l中不能跳转到函数定义的原因和个人遇到的问题

快捷键 CTRLK或F12&#xff0c;在选择要查看的函数定义时按下可以查看到&#xff08;文件没问题的情况下&#xff09; 出现不能查看的原因 1&#xff0c;没有设置生成文件信息&#xff08;第一次打开工程常遇到问题&#xff09; 2, 定义函数的代码没有加入工程 解决方式如下…

南大通用数据库-Gbase-8a-学习-44-DDLEVENT恢复

目录 一、环境信息 二、前景提要 1、情况描述 2、3号节点gc_recover日志截图 3、3号节点express日志截图 4、ddlevent截图 5、报错赋权语句分别在1节点和4节点执行 6、gcadmin 三、解决方法 1、描述 2、清理系统user表DDLEVENT 3、拷贝系统user表数据 &#xff08;…

3.js - 灯光与阴影 - 聚光灯

// ts-nocheckimport * as THREE from three // 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls // 导入hdr加载器 import { RGBELoader } from three/examples/jsm/loaders/RGBELoader.js // 导入lil.gui import { GUI } from thre…