大数据基础设施搭建 - Hadoop

文章目录

  • 一、下载安装包
  • 二、上传压缩包
  • 三、解压压缩包
  • 四、配置环境变量
  • 五、测试Hadoop
    • 5.1 测试hadoop命令
    • 5.2 测试wordcount案例
      • 5.2.1 创建wordcount输入文本信息
      • 5.2.2 执行程序
      • 5.2.3 查看结果
  • 六、分发压缩包到集群中其他机器
    • 6.1 分发压缩包
    • 6.2 解压压缩包
    • 6.3 配置环境变量
  • 七、配置集群
    • 7.1 核心配置文件
    • 7.2 HDFS配置文件
    • 7.3 YARN配置文件
    • 7.4 MapReduce配置文件
    • 7.5 分发配置文件
  • 八、启动集群
    • 8.1 编辑workers文件确定数据节点
    • 8.2 启动集群
      • 步骤1: 格式化NameNode(首次启动集群时)
      • 步骤2:启动HDFS
      • 步骤3:启动YARN
      • 步骤4:测试WEB访问
        • (1)配置阿里云安全组
        • (2)浏览器访问
  • 九、测试集群
    • 9.1 上传文件
    • 9.2 查看文件
    • 9.3 下载文件
    • 9.4 执行程序
  • 十、配置历史服务器
    • 10.1 修改配置文件
    • 10.2 分发配置文件
    • 10.3 启动历史服务器
    • 10.4 访问WEB
  • 十一、配置日志的聚集
    • 11.1 修改配置文件
    • 11.2 分发配置文件
    • 11.3 重启NM、RM、HistoryServer
    • 11.4 测试
      • (1)删除HDFS已经存在的输出文件
      • (2)执行WordCount程序
      • (3)查看日志

一、下载安装包

https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/

二、上传压缩包

使用普通账号,上传到/opt/software目录

三、解压压缩包

使用普通账号

[hadoop@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

四、配置环境变量

[hadoop@hadoop102 software]$ sudo vim /etc/profile.d/my_env.sh

新增内容:

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

让新的环境变量PATH生效:

[hadoop@hadoop102 hadoop-3.1.3]$ source /etc/profile

五、测试Hadoop

5.1 测试hadoop命令

[hadoop@hadoop102 hadoop-3.1.3]$ hadoop version

5.2 测试wordcount案例

5.2.1 创建wordcount输入文本信息

[hadoop@hadoop102 hadoop-3.1.3]$ mkdir wcinput
[hadoop@hadoop102 hadoop-3.1.3]$ cd wcinput/
[hadoop@hadoop102 wcinput]$ vim word.txt

内容:

hadoop yarn
hadoop mapreduce
vimgo
jbl jbl jbl

5.2.2 执行程序

[hadoop@hadoop102 hadoop-3.1.3]$ cd /opt/module/hadoop-3.1.3
[hadoop@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput/ wcoutput/

5.2.3 查看结果

[hadoop@hadoop102 hadoop-3.1.3]$ cd wcoutput/
[hadoop@hadoop102 wcoutput]$ cat part-r-00000
hadoop	2
jbl	3
mapreduce	1
vimgo	1
yarn	1

六、分发压缩包到集群中其他机器

6.1 分发压缩包

[hadoop@hadoop102 module]$ cd /opt/software/
[hadoop@hadoop102 software]$ mytools_rsync hadoop-3.1.3.tar.gz

6.2 解压压缩包

同第三步骤

6.3 配置环境变量

同第四步骤

七、配置集群

有两种类型的配置文件:*-default.xml 和 *-site.xml。 *-site.xml 中的配置项覆盖 *-default.xml的相同配置项。

7.1 核心配置文件

core-default.xml:默认的核心Hadoop属性配置文件。该配置文件位于下面的JAR文件中:hadoop-common-x.x.x.jar

[hadoop@hadoop102 software]$ cd $HADOOP_HOME/etc/hadoop
[hadoop@hadoop102 hadoop]$ vim core-site.xml

新增内容:

	<!-- 指定NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop102:9820</value></property><!-- 指定hadoop数据的存储目录 --><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value></property><!-- 配置HDFS网页登录使用的静态用户为hadoop --><property><name>hadoop.http.staticuser.user</name><value>hadoop</value></property><!-- 配置该hadoop用户(superUser)允许通过代理访问的主机节点 --><property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value></property><!-- 配置该hadoop用户(superUser)允许通过代理用户所属组 --><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property><!-- 配置该hadoop用户(superUser)允许通过代理的用户--><property><name>hadoop.proxyuser.hadoop.users</name><value>*</value></property>

说明:

fs.defaultFS:文件系统地址。可以是HDFS,也可以是ViewFS等其他文件系统。
hadoop.tmp.dir:默认值为/tmp/hadoop-${user.name}。比如跑MR时生成的临时路径本质上其实就是生成在它的下面,当然如果你不想也可以去更改 mapred-site.xml 文件。再比如,如果你不配置namenode和datanode的数据存储路径,那么默认情况下,存储路径会放在hadoop.tmp.dir所指路径下的dfs路径中。
hadoop.http.staticuser.user:默认值是dr.who。需要调整为启动HDFS的用户(普通用户/root),才能访问(增删文件/文件夹)WEB HDFS。
代理配置:hadoop.proxyuser.hadoop.hosts必须配,hadoop.proxyuser.hadoop.groups和hadoop.proxyuser.hadoop.users至少配置一个。如果不配置代理会有什么问题?????
hadoop.proxyuser.hadoop.hosts和hadoop.proxyuser.hadoop.users:本案例配置表示允许用户hadoop,在任意主机节点,代理任意用户。

7.2 HDFS配置文件

hdfs-default.xml:默认的HDFS属性配置文件。该配置文件位于下面的JAR文件中:hadoop-hdfs-x.x.x.jar

[hadoop@hadoop102 hadoop]$ vim hdfs-site.xml

新增内容:

	<!-- nn web端访问地址--><property><name>dfs.namenode.http-address</name><value>hadoop102:9870</value></property><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop104:9868</value></property>

7.3 YARN配置文件

yarn-default.xml:默认的YARN属性配置文件。该配置文件位于下面的JAR文件中:hadoop-yarn-common-x.x.x.jar

[hadoop@hadoop102 hadoop]$ vim yarn-site.xml

新增内容:

	<!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value></property><!-- 环境变量的继承 --><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property><!-- yarn容器允许分配的最大最小内存 --><property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>4096</value></property><!-- yarn容器允许管理的物理内存大小 --><property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value></property><!-- 关闭yarn对物理内存和虚拟内存的限制检查 --><property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value></property><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property>

说明:

yarn.nodemanager.env-whitelist:默认JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ
yarn.scheduler.minimum-allocation-mb:单位为MB

7.4 MapReduce配置文件

mapred-default.xml:默认的MapReduce属性配置文件。该配置文件位于下面的JAR文件中:hadoop-mapreduce-client-core-x.x.x.jar

[hadoop@hadoop102 hadoop]$ vim mapred-site.xml

新增内容:

	<!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property>

说明:

mapreduce.framework.name 默认值为 local,设置为 yarn,让 MapReduce 程序运行 在 YARN 框架上。

7.5 分发配置文件

[hadoop@hadoop102 hadoop]$ mytools_rsync /opt/module/hadoop-3.1.3/etc/hadoop/

八、启动集群

8.1 编辑workers文件确定数据节点

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

[hadoop@hadoop102 hadoop]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/workers

内容:

hadoop102
hadoop103
hadoop104

同步到所有节点:

[hadoop@hadoop102 hadoop]$ mytools_rsync /opt/module/hadoop-3.1.3/etc/

8.2 启动集群

步骤1: 格式化NameNode(首次启动集群时)

注意:在NameNode所在节点(core-site.xml中配置的)执行命令

原因:先前在care_site.xml中配置了文件系统为HDFS,HDFS类似一块磁盘,初次使用硬盘需要格式化,让存储空间明白该按什么方式组织存储数据。

[hadoop@hadoop102 hadoop-3.1.3]$ hdfs namenode -format

看到下图样例代表格式化成功
在这里插入图片描述
在这里插入图片描述

步骤2:启动HDFS

注意:在NameNode所在节点执行命令

[hadoop@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh

步骤3:启动YARN

注意:在ResourceManager所在节点(yarn-site.xml中配置的)执行命令

[hadoop@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

步骤4:测试WEB访问

(1)配置阿里云安全组

查看本机ip:百度搜索ip
配置阿里云安全组放开ip + 端口
配置本机hosts文件:用swichhosts配置

(2)浏览器访问

Web端查看HDFS的NameNode:http://hadoop102:9870
Web端查看YARN的ResourceManager:http://hadoop103:8088

九、测试集群

9.1 上传文件

上传小文件:

[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -put /opt/module/hadoop-3.1.3/wcinput/word.txt /input

上传大文件:

[hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -put /opt/software/jdk-8u291-linux-x64.tar.gz /

9.2 查看文件

[hadoop@hadoop102 subdir0]$ cat /opt/module/hadoop-3.1.3/data/dfs/data/current/BP-343847855-172.28.76.203-1700227787497/current/finalized/subdir0/subdir0/blk_1073741825

9.3 下载文件

[hadoop@hadoop102 software]$ cd /opt/software/test_tmp
[hadoop@hadoop102 test_tmp]$ hadoop fs -get /input ./

9.4 执行程序

[hadoop@hadoop102 software]$ cd /opt/module/hadoop-3.1.3/
[hadoop@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

查看执行结果(通过WEB页面下载执行结果文件):

配置安全组:放开9864端口
访问HDFS WEB下载文件

查看执行结果(在服务器上直接查看文件):

cat /opt/module/hadoop-3.1.3/data/xxx

十、配置历史服务器

10.1 修改配置文件

10.2 分发配置文件

10.3 启动历史服务器

10.4 访问WEB

十一、配置日志的聚集

注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryServer。

11.1 修改配置文件

11.2 分发配置文件

11.3 重启NM、RM、HistoryServer

11.4 测试

(1)删除HDFS已经存在的输出文件

(2)执行WordCount程序

(3)查看日志

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

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

相关文章

Go ZIP压缩文件读写操作

创建zip文件 golang提供了archive/zip包来处理zip压缩文件&#xff0c;下面通过一个简单的示例来展示golang如何创建zip压缩文件&#xff1a; func createZip(filename string) {// 缓存压缩文件内容buf : new(bytes.Buffer)// 创建zipwriter : zip.NewWriter(buf)defer writ…

flowable消息事件

一&#xff1a;启动事件 定义消息。 引用消息。 <startEvent id"msgStart" name"消息启动事件" isInterrupting"true"><messageEventDefinition messageRef"myMsgStart"></messageEventDefinition> </startE…

【ROS导航Navigation】五 | 导航相关的消息 | 地图 | 里程计 | 坐标变换 | 定位 | 目标点和路径规划 | 激光雷达 | 相机

致谢&#xff1a;ROS赵虚左老师 Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 参考赵虚左老师的实战教程 一、地图 nav_msgs/MapMetaData 地图元数据&#xff0c;包括地图的宽度、高度、分辨率等。 nav_msgs/OccupancyGrid 地图栅格数据&#…

reactive和effect,依赖收集触发依赖

通过上一篇文章已经初始化项目&#xff0c;集成了ts和jest。本篇实现Vue3中响应式模块里的reactive方法。 前置知识要求 如果你熟练掌握Map, Set, Proxy, Reflect&#xff0c;可直接跳过这部分。 Map Map是一种用于存储键值对的集合&#xff0c;并且能够记住键的原始插入顺…

【6】Spring Boot 3 集成组件:knift4j+springdoc+swagger3

目录 【6】Spring Boot 3 集成组件&#xff1a;knift4jspringdocswagger3OpenApi规范SpringFox Swagger3SpringFox工具&#xff08;不推荐&#xff09; Springdoc&#xff08;推荐&#xff09;从SpringFox迁移引入依赖配置jAVA Config 配置扩展配置&#xff1a;spring securit…

Linux安装DMETL5与卸载

Linux安装DMETL5与卸载 环境介绍1 DM8数据库配置1.1 DM8数据库安装1.2 初始化达梦数据库1.3 创建DMETL使用的数据库用户 2 配置DMETL52.1 解压DMETL5安装包2.2 安装调度器2.3 安装执行器2.4 安装管理器2.5 启动dmetl5 调度器2.6 启动dmetl5 执行器2.7 启动dmetl5 管理器2.8 查看…

计算机毕业设计选题推荐-一周穿搭推荐微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

系列二十六、idea安装javap -c

一、概述 javap -c是一个能够将.java文件反编译为.class文件的指令&#xff0c;例如我在idea中编写了一个Car.java文件&#xff0c;我想看看这个类被编译后长什么样的&#xff0c;就可以使用该指令进行查看。 二、配置 2.1、 Java Bytecode Decompiler File>Settings>Pl…

TMS320F28335使用多个串口时,SCIRXST Register出现错误

TMS320F28335使用多个串口时&#xff0c;SCIRXST Register出现错误 void ClearErrorState(void) {if((SciaRegs.SCIRXST.bit.FE 1)||(SciaRegs.SCIRXST.bit.BRKDT 1)){SciaRegs.SCICTL1.bit.SWRESET 0;SciaRegs.SCICTL1.bit.SWRESET 1;}if((ScibRegs.SCIRXST.bit.FE 1)||(S…

报错资源不足,k8s使用containerd运行容器修改挂载点根目录换成/home

运行k8s一段时间发现存储不足报错 发现这里用的是根路径的挂载&#xff0c;修改一下

交易者最看重什么?anzo Capital这点最重要!

交易者最看重什么&#xff1f;有人会说技术&#xff0c;有人会说交易策略&#xff0c;有人会说盈利&#xff0c;但anzo Capital认为Vishal 最看重的应该是眼睛吧&#xff01; 29岁的Vishal Agraval在9年前因某种原因失去了视力&#xff0c;然而&#xff0c;他的失明并未能阻…

Databend 与海外某电信签约:共创海外电信数据仓库新纪元

为什么选择 Databend 海外某电信面临的主要挑战是随着业务量的增加&#xff0c;传统的 Clickhouse Hive 方案在数据存储和处理上开始显露不足。 原来的大数据分析采用的 Clickhouse Hive 方案进行离线的实时报表。但随着业务量的上升后&#xff0c;Hive的数据存储压力变大&…

LangGPT作者教你编写高质量提示词

CoT和ToT能够提升表现&#xff0c;但是会使得模型的使用变复杂。在对话的场景下容易消耗人的耐心&#xff1b;实际应用的场景下&#xff0c;比较消耗人的token。 还有一点需要说明的是&#xff0c;我们在写自己的prompt的时候&#xff0c;不应该盲目地追求和堆砌提示词技巧&am…

Linux(3):Linux 的文件权限与目录配置

把具有相同的账户放入到一个组里面&#xff0c;这个组就是这两个账户的 群组 。在访问资源&#xff08;操作系统中计算机的资源&#xff09;时&#xff0c;可以让这个组里面的所有用户都具有访问权限。 每个账号都可以有多个群组的支持。 在我们Liux 系统当中&#xff0c;默认的…

Opencv!!在树莓派上安装Opencv!

一、更新树莓派系统 sudo apt-get update sudo apt-get upgrade二、安装python-opencv sudo apt-get install libopencv-dev sudo apt-get install python3-opencv三、查看是否安装成功 按以下命令顺序执行&#xff1a; python import cv2 cv2.__version__如果出现版本号&a…

遥感领域最热门的研究主题介绍

遥感是有效地直接从地球收集数据的最重要技术之一。由于生态信息科学的进步&#xff0c;遥感技术在日常生活的多个研究方面变得非常有价值&#xff0c;其中包括大气物理学、生态学、土壤和水污染、土壤科学、地质学、火山爆发和地球演化。以下是遥感领域的主要趋势研究主题&…

flink中配置Rockdb的重要配置项

背景 由于我们在flink中使用了状态比较大&#xff0c;无法完全把状态数据存放到tm的堆内存中&#xff0c;所以我们选择了把状态存放到rockdb上&#xff0c;也就是使用rockdb作为状态后端存储,本文就是简单记录下使用rockdb状态后端存储的几个重要的配置项 使用rockdb状态后端…

分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测

分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测 目录 分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1…

pycharm pro v2023.2.4(Python编辑开发)

PyCharm2023是一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门为Python编程语言设计。以下是PyCharm2023的一些主要功能和特点&#xff1a; 代码编辑器&#xff1a;PyCharm2023提供了一个功能强大的代码编辑器&#xff0c;支持语法高亮、自动补全、代码调试、版…

JSplacement丨随机生成置换贴图

界面很简单&#xff0c;虽然是英文&#xff0c;但基本也能看懂&#xff0c;参数调一调&#xff0c;随机生成不重复的8K高清图片。 这种图片可能对普通人感觉很奇怪&#xff0c;有什么用呢&#xff1f;会C4D建模渲染的同学应该会明白&#xff0c;特别是建一些科技类的场景背景&a…