博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop伪分布式的搭建
阅读量:5262 次
发布时间:2019-06-14

本文共 4314 字,大约阅读时间需要 14 分钟。

一、简述

在centos7 Linux下进行伪分布式搭建。Hadoop 伪分布式模式是在单机上模拟 Hadoop 分布式,单机上的分布式并不是真正的伪分布式,而是使用线程模拟分布式。Hadoop 本身是无法区分伪分布式和分布式的,两种配置也很相似,唯一不同的地方是伪分布式是在单机器上配置,数据节点和名字节点均是一个机器。虽然Hadoop的安装步骤并不复杂,但是我在安装期间还是遇到了很多琐碎的问题,现将自己搭建Hadoop的详细过程和遇到的问题记录下来。完全分布式就是一个hadoop集群,有n台机器组成,一般组织方式是:一台机器作为master,上面 运行    namenode和jobtracker,另外的机器作为slave,上面运行datanode和tasktracker,至于secondaryname,可以运行在master上,也可以运行在另外一台机器上。secondaryname是namenode的一个备份里面同样保存了名字空间,和文件到文件块的map关系。建议运行在另外一台机器上,这样master死掉之后,还可以通过secondaryname所在的机器找回名字空间,和文件到文件块得map关系数据,恢复namenode。

二、 环境搭建

1.准备工作

主机名称 系统 jdk hadoop
hadoop centos7 jdk1.8+ hadoop-2.7.3

2.开始安装

1.关闭防火墙、配置主机明和ip 、 ssh无密码登录

hadoop、jdk的下载、安装以及环境变量的配置请参考:

2.伪分布hadoop的配置:

2.1core-site.xml

fs.defaultFS
hdfs://hadoop:9000
hadoop.tmp.dir
file:/home/hadoop/hadoop-2.7.3/tmp

2.2 hdfs-ssite.xml

dfs.replication
1
dfs.namenode.name.dir
file:/home/hadoop/hadoop-2.7.3/tmp/dfs/name

2.3. mapred-site.xml

mapreduce.framework.name
yarn

2.4 yarn.site.xml

yarn.nodemanager.aux-services
mapreduce_shuffle

2.5 slaves

localhost

3.启动hadoop

1.hdfs namenode -format #第一次启动要执行格式化,之后启动不用执行这个

看到如下图证明成功:

这里写图片描述

2.mr-jobhistory-daemon.sh start historyserver

看到如下图证明成功:

这里写图片描述

3.start-dfs.sh

看到如下图证明成功:

这里写图片描述

4.start-yarn.sh

看到如下图证明成功:

这里写图片描述

5.在web浏览器上输入自己主机的ip+:50070端口号,即可看到如下图所示的页面查看节点状况和job状况 :

这里写图片描述

三、hadoop 的使用

一个测试例子wordcount

计算输入文本中词语数量的程序。WordCount在Hadoop主目录下的java程序包hadoop-0.20.2-examples.jar 中,执行步骤如下:
在/usr/local/hadoop/hadoop-0.20.2/bin/目录下进行如下操作:
执行 hadoop fs -ls命令,查看当前hdfs分布式文件系统的 文件目录结构,刚执行会说no such dictionary,
你要先建一个文件夹,用命令 haoop fs -mkdir testdir ,然后再执行hadoop fs -ls,就会展示/user/root/testdir
当前用户是root,所以hdfs的根目录就是 /user/root

hadoop fs -mkdir okdir(新建目录名称,可任意命名)

离开hodoop的安全模式
bin/hadoop dfsadmin -safemode leave
在这个目录里放入文件:hadoop fs -put /usr/test_in/*.txt okdir(把本地/usr/test_in目录里的所有txt文件copy到 hdfs分布式文件系统的 /user/root/inputdir 目录里面,因为当前目录就是root 所以 直接写input 就代表/user/root/inputdir)
在/usr/local/hadoop/hadoop-0.20.2下执行:
[root@master hadoop-0.20.2]# hadoop jar hadoop-0.20.2-examples.jar wordcount okdir output (提交作业,此处需注意okdir与output是一组任务,下次再执行wordcount程序,还要新建目录,不能跟okdir与output重名)

11/05/28 22:02:34 INFO input.FileInputFormat: Total input paths to process : 0  11/05/28 22:02:34 INFO mapred.JobClient: Running job: job_201105282107_0005  11/05/28 22:02:35 INFO mapred.JobClient:  map 0% reduce 0%  11/05/28 22:02:46 INFO mapred.JobClient:  map 0% reduce 100%  11/05/28 22:02:48 INFO mapred.JobClient: Job complete: job_201105282107_0005  11/05/28 22:02:48 INFO mapred.JobClient: Counters: 8  11/05/28 22:02:48 INFO mapred.JobClient:   Job Counters   11/05/28 22:02:48 INFO mapred.JobClient:     Launched reduce tasks=1  11/05/28 22:02:48 INFO mapred.JobClient:   Map-Reduce Framework  11/05/28 22:02:48 INFO mapred.JobClient:     Reduce input groups=0  11/05/28 22:02:48 INFO mapred.JobClient:     Combine output records=0  11/05/28 22:02:48 INFO mapred.JobClient:     Reduce shuffle bytes=0  11/05/28 22:02:48 INFO mapred.JobClient:     Reduce output records=0  11/05/28 22:02:48 INFO mapred.JobClient:     Spilled Records=0  11/05/28 22:02:48 INFO mapred.JobClient:     Combine input records=0  11/05/28 22:02:48 INFO mapred.JobClient:     Reduce input records=0

执行完毕后,在hadoop下输入

hadoop fs -ls output

显示如下:

Found 2 items  drwxr-xr-x   - root supergroup          0 2011-05-08 05:20 /user/root/output/_logs  -rw-r--r--   1 root supergroup       1688 2011-05-08 05:21 /user/root/output/part-r-00000

可以查看运行结果 :

#bin/hadoop dfs -cat hellooutput/part-r-00000

显示如下:

a       1  are     1  day     1  fine    1  fridey  1  is      3  name    1  not     1  today   4  you     1  your    1

也可进入web界面刷新查看running job及completed job的显示。

转载于:https://www.cnblogs.com/cn-7876/p/7757769.html

你可能感兴趣的文章
rotate the clock
查看>>
bugku 变量
查看>>
Python 环境傻瓜式搭建 :Anaconda概述
查看>>
趁热打铁第一季《移动APP开发使用什么样的原型设计工具比较合适?》
查看>>
debian6之eclipse和jdk安装
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
Python并发编程03/僵尸孤儿进程,互斥锁,进程之间的通信
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
前端03 /css简绍/css选择器
查看>>
Python并发编程06 /同步/异步调用/异步调用+回调函数
查看>>
前端06 /JavaScript之BOM、DOM
查看>>
数据库/MySQL的安装
查看>>
MySQL之存储引擎
查看>>
前端08 /jQuery标签操作、事件
查看>>
数据库03 /库、表、记录的详细操作、单表查询
查看>>
数据库04 /多表查询
查看>>
前端02 /HTML标签
查看>>
前端04 /css样式
查看>>
前端05 /js基础
查看>>