hadoop

一、安装单机(用来测试)

shell 复制代码
docker run -i -t -p 50070:50070 -p 9000:9000 -p 8088:8088 -p 8040:8040 -p 8042:8042 -p 49707:49707 -p 50010:50010 -p 50075:50075 -p 50090:50090 sequenceiq/hadoop-docker:latest 
 /etc/bootstrap.sh -bash

-p 50070:50070: 这将容器内的端口50070映射到主机上的端口50070。通常情况下,端口50070用于Hadoop的NameNode Web界面,可以通过主机的http://localhost:50070来访问。
-p 9000:9000: 这将容器内的端口9000映射到主机上的端口9000。通常情况下,端口9000用于Hadoop的HDFS(分布式文件系统)访问。
-p 8088:8088: 这将容器内的端口8088映射到主机上的端口8088。通常情况下,端口8088用于Hadoop的ResourceManager Web界面,可以通过主机的http://localhost:8088来访问。
-p 8040:8040: 这将容器内的端口8040映射到主机上的端口8040。通常情况下,端口8040用于Hadoop的ResourceManager通信。
-p 8042:8042: 这将容器内的端口8042映射到主机上的端口8042。通常情况下,端口8042用于Hadoop的NodeManager Web界面,可以通过主机的http://localhost:8042来访问。
-p 49707:49707: 这将容器内的端口49707映射到主机上的端口49707。这个端口可能是特定于容器的应用程序或服务所需的端口,具体取决于容器中运行的内容。
-p 50010:50010: 这将容器内的端口50010映射到主机上的端口50010。通常情况下,端口50010用于Hadoop的DataNode通信。
-p 50075:50075: 这将容器内的端口50075映射到主机上的端口50075。通常情况下,端口50075用于Hadoop的DataNode Web界面,可以通过主机的http://localhost:50075来访问。
-p 50090:50090: 这将容器内的端口50090映射到主机上的端口50090。通常情况下,端口50090用于Hadoop的SecondaryNameNode Web界面,可以通过主机的http://localhost:50090来访问。

  1. 进入容器配置全局变量
shell 复制代码
docker exec -it hadoop /bin/bash
echo $HADOOP_PREFIX # 记录下来hadoop的路径
  1. 修改变量
shell 复制代码
vi /etc/profile.d/my_env.sh

my_env.sh内容如下

shell 复制代码
export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin
  1. 刷新环境变量
shell 复制代码
source /etc/profile

二、组件介绍

Apache Hadoop是一个用于分布式存储和处理大规模数据的开源框架。它由多个组件组成,每个组件都有不同的功能和任务。以下是Hadoop的主要组件以及它们的作用:

Hadoop分布式文件系统(HDFS - Hadoop Distributed File System):

HDFS是Hadoop的存储组件,用于存储大规模数据集。它分布在多个计算节点上,并提供高容错性。HDFS将大文件切分成小块(块大小通常为128 MB或256 MB),并复制到不同的节点上以确保数据的可用性和容错性。
MapReduce:

MapReduce是Hadoop的计算模型和处理引擎,用于处理和分析存储在HDFS中的数据。它包括两个主要任务:Map任务用于数据的分割、排序和过滤,Reduce任务用于对分割后的数据进行汇总和计算。MapReduce可以处理大规模的数据并实现并行化计算。
YARN(Yet Another Resource Negotiator):

YARN是Hadoop的资源管理器,用于管理集群上的计算资源。它允许多个应用程序同时在Hadoop集群上运行,以有效地管理资源和调度任务。YARN替代了早期版本的Hadoop中的JobTracker和TaskTracker。
Hadoop Common:

Hadoop Common包含Hadoop框架中共享的工具和库。这些工具和库为其他Hadoop组件提供支持,包括分布式文件访问、安全性、日志记录等。
Hadoop MapReduce 2(MRv2):

MRv2是Hadoop的MapReduce计算框架的第二代。它是基于YARN构建的,具有更高的灵活性和扩展性,允许多个计算框架与Hadoop共享资源。
Hive:

Hive是一个数据仓库工具,它提供了SQL样式的查询语言(HiveQL),允许用户查询和分析存储在HDFS中的数据。Hive将查询转换为MapReduce任务或Tez任务来执行。
Pig:

Pig是一个数据流语言和编译器,用于执行Hadoop数据处理任务。它提供了一种用于处理大规模数据的高级编程接口。
HBase:

HBase是一个分布式、可扩展的NoSQL数据库,适用于存储大规模的结构化数据。它提供了实时读写访问,并具有高可用性。
ZooKeeper:

ZooKeeper是一个分布式协调服务,用于管理和维护Hadoop集群中各个节点的配置和状态信息。它帮助在分布式环境中实现同步和协调。

三、使用小案例

查看路径进入路径

shell 复制代码
env
# 或者
echo $HADOOP_PREFIX
shell 复制代码
cd $(echo $HADOOP_PREFIX)

创建文件造数据

shell 复制代码
mkdir wcinput
cd wcinput
vim word.txt

word.txt随便给点数据

shell 复制代码
ss ss
cls cls
banzhang
bobo
yangge

来到hadoop目录

shelll 复制代码
cd $(echo $HADOOP_PREFIX)

执行

shell 复制代码
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar wordcount wcinput/ wcinput/wcoutput
# wordcount命令
# wcinput要计算参数的文件夹位置
# wcinput/wcoutput解析出来的结果  要求wcoutput目录没有存在如果存在就报错

如果报错请查看这篇链接

结果解释

shell 复制代码
cd wcinput/wcoutput/
ls
# 目录下_SUCCESS  part-r-00000
# _SUCCESS  为标记并媒有数据
# part-r-00000 为结果
cat part-r-00000

比较全的博主

相关推荐
wWYy.5 分钟前
分布式:数据复制
分布式
ifenxi爱分析1 小时前
爱分析最新报告解读:AI数据基础设施与数据中台的区别
大数据·人工智能
品牌全球行2 小时前
共商共建共享 链接数字未来——“一带一路数字新城(深圳)会客厅筹备办”揭牌仪式在深圳隆重举行
大数据·人工智能
数智化管理手记3 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
ApacheSeaTunnel4 小时前
Apache SeaTunnel AI CLI Benchmark:7 款大模型、100 个 ETL 任务实测,谁真正能跑起来?
大数据·ai·开源·大模型·数据集成·cli·seatunnel·技术分享·数据同步
电商API_180079052474 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
小稻穗5 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
极光代码工作室5 小时前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
wuhanzhanhui6 小时前
从高强钢到碳纤维!2026武汉汽车材料轻量化制造技术展会,重塑未来造车新范式
大数据·汽车·制造
lupai6 小时前
手机在网状态查询 API 新手实战指南
大数据·python·智能手机