阶段三:项目开发---大数据开发运行环境搭建:任务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…

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

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

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;解…

变长输入神经网络设计

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

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…

数据库之索引(三)

目录 一、简述索引实现的原理 二、简述数据库索引的重构过程 三、为什么MySQL的索引使用B树 四、简述联合索引的存储结构及其有效方式 五、MySQL的Hash索引和B树索引有何区别 一、简述索引实现的原理 在MySQL中&#xff0c;索引是在存储引擎层实现的&#xff0c;不同存储引…

Echarts:渲染成Canvas还是SVG,该如何抉择?

ECharts 从初始一直使用 Canvas 绘制图表。而 ECharts v4.0 发布了 SVG 渲染器&#xff0c;从而提供了一种新的选择。在初始化图表实例时&#xff0c;只需设置 renderer 参数 为 canvas 或 svg 即可指定渲染器&#xff0c;比较方便。贝格前端工场带领大家看下如何选择。 一、C…

如何使用HTML和JavaScript读取文件夹中的所有图片并显示RGB范围

如何使用HTML和JavaScript读取文件夹中的所有图片并显示RGB范围 在这篇博客中&#xff0c;我将介绍如何使用HTML和JavaScript读取文件夹中的所有图片&#xff0c;并显示这些图片以及它们的RGB范围。这个项目使用现代浏览器提供的<input type"file" webkitdirecto…

苹果电脑为什么要清理软件?

你有没有想过&#xff0c;你的苹果电脑也许是一个秘密的收藏家&#xff1f;没错&#xff0c;你的Mac可能在悄悄收集那些你曾经用过的每一个字节&#xff0c;从那次偶然下载的应用到你已经忘记了的各种文件。久而久之&#xff0c;这些“收藏品”就会堆积成山&#xff0c;让你的苹…

智能电表在碳中和实现过程中发挥什么作用

智能电表在碳中和实现过程中发挥着至关重要的作用&#xff0c;这些作用主要体现在提高碳排放计量的精准度、推动绿色能源转型、促进电力领域低碳发展等方面&#xff1b;随着技术的不断发展和应用的不断深入相信智能电表将在碳中和实现过程中发挥更加重要的作用。以下是对智能电…

开始尝试从0写一个项目--前端(二)

修改请求路径的位置 将后续以及之前的所有请求全都放在同一个文件夹里面 定义axios全局拦截器 为了后端每次请求都需要向后端传递jwt令牌检验 ps&#xff1a;愁死了&#xff0c;翻阅各种资料&#xff0c;可算是搞定了&#xff0c;哭死~~ src\utils\request.js import axio…

【最新鸿蒙应用开发】——Router页面路由

Router路由 页面路由指的是在应用程序中实现不同页面之间的跳转&#xff0c;以及数据传递。通过 Router 模块就可以实现这个功能. 1. 创建页面 之前是创建的文件&#xff0c;使用路由的时候需要创建页面&#xff0c;步骤略有不同 方法 1&#xff1a;直接右键新建Page&#xf…

Python28-10 LightGBM对乳腺癌数据集进行分类

LightGBM&#xff08;Light Gradient Boosting Machine&#xff09;是一个梯度提升框架&#xff0c;由微软开发。它用于机器学习中的分类、回归和排序等任务&#xff0c;特别适合处理大规模数据和高维特征。LightGBM的核心是梯度提升决策树&#xff08;GBDT&#xff09;算法&am…

虚拟现实3d场景漫游体验实现了“所见即所得”

如今&#xff0c;从实体店铺到工厂企业&#xff0c;再到政府单位&#xff0c;各行各业都已纷纷加入VR数字化升级的行列&#xff0c;相比传统的2D商品展示&#xff0c;三维交互展示成为商企客户交流的主流方式。产品展示、服务介绍、考察洽谈等都可以通过在3D虚拟场景网站中真实…

7月学术会议:7月可投的EI国际会议

随着科技的迅猛发展&#xff0c;学术交流与研讨成为了推动科研进步的重要途径。进入7月&#xff0c;众多高质量的EI国际会议纷纷拉开帷幕&#xff0c;为全球的科研工作者提供了一个展示研究成果、交流学术思想的平台。以下&#xff0c;我们将详细介绍一些在7月可投的EI国际会议…