三、配置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. 使用 prerender 实现 SEO

    server { listen 80; server_name www.umount.com; access_log /var/log/nginx/livefrontend/access.log LF ...

  2. random模块&hashlib模块

    random模块1.random.randrange(1, 10):返回1-10之间的一个随机数,不包括102.random.randint(1,10):返回1-10之间的一个随机数,包括103.ra ...

  3. 使用session实现一次性验证码

    在登录页面和各种页面,会看到有验证码输入,这样做的目的是为了防止密码猜测工具破解密码,保护了用户密码安全,验证码只能使用一次,这样就给密码猜测工具带来了很大的困难,基本上阻断了密码猜测工具的使用. 可 ...

  4. 2019-7-3-WPF-使用-Composition-API-做高性能渲染

    title author date CreateTime categories WPF 使用 Composition API 做高性能渲染 lindexi 2019-07-03 10:30:57 +0 ...

  5. js中index()的四种经典用法111

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 六.随机神经网络Boltzmann(玻尔兹曼机)

    Hopfield网络具有最优计算功能,然而网络只能严格按照能量函数递减方式演化,很难避免伪状态的出现,且权值容易陷入局部极小值,无法收敛于全局最优解. 如果反馈神经网络的迭代过程不是那么死板,可以在一 ...

  7. Vue--过渡动画实现的三种方式

    一.使用vue的transition标签结合css样式完成动画 <!DOCTYPE html> <html lang="en"> <head> ...

  8. web前端学习(三)css学习笔记部分(4)-- CSS选择器详解

    4.  元素选择器详解 4.1  元素选择器 4.2  选择器分组 用英文逗号","相连,使用相同的样式表 使用通配符对所有元素进行通用设定. 4.3  类选择器详解 4.3.1. ...

  9. 从0开始学习 GitHub 系列之「05.Git 进阶」

    关于 Git 相信大家看了之前一系列的文章已经初步会使用了, 但是关于Git还有很多知识与技巧是你不知道的,今天就来给大家介绍下一些 Git 进阶的知识. 1. 用户名和邮箱 我们知道我们进行的每一次 ...

  10. ajax下载小于500M大文件【原】

    不推荐使用的FileReader 之前用FileReader读取下载文件,当文件超过1M浏览器就立即扑街了 // 文件下载 function download(blob, fileName) { va ...