三、配置Hadoop

1、设置$HADOOP_HOME/conf/hadoop-env.sh

这个文件里设置的是Hadoop运行时须要的环境变量,在1.2.1版中共同拥有19个环境变量。例如以下:

 

变量名称

默认值

说明

JAVA_HOME

 

设置JDK的路径。这个必须设置。否则Hadoop无法启动,值如:

/usr/local/jdk1.6.0_33

HADOOP_CLASSPATH

这个用以设置用户的类路径。也能够在运行计算之前设置

HADOOP_HEAPSIZE

1000m

设置Hadoop堆的大小,依据自己环境的实际情况进行设置了。

HADOOP_OPTS

-server

Hadoop启动时的JVM參数,默认是以server模式启动。能够添加-X或-XX之类的參数

HADOOP_NAMENODE_OPTS

-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS

该选项的值会附加到HADOOP_OPTS之后。在启动NameNode时设置的JVM參数。

如想手动设置NameNode的堆、垃圾回收等信息,能够在这里设置:

,我的内存没有这么大而且測试用例不会用到那么大的堆,所以我也设置了一个这个值。

export HADOOP_HEAPSIZE=20

 

HADOOP_PID_DIR:

Hadoop PID文件的存放文件夹,这个最好是改动一下,由于/tmp文件夹通常来说是不论什么人都能够訪问的。有可能存在符合链接攻击的风险。

export HADOOP_PID_DIR=/home/fenglibin/hadoop_tmp

 

2、配置$HADOOP_HOME/conf/core-site.xml

參数例如以下(部分):

參数

默认值

说明

fs.default.name

file:///

NameNode的URI,如:

hdfs://locahost:9000/

hadoop.tmp.dir

/tmp/hadoop-${user.name}

其他暂时文件夹的基本文件夹,

/home/fenglibin/hadoop_tmp

hadoop.native.lib

true

是否使用hadoop的本地库

hadoop.http.filter.initializers

设置Filter初使器,这些Filter必须是hadoop.http.filter.initializers的子类。能够同一时候设置多个,以逗号分隔。这些设置的Filter,将会对全部用户的jsp及servlet页面起作用。Filter的顺序与配置的顺序同样。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

配置演示样例:

<configuration>  

  <property>  

    <!-- 用于设置Hadoop的文件系统。由URI指定 -->

    <name>fs.default.name</name>  

    <value>hdfs://localhost:9000</value>  

  </property>  

  <property>

<!-- 配置Hadoop的暂时文件夹,默认在/tmp文件夹下,可是/tmp上面可能会被系统自己主动清理掉。-->

<name>hadoop.tmp.dir</name>

<!-- 文件夹假设不存在。须要手动创建 -->

    <value>/home/fenglibin/hadoop_tmp</value>

    <description>A base for other temperary directory</description>

  </property>

</configuration>  

 

3、配置$HADOOP_HOME/conf/mapred-site.xml文件

參数例如以下(部分):

參数

说明

演示样例

mapred.job.tracker

配置JobTracker,以Host和IP的形式

localhost:9001

mapred.system.dir

MapReduce框架在HDFS存放系统文件的路径。必须能够被server及client訪问得到,默认值:

${hadoop.tmp.dir}/mapred/system

${hadoop.tmp.dir}/mapred/system

mapred.local.dir

MapReduce框架在本地的暂时文件夹,能够是多个,以逗号作分隔符,多个路径有助于分散IO的读写,默认值:

${hadoop.tmp.dir}/mapred/local

${hadoop.tmp.dir}/mapred/local

mapred.tasktracker.{map|reduce}.tasks.maximum

在同一台指定的TaskTacker上面同一时候独立的运行的MapReduce任务的最大数量,默认值是2(2个maps及2个reduces),这个与你所在硬件环境有非常大的关系,可分别设定。

2

dfs.hosts/dfs.hosts.exclude

同意/排除的NataNodes。假设有必要。使用这些文件控制同意的DataNodes。

 

mapred.hosts/mapred.hosts.exclude

同意/排除的MapReduces,假设有必要,使用这些文件控制同意的MapReduces。

 

mapred.queue.names

可用于提交Job的队列,多个以逗号分隔。MapReduce系统中至少存在一个名为“default”的队列,默认值就是“default”。

Hadoop中支持的一些任务定时器,如“Capacity Scheduler”。能够同一时候支持多个队列,假设使用了这样的定时器,那么使用的队列名称就必须在这里指定了。一旦指定了这些队列。用户在提交任务,通过在任务配置时指定“。而系统默认的复制份数为3。例如以下:

<configuration>  

  <property>  

    <name>dfs.replication</name>  

    <value>1</value>  

  </property>  

</configuration>

 

6、格式化namenode

hadoop namenode -format

 

7、启动Hadoop

./bin/start-all.sh

假设是出现例如以下结果,那就说明Hadoop已经成功启动了:

fenglibin@ubuntu1110:/usr/local/hadoop-1.2.1$ jps

29339 SecondaryNameNode

29661 Jps

28830 JobTracker

29208 DataNode

28503 NameNode

29514 TaskTracker

此时我们能够通过WEB方式查看NameNode及Jobtracker的状态了:

NameNode:http://localhost:50070/

 

JobTracker:http://localhost:50030/

 

假设仅仅是測试map/reduce,这里仅仅须要启动例如以下命令:

./bin/start-mapred.sh

8、启动Hadoop可能会遇到的问题

后面会提到。

Hadoop入门进阶步步高(三)-配置Hadoop的更多相关文章

  1. Hadoop入门进阶步步高(一)-环境准备

    前言 Hadoop从存储上来说,是相似于冗余磁盘阵列(RAID)的存储方式.将数据分散存储并提供以提供吞吐量,它的存储系统就是HDFS(Hadoop Distuibute Fils System).从 ...

  2. Hadoop入门进阶步步高(六)-Hadoop1.x与Hadoop2的差别

    六.Hadoop1.x与Hadoop2的差别 1.变更介绍 Hadoop2相比較于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了非常大的提高,Ha ...

  3. Hadoop入门进阶步步高(五)-搭建Hadoop集群

    五.搭建Hadoop集群 上面的步骤,确认了单机能够运行Hadoop的伪分布运行,真正的分布式运行无非也就是多几台slave机器而已,配置方面的有一点点差别,配置起来就很easy了. 1.准备三台se ...

  4. Hadoop入门进阶步步高(二)-文件夹介绍

    二.Hadoop文件夹结构 这里重点介绍几个文件夹bin.conf及lib文件夹. 1.$HADOOP_HOME/bin文件夹 文件名 说明 hadoop 用于运行hadoop脚本命令,被hadoop ...

  5. Hadoop入门进阶课程4--HDFS原理及操作

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  6. Hadoop入门进阶课程3--Hadoop2.X64位环境搭建

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  7. Hadoop入门进阶课程1--Hadoop1.X伪分布式安装

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  8. 分布式计算开源框架Hadoop入门实践(三)

    Hadoop基本流程 一个图片太大了,只好分割成为两部分.根据流程图来说一下具体一个任务执行的情况. 在分布式环境中客户端创建任务并提交. InputFormat做Map前的预处理,主要负责以下工作: ...

  9. (转)Hadoop入门进阶课程

    http://blog.csdn.net/yirenboy/article/details/46800855 1.Hadoop介绍 1.1Hadoop简介 Apache Hadoop软件库是一个框架, ...

随机推荐

  1. 读书笔记--Head First JavaScript 目录

    1.交互式网络 2.存储数据 3.探索客户端 4.决策 5.循环 6.函数 7.表单与验证 8.驾驭网页 9.为数据带来生命 10.创建自定义对象 11.除错务尽 12.动态数据

  2. 13类100个常用Linux基础命令

    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了.然而每个人玩Linux的目的 ...

  3. centos 安装redis2.8.9

    1没有安装gcc yum install gcc-c++ 2. 安装tcl yum install -y tcl 3.安装redis $ wget http://download.redis.io/r ...

  4. hdu 1296 Polynomial Problem(多项式模拟)

    Problem Description We have learned how to obtain the value of a polynomial when we were a middle sc ...

  5. 让Drewtech的J2534 ToolBox 软件支持任何J2534的设备

    更改windows注册表中的FunctionLibrary和ConfigApplication,将DLL和exe路径替换原来的,其他不要动. 或者 create second key in regis ...

  6. 模拟15 题解(waiting)

    T1 60%算法 定义f[i][j]表示枚举到i位置,已经使用过了j个队, $f[i][j]+=f[i-1][t] ( t \in [max(0,j-k),j])$滚动一下 这是个O(n^3)的,考虑 ...

  7. 五.反馈(Hopfield)神经网络

    前馈网络一般指前馈神经网络或前馈型神经网络.它是一种最简单的神经网络,各神经元分层排列.每个神经元只与前一层的神经元相连.接收前一层的输出,并输出给下一层,数据正想流动,输出仅由当前的输入和网络权值决 ...

  8. JavaScript--location.href的跳转

    页面重载 true 强制从服务器加载  false 优先从缓存加载  window.location.reload(true); window.location.href.self.location. ...

  9. WPF 如何显示gif

    最近碰到了要显示表情的需求,而表情刚好是gif的图片. 于是用了Image试了下,发现不行,只会显示第一帧,然后上网查了下资料,大致有这么几种方法,都可以实现. 第一种: 使用Winfrom里面的pi ...

  10. 如何高效的学习python

    如何高效的学习python 假设到目前为止你已经知道Python或有一些学习它的方法,但是如果你喜欢我发现的不用几个月的时间就能迅速掌握其要领的学习语言的方法,那么这篇文章是为你准备的. 要避免的学习 ...