Hadoop,大数据离不开它
搭建数仓,hadoop虽然有点落伍,但还是不可或缺的。本文描述下单机版的hadoop运作机制。
HDFS是Google GFS的开源实现,是一个分布式文件系统,是大数据技术的基石,直接上架构图:
主要包含Namenode和Datanodes,MapReduce主要就是在Datanodes进行并行计算。
core-site.xml:
fs.defaultFS Ha; hdfs://localhost:8001 hadoop.tmp.dir /root/hadoop-3.2.2/tmp
其中8001端口就代表hdfs的根路径,另外hdfs-site.xml配置参数也非常多。
比如dfsdo.replication表示hdfs副本集,单机版就设置1;dfs.namenode.http-address是NameNode web管理地址,可以查看hdfs的一些情况;dfs.datanode.address是DataNode的端口;dfs.namenode.name.dir和dfs.namenode.data.dir表示Namenode和Datanodes的存储目录,默认继承于hadoop.tmp.dir值。
如果修改目录相关的op参数,需要格式化hdfs:
$ bin/hdfs namenode -format
经验就是建议删除dfs.namenode.data.dir下的文件,再格式化。
一旦hdfs可用,操作它们就像操作本地文件一样:
#创建登陆用户的根目录,有了根目录,则不需要指定hdfs://前缀 $ ./bin/hdfs dfs -mkdir -p&n,大bsp; "hdfs://localhost:8001/user/root" $ ./bin/hdfs dfs -mkdir -p test2 $ ./bin/hdfs dfs -put ~/test.log hdfs://localhost:8001/test&nbs数据p;$ ./bin/hdfs dfs -put ~/test.log test2 $ ./bin/hdfs dfs -ls test2 $ ./bin/hdfs dfs -cat test2/test.log
接下去说说MapReduce,主要包含ma离不p和reduce过程,另外不能忘记shuffle,map相对于从hdfs dataNodes处理数据,然后shuffle将相关联的数据交给reduce进行处理。
运行MapReduce过程很简单:
$ bin/hdfs dfs -mkdir input $ bin/hdfs dfs -put etc/hadoop/*.xml input&开它nbsp;# 将mapreduce任务执行的结果放入 hdfs output 目录中 $ bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar grep input output 'dfs[a-z.]+' Ha; bin/hdfs dfs -cat output/*
早期的MapReduce即包含计算框架,又包含调度框架,比较臃肿,比如想在当前集群运行另外一种计算任务,就不方便了,所以后来从MapReduce中将调度框架抽取出来,命名为Yarn,这样不管是MapReduce还是Spark只要符合Yarn接口定义,就能被Yarn调度,MR和Spark专做做分布式运算,相当于解耦了。
Yarn的do架构图如下:
主要包括ResourceManager和NodeManager,另外为了分布式运算NodeManager一般和HDFS的DataNodes运行在一起。
ResourceManager主要包含Scheduler和ApplicationsManager。
修改yarn-site.xml:
yarn.nodemanager.aux-services  op; mapreduce_shuffle yarn.resourcemanager.webapp.address 0.0.0.0:7088
其中,mapreduce_shuffle表示调度MapReduce任务,7088 是Yarn,大的Web管理地址;当然Yarn还有很多的参数。
修改 mapred-site.xml:
mapreduce.framework.name yarn
mapreduce.framework.name的值yarn表示MapReduce使用Yarn调度。
然后执行yarn调度:
$ bin/ya数据rn jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar grep input output 'dfs[a-z.]+'
只是将上面的hadoop修改为yarn,不过结果测试,不管怎么写,yarn都是生效的,通过yarn Web UI能看出来。
另外我是以root运行的,所以sbin下的一些sh离不文件要修改:
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=root HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
最后的启动命令:
$ ./sbin/start-all.sh $ ./sbin/stop-all.sh
参考链接:
http开它s://kontext.tech/column/hadoop/265/default-ports-used-by-hadoop-services-hdfs-mapreduce-yarn
https://hadoop.apache.org/docs/r3.2.2/hadoop-project-dist/hadoop-common/SingleCluster.html
相关文章

图灵奖得主理查德·萨顿:AI进入“经验时代”,人类数据红利正在枯竭
2025年9月11日上午,2025Inclusion·外滩大会在上海黄浦世博园区拉开帷幕。大会开幕主论坛上,2024年图灵奖得主、“强化学习之父”理查德·萨顿发表主旨演讲。他指出,人类数据红利正逼近极2026-11-16
云梦级4月3日云梦级消息,苏州天华新能源科技股份有限公司(简称:“天华新能”)日前发布财报。财报显示,天华新能2025年营收为75亿元。 天华新能成立于1997年,公司主要布局在新能源锂电池材料、防静2026-11-16
标签: 云英谷 AMOLED芯片 Micro-OLED 显示驱动
云梦级1月19日云梦级消息,云英谷科技股份有限公司(简称:“云英谷”)日前更新招股书,准备在港交所上市。云英谷是一家AMOLED显示驱动芯片设计企业,致力于为消费电子品牌公司提供可靠及高性能的显示驱动2026-11-16
云梦级11月11日云梦级消息,据韩国《每日经济新闻》报道,现代汽车为了加速自动驾驶技术的发展,主动向中国科技企业伸出“橄榄枝”。公司计划从原先的自主研发路线转向与全球领先企业合作,力争实现自动驾驶技术2026-11-16
日本版权协会要求 OpenAI 停止使用其作品进行 AI 训练
根据最新报道,日本的一家版权协会最近向 OpenAI 发出了一封信,呼吁这家人工智能公司停止在未获得授权的情况下,使用其成员的版权作品进行模型训练。这封信的发起者包括著名的动画制作公司吉卜力工作室,该2026-11-16
Liquid AI 推出 LFM2-VL:低延迟的超高效视觉语言模型
Liquid AI 正式推出 LFM2-VL,这是一款全新的视觉语言基础模型系列,专为低延迟和设备适应性部署而优化。此次发布的 LFM2-VL 模型包括两个高效的变体:LFM2-VL-450M 和 L2026-11-16

最新评论