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

比较全的博主

相关推荐
naierfengdian7 分钟前
分布式风电助力乡村能源转型的技术路径
分布式·能源
慧新软件16 分钟前
Google算法更新后,外贸SEO优化策略如何调整
大数据
xushichang123_1 小时前
如何观看 2026 亚马逊云科技中国峰会全场主题演讲与技术分论坛内容?
大数据·人工智能
hhzz1 小时前
《深度学习框架PyTorch入门与实践》系列:09-分布式与并行训练之DataParallel、DDP与Horovod
pytorch·分布式·深度学习
招财小梗1 小时前
AI矩阵获客,品牌连锁落地有啥方案?
大数据·人工智能·矩阵
黎子越2 小时前
大模型基础名词概念
大数据
zandy10112 小时前
主流 AI Agent搜索Skill推荐及高阶选型指南
大数据·人工智能
跨境卫士苏苏2 小时前
2026年做跨境电商,TikTok美区半托管这3个品类正在严查,第2个很多新手还在铺货
大数据·人工智能·跨境电商·营销策略
GIS数据转换器2 小时前
村镇无人机物流配送与跨域监测一体化平台
大数据·运维·人工智能·科技·无人机
知识燃料3 小时前
企业技术决策者落地 AI Agent 体系,AWS 中国峰会有哪些战略与工程内容可看?
大数据·人工智能