伪分布式模式即单节点集群模式,所有的守护进程都运行在同一台机器上。这种模式下增加了代码调试功能,可以查看内存、HDFS文件系统的输入/输出,以及与其他守护进程交互。以hadoop用户远程登录K-Master服务器,在单机模式安装的基础上,我们增加对core-site.xml、hdfs-site.xml、mapred-site.xml核心文件的配置步骤。

开发环境


硬件环境:Centos 6.5 服务器4台(一台为Master节点,三台为Slave节点) 
软件环境:Java 1.7.0_45、hadoop-1.2.1

1、 配置Hadoop


1)配置core-site.xml

修改Hadoop核心配置文件/usr/hadoop/conf/core-site.xml,通过fs.default.name指定 NameNode 的 IP 地址和端口号,通过hadoop.tmp.dir指定hadoop数据存储的临时文件夹。

  1. [hadoop@K-Master hadoop] vi conf/core-site.xml
  2. <configuration>
  3. <property>
  4. <name>fs.default.name</name>
  5. <value>hdfs://K-Master:9000</value>
  6. </property>
  7. <property>
  8. <name>hadoop.tmp.dir</name>
  9. <value>/usr/hadoop/tmp</value>
  10. </property>
  11. </configuration>

特别注意:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被删除,必须重新执行format才行,否则会出错。

2)配置hdfs-site.xml

修改HDFS核心配置文件/usr/hadoop/conf/hdfs-site.xml,通过dfs.replication指定HDFS的备份因子为1,通过dfs.name.dir指定namenode节点的文件存储目录,通过dfs.data.dir指定datanode节点的文件存储目录。

  1. [hadoop@K-Master hadoop] vi conf/hdfs-site.xml
  2. <configuration>
  3. <property>
  4. <name>dfs.replication</name>
  5. <value></value>
  6. </property>
  7. <property>
  8. <name>dfs.name.dir</name>
  9. <value>/usr/hadoop/hdfs/name</value>
  10. </property>
  11. <property>
  12. <name>dfs.data.dir</name>
  13. <value>/usr/hadoop/hdfs/data</value>
  14. </property>
  15. </configuration>

3)配置mapred-site.xml

修改MapReduce核心配置文件/usr/hadoop/conf/mapred-site.xml,通过mapred.job.tracker属性指定JobTracker的地址和端口。

  1. [hadoop@K-Master hadoop] vi conf/mapred-site.xml
  2. <configuration>
  3. <property>
  4. <name>mapred.job.tracker</name>
  5. <value>http://K-Master:9001</value>
  6. </property>
  7. </configuration>

这里原作者应该是落了个配置项:hadoop-env.sh,不然会出现localhost: Error: JAVA_HOME is not set.

在/hadoop-1.2.1/conf/文件夹里有个hadoop-env.sh的文件,它的作用是配置与hadoop运行环境相关的变量

找到:

# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/jvm/java-6-sun

将#号去掉,变为:

改成你本机的jdk路径,执行完退出

:wq

2、 格式化HDFS文件系统


格式化HDFS文件系统需要在namenode节点上通过hadoop用户执行,而且只需要执行一次,下次启动时不需要再格式化,直接启动HDFS文件管理系统和MapReduce服务即可。

  1. [hadoop@K-Master ~]$ hadoop namenode -format
  2. // :: INFO namenode.NameNode: STARTUP_MSG:
  3. /************************************************************
  4. STARTUP_MSG: Starting NameNode
  5. STARTUP_MSG: host = K-Master/192.168.100.147
  6. STARTUP_MSG: args = [-format]
  7. STARTUP_MSG: version = 1.2.1
  8. STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
  9. STARTUP_MSG: java = 1.7.0_65
  10. ********************a****************************************/
  11. // :: INFO util.GSet: Computing capacity for map BlocksMap
  12. // :: INFO util.GSet: VM type = -bit
  13. // :: INFO util.GSet: 2.0% max memory =
  14. // :: INFO util.GSet: capacity = ^ = entries
  15. // :: INFO util.GSet: recommended=, actual=
  16. // :: INFO namenode.FSNamesystem: fsOwner=hadoop
  17. // :: INFO namenode.FSNamesystem: supergroup=supergroup
  18. // :: INFO namenode.FSNamesystem: isPermissionEnabled=true
  19. // :: INFO namenode.FSNamesystem: dfs.block.invalidate.limit=
  20. // :: INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval= min(s), accessTokenLifetime= min(s)
  21. // :: INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length =
  22. // :: INFO namenode.NameNode: Caching file names occuring more than times
  23. // :: INFO common.Storage: Image file /usr/hadoop/hdfs/name/current/fsimage of size bytes saved in seconds.
  24. // :: INFO namenode.FSEditLog: closing edit log: position=, editlog=/usr/hadoop/hdfs/name/current/edits
  25. // :: INFO namenode.FSEditLog: close success: truncate to , editlog=/usr/hadoop/hdfs/name/current/edits
  26. // :: INFO common.Storage: Storage directory /usr/hadoop/hdfs/name has been successfully formatted.
  27. // :: INFO namenode.NameNode: SHUTDOWN_MSG:
  28. /************************************************************
  29. SHUTDOWN_MSG: Shutting down NameNode at K-Master/192.168.100.147
  30. ************************************************************/

3、 启动HDFS文件管理系统


1)通过start-dfs.sh命令启动HDFS文件管理系统,启动后通过如下日志信息可以看到在K-Master服务器上分别启动了namenode、datanode和secondarynamenode。

  1. [hadoop@K-Master ~]$ start-dfs.sh
  2. starting namenode, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-namenode-K-Master.out
  3. K-Master: starting datanode, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-datanode- K-Master.out
  4. K-Master: starting secondarynamenode, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-secondarynamenode-K-Master.out

2)在K-Master节点上查看启动进程

若打印如下日志信息,表明K-Master服务器上启动了NameNode、SecondaryNameNode2、DataNode服务进程,即K-Master服务器上HDFS文件管理系统启动成功。

  1. [hadoop@K-Master ~]$ jps
  2. Jps
  3. NameNode
  4. SecondaryNameNode
  5. DataNode

4、 启动MapReduce


1)通过start-mapred.sh命令启动MapReduce分布式计算服务,启动后通过以下日志信息可以看到在K-Master服务器上启动了jobtracker、tasktracker进程。

  1. [hadoop@K-Master ~]$ start-mapred.sh
  2. starting jobtracker, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-jobtracker-K-Master.out
  3. K-Master: starting tasktracker, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-tasktracker- K-Master.out

2)K-Master节点上查看启动进程

若打印如下日志信息,表明K-Master服务器上新启动了JobTracker、TaskTracker服务进程,即K-Master服务器上MapReduce启动成功。

  1. [hadoop@K-Master ~]$ jps
  2. NameNode
  3. Jps
  4. JobTracker
  5. SecondaryNameNode
  6. TaskTracker
  7. DataNode

完成上述4步,表明我们成功的完成了Hadoop伪分布式环境的部署,伪分布式模式也叫单节点集群模式,所有的守护进程都运行在同一台机器上,上述实验也证明了这一点,NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker所有的守护进程全部运行在K-Master节点之上。

【Hadoop基础教程】3、Hadoop之伪分布式环境搭建(转)的更多相关文章

  1. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...

  2. 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建

    CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...

  3. Ubuntu 14.04 (32位)上搭建Hadoop 2.5.1单机和伪分布式环境

    引言 一直用的Ubuntu 32位系统(准备下次用Fedora,Ubuntu越来越不适合学习了),今天准备学习一下Hadoop,结果下载Apache官网上发布的最新的封装好的2.5.1版,配置完了根本 ...

  4. Hadoop学习笔记1:伪分布式环境搭建

    在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下: 1.CentOS 6.7下安装JDK , 地址: http://blog.csdn.net/yule ...

  5. 【Hadoop】伪分布式环境搭建、验证

    Hadoop伪分布式环境搭建: 自动部署脚本: #!/bin/bash set -eux export APP_PATH=/opt/applications export APP_NAME=Ares ...

  6. CentOS7下Hadoop伪分布式环境搭建

    CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...

  7. Spark2.4.0伪分布式环境搭建

    一.搭建环境的前提条件 环境:ubuntu-16.04 hadoop-2.6.0  jdk1.8.0_161. spark-2.4.0-bin-hadoop2.6.这里的环境不一定需要和我一样,基本版 ...

  8. Hadoop2.5.0伪分布式环境搭建

    本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...

  9. hive-2.2.0 伪分布式环境搭建

    一,实验环境: 1, ubuntu server 16.04 2, jdk,1.8 3, hadoop 2.7.4 伪分布式环境或者集群模式 4, apache-hive-2.2.0-bin.tar. ...

  10. HDFS 伪分布式环境搭建

    HDFS 伪分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 伪分布式环境搭建 CSDN:HDFS 伪分布式环境搭建 相关软件版本 Hadoop 2.6.5 CentOS 7 Oracle ...

随机推荐

  1. Spring:特殊数据类型的属性注入(基于配置文件)

    该处提到的特殊数据类型指的是除了基础数据类型和String以外的其他常用的数据类型,如:List.Map.Set.以及pojo对象等.则我们创建的Person类定义为: package bjtu.we ...

  2. virtualbox centos6.6 minimal 与宿主机win7共享文件夹

    1.virtualbox, 设置-共享文件夹,设置好共享文件夹win7dir 2.centos 创建文件夹比如share 3.mount -t vboxsf win7dir /root/share 4 ...

  3. (22)C#windows打包部署

    程序做好后需要打包部署后才能使用 一.创建安装项目 解决方案右键-添加-新建项目-其他项目类型-安装和部署-双击进入文件系统. 二.制作安装程序 一个完整的安装程序包括项目输出文件.内容文件.桌面快捷 ...

  4. Codeforces Round #445 C. Petya and Catacombs【思维/题意】

    C. Petya and Catacombs time limit per test 1 second memory limit per test 256 megabytes input standa ...

  5. luogu P1373 小a和uim之大逃离

    题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...

  6. [51Nod1487]占领资源

    题目大意:​ 有一个$n\times m(x,m\leq 100)$的网格图,每个格子有一个权值$w_{i,j}(1\leq w_{i,j}\leq 9)$.你可以在图中选两个格子,每个格子$(x,y ...

  7. (转)unity3d加密资源并缓存加载

    http://www.haogongju.net/art/1931680 首先要鄙视下unity3d的文档编写人员极度不负责任,到发帖为止依然没有更新正确的示例代码. view source   pr ...

  8. xcode里面使用Memory Leaks和Instruments检测内存泄漏

    教程截图: 作为一名无证程序员,无论你多么精通Objective-C的内存管理,随着时间的推移,你也不可避免的犯内存相关的错误.但通常因为代码量太大,以至于你不可能一行一行的去排除(等你解决完,你设计 ...

  9. 一篇文章让你彻底弄懂WinForm GDI 编程基本原理

    一 GDI编程原理 GDI(Graphics Device Interface,图形设备接口),主要负责Windows系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出. GDI的常用 ...

  10. tiny4412 串口驱动分析六 --- TTY驱动架构

    转载: http://www.linuxidc.com/Linux/2013-11/92639.htm 参考: http://blog.csdn.net/lamdoc/article/details/ ...