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配置参数也非常多。
比如dfs.redoplication表示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&nb,大sp; "hdfs://localhost:8001/user/root" $ ./bin/hdfs dfs -mkdir -p test2 $ ./bin/hdfs dfs -put ~/test.log hdfs://localhost:8001/test 数据$ ./bin/hdfs dfs -put ~/test.log test2 $ ./bin/hdfs dfs -ls test2 $ ./bin/hdfs dfs -cat test2/test.log
接下去说说MapReduce,主要包含map和re离不duce过程,另外不能忘记shuffle,map相对于从hdfs dataNodes处理数据,然后shuffle将相关联的数据交给reduce进行处理。
运行MapReduce过程很简单:
$ bin/hdfs dfs -mkdir input $ bin/hdfs dfs -put etc/hadoop/*.xml input #开它 将mapreduce任务执行的结果放入 hdfs output 目录中 $ bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar grep input output 'dfs[a-z.]+' Habin/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 &nbopsp; 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/yarn 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
参考链接:
https://kontex开它t.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
- ·用Python进行人脸识别「包括源代码」
- ·借你吉吉什么梗
- ·App Annie:苹果谷歌应用商店一季度创收320亿美元 同比增长四成
- ·大数据安全分析之网络安全10大安全漏洞盘点
- ·莲藕排骨汤怎么做
- ·标签: 理想汽车 理想L9 马赫M100芯片 端侧AI
- ·Maia:模仿人类而非用来超越人类技能的国际象棋AI
- ·怎样最好地利用数据实现多样性、公平性和包容性
- ·标签: 微信支付 王鹏飞 微信红包 随机分配
- ·Salesforce 2023财年第四财季净亏损9800万美元 同比有所扩大
- ·标签: 腾讯 姚顺雨 OpenAI AI科学家
- ·“微软6月24日发布下一代Windows”上热搜 网友:来抢鸿蒙风头的吧?
- ·标签: 阿维塔12 荣耀Magic8 华为乾崑 天玑9500
- ·常用的清理 Kubernetes 集群资源命令
- ·标签: DeepSeek Engram 梁文锋 V4
- ·太天才了,把感知机组装在一起是不是就是神经网络了?
- ·https://www.tombow.com/en/search/快排霸屏软件【tg:seogoogle987】,bQh
- ·https://www.mdbg.net/chinese/dictionary?page=worddict&wdrst=0&wdqb=快排霸屏软件【tg:seogoogle987】,Rhk
- ·https://www.thealexandrian.net/?s=快排霸屏软件【tg:seogoogle987】,Jui
- ·https://www.openstreetmap.org/search?query=快排霸屏软件【tg:seogoogle987】,xUG
- ·https://www.lezhin.com/ko/tags/快排霸屏软件【tg:seogoogle987】,U0Y
- ·https://www.paspaley.com/catalogsearch/result/?action=QUERY&q=快排霸屏软件【tg:seogoogle987】,rs7
- ·https://www.udc.co.uk/index.php?route=product/search&sort=p.price&order=DESC&tag=快排霸屏软件【tg:seogoogle987】,dBj
- ·https://www.sic-info.org/en/?s=快排霸屏软件【tg:seogoogle987】,k0D
- ·https://www.teacherspayteachers.com/Browse/Price-Range/Free/Search:快排霸屏软件【tg:seogoogle987】,99Q
- ·https://www.monroecounty.gov/search/?q=快排霸屏软件【tg:seogoogle987】,XdV
- ·GitHub Copilot CLI公测上线:AI代理进驻终端,开发者告别编辑器切换烦恼
- ·标签: 小红书 AI托管 虚假互动 内容治理
- ·标签: 莱普科技 半导体设备 IPO 激光热处理
- ·开发人员如何理解kubernetes
- ·标签: 云深处 DEEP Robotics 中信建投 科创板
- ·Anthropic 的 Claude AI 正式上线 Xcode 26,助力开发者提升编码效率
- ·B 站开源文本转语音模型IndexTTS-2.0,情感与时长可控
- ·Opera 发布 2025 年第二季度财报:营收同比增长 30% AI 生态推动新增长周期
- ·京东成立数字经济公司,经营范围含云计算装备技术服务等
- ·苹果客服和游戏公司踢皮球?6岁儿童花8千充网游家长退款难
