Hdfs&MapReduce测试

测试 上传文件到hdfs

随意打开一个文件夹传一个文件试试(把javafx-src.zip传到hdfs的/根目录下):hadoop fs -put javafx-src.zip hdfs://node01:9000/

用客户端(windows主机)浏览器打开 http://node01:50070 能看到这文件(当然,先要在windows配置下hosts,加一行node01 192.168.216.100)

测试 运行一个MapReduce程序

cd hadoop-3.0.0/share/hadoop/mapreduce 有个example程序jar包

hadoop jar hadoop-mapreduce-examples-3.0.0.jar pi 5 5 运行其中一个pi程序,参数是map的任务数量和每个map的取样数

运行失败,log如下

Current usage: 38.3 MB of 1 GB physical memory used; 2.5 GB of 2.1 GB virtual memory used. Killing container.

解决方案:https://blog.csdn.net/paicMis/article/details/73477019 按照这个的方法三,到mapred-site.xml中设置map和reduce任务的内存配置

我设置的参数如下:

<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property> <property>
<name>mapreduce.reduce.memory.mb</name>
<value>4096</value>
</property> <property>
<name>mapred.child.java.opts</name>
<value>-Xmx1024M</value>
</property> <property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property> <property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2048M</value>
</property>

再次运行成功。

Hdfs的实现思想粗略

  1. hdfs是通过分布式集群来存储文件,但为客户端提供了一个便捷的访问方式(一个虚拟的目录结构)
  2. 文件存储到hdfs集群中去的时候是被切分成block的(由客户端负责切分)
  3. 文件的block存放在若干台datanode节点上(由hdfs负责拷贝和互传,拷贝出来的第一个副本会优先放在另一个机架上)
  4. hdfs文件系统中的文件与真实的block之间的映射关系,用namenode管理
  5. 每一个block在集群中会存储多个副本,可以提高数据的可靠性和访问的吞吐量,提高并发能力

Hdfs的shell操作

基本跟linux上的shell操作类似。hadoop fs(file system)-xx

最常用的shell指令:

hadoop fs -ls
hadoop fs -cat
hadoop fs -put
hadoop fs -get

试试看查看文件

[thousfeet@node01 mapreduce]$ hadoop fs -ls /
Found 5 items
-rw-r--r-- 1 thousfeet supergroup 5202881 2018-03-23 11:30 /javafx-src.zip
drwxr-xr-x - thousfeet supergroup 0 2018-03-23 15:30 /output
drwx------ - thousfeet supergroup 0 2018-03-23 11:42 /tmp
drwxr-xr-x - thousfeet supergroup 0 2018-03-23 11:42 /user
drwxr-xr-x - thousfeet supergroup 0 2018-03-23 12:08 /wordcount

第二列的 1 表示这个文件在hdfs中的副本数,文件夹是元数据是个虚拟的东西,所以没有副本

最新文章

  1. 使用C# 和Consul进行分布式系统协调
  2. 什么是F#
  3. ServiceBase 备份
  4. svchost占用内存达1-2G的问题
  5. 51NOD1433] 0和5(数论,规律)
  6. av_interleaved_write_frame 网络不好的情况下返回较慢
  7. myeclipse 右键 Add Struts... 页面报404 错误
  8. 使用Thinkphp框架开发移动端接口
  9. 驱动里执行应用层代码之KeUserModeCallBack(WOW64是由三个动态库wow64.dll wow64win.dll wow64cpu.dll来实现)
  10. lnmp安装fileinfo扩展
  11. error: ‘shared_ptr’ in namespace ‘std’ does not name a type
  12. Java 集合 HashMap &amp; HashSet 拾遗
  13. 手动安装cloudera manager 5.x(tar包方式)详解
  14. Uva 12171 Sculpture - 离散化 + floodfill
  15. RDB持久化
  16. npm tls证书报错
  17. 注意@&#160;Override不同版本的区别
  18. [BZOJ1196][HNOI2006]公路修建问题 二分答案+最小生成树
  19. 自定义配置编译linux内核
  20. 大数据实时计算工程师/Hadoop工程师/数据分析师职业路线图

热门文章

  1. 09 jdk1.5的并发容器:ConcurrentHashMap
  2. MYSQL5.7 sql_mode=only_full_group_by
  3. 第十四章、Linux 账号管理与 ACL 权限配置
  4. [Mysql 查询语句]——对查询结果进一步的操作
  5. IOS9网络请求报错:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
  6. 使用 Angular 和 RxJS 实现的无限滚动加载
  7. 整理一些前端开发比较好的node包
  8. DB常见问题排查方法
  9. html之内容解析
  10. DES c#加密后java解密