在WSL中运行Hadoop并运行《Hadoop权威指南》中代码,以及笔记

安装参照的这篇博客:https://blog.csdn.net/winxblast/article/details/75000528

监控作业状态记录没有,参见:https://blog.csdn.net/tangtang5156/article/details/40867759

安装ssh服务:sudo apt-get install openssh-server

每次得重启下ssh服务:​​​sudo service ssh restart

然后用SSH软件连接WSL。

/opt/hadoop-2.7.4/sbin/start-all.sh 启动Hadoop。

windows的磁盘挂载在mnt下

 

查询HDFS根目录:hdfs dfs -ls /

创建新文件夹input:hdfs dfs -mkdir /user/root/input

上传文件夹到HDFS:hdfs dfs -put  ./input /user/root/

export HADOOP_CLASSPATH=ch02-mr-intro.jar

hadoop MaxTemperature input/ncdc/sample.txt output

查看结果:hdfs dfs -cat /user/root/output/part-r-00000

运行程序也可以 :

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-*-tests.jar minicluster(前提是没有第三方依赖)

 

笔记部分

MapReduce

分为两阶段,每阶段都以键-值对作为输入和输出。map函数是一个数据准备阶段、也能处理缺失值,reduce是数据处理阶段。

org.apache.hadoop.io包中有hadoop的数据类型,可见:https://www.cnblogs.com/anny-1980/articles/2608097.html

输入数据会分片(split),一般合理的分片大小趋于HDFS的一个块大小,默认是128MB,map任务将输出写入本地硬盘,因为是中间结果,reduce输出才写在HDFS上。

多个reduce任务会shuffle

combiner函数属于优化方案,在map和reduce之间,能帮助减少数据传输量。

HDFS

流式数据访问——一次写入、多次读取是最高效的访问模式。

HDFS是为高吞吐量应用优化的,低延迟的访问需求用HBase更好。

文件只支持单个写入者,且写操作总是以“只添加”的方式在文件末尾写数据。

数据块默认128MB,块比较大是为了最小化寻址开销。

对分布式文件系统中的块进行抽象的好处:1、一个文件的大小可以大于网络中任一个磁盘的容量。2、简化了存储子系统的设计。

高可用性

活动-备用namenode

ZooKeeper来确保有且仅有一个namenode,心跳机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值