HADOOP2.6部署成功案例

1、     软件下载
从官网http://apache.fayea.com/hadoop/common/  下载hadoop

从Oracle官网下载JDK

http://www.oracle.com/technetwork/java/javase/downloads/index.html(1.8.25)

hadoop-example的jar用来简单测试

http://www.java2s.com/Code/Jar/h/Downloadhadoopexamples111jar.htm

2、     硬件准备
准备3~4台机器

本人这次是准备了3台虚拟机。

1台master,2个slave

 

3、     操作步骤
a)   安装64位操作系统(如REHL 6.5)
b)   设置主机名字(便于统筹规划)
192.168.1.200 master

192.168.1.201 slave1

192.168.1.202 slave2

将IP解析复制到每个机器的/etc/hosts中。

c)    设置ssh无密码访问(实现主节点到所有从节点即可)
a)        各个节点运行ssh-keygen -t rsa ,然后将~/.ssh/id_rsa.pub 文件中的内容都加入到master节点中的~/.ssh/authorized_keys 文件中。

 

d)  安装JDK
解压JDK包如下:

tar zxvfjdk-8u25-linux-x64.gz

编辑配置文件

vi/etc/profile

加入如下:

JAVA_HOME=/opt/jdk

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH

exportJAVA_HOME CLASSPATH PATH

运行如下进行确认JDK安装

java-version

e)   安装Hadoop
a)  解压

tar -zxvfhadoop-2.6.0.tar.gz

b)  编辑配置文件

vi/etc/profile

HADOOP_HOME=/opt/hadoop

HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

PATH=$HADOOP_HOME/bin:$PATH

exportHADOOP_HOME HADOOP_CONF_DIR PATH

c)  配置文件生效

source/etc/profile

d)  修改core-site.xml <!--HDFS和MapReduce常用的IO设置-->

/opt/hadoop/etc/hadoop下的core-site.xml

如下:

<configuration>

 <property>
    <!--系统默认分布式文件 URI-->
   <name>fs.defaultFS</name>

   <value>hdfs://master:9000</value>

   <description>NameNode URI.</description>

 </property>

 <property>

   <name>io.file.buffer.size</name>

   <value>131072</value>

   <description>Size of read/write buffer used inSequenceFiles.</description>

 </property>

 <property>
<!--系统默认分布式文件 URI-->
   <name>hadoop.tmp.dir</name>

   <value>/data/hadoop/tmp</value>

   <description>A base for other temporary directories.</description>

 </property>

</configuration>

 

e)  编辑hdfs-site.xml<!--hadoop守护进程设计包括:namenode辅助namenode、datanode-->

如下:

<configuration>

 <property>

   <name>dfs.namenode.secondary.http-address</name>

   <value>master:50090</value>

   <description>The secondary namenode http server address andport.</description>

 </property>

 <property>
 <!--DFS name node 存放永久性元数据的,在这个目录下都存放元数据 name table 的目录-->
 
   <name>dfs.namenode.name.dir</name>

   <value>file:///data/dfs/name</value>

   <description>Path on the local filesystem where the NameNodestores the namespace and transactions logs persistently.</description>

 </property>

 <property>
<!--DFS data node 存放数据 block 的目录 -->
   <name>dfs.datanode.data.dir</name>

   <value>file:///data/dfs/data</value>

   <description>Comma separated list of paths on the local filesystemof a DataNode where it should store its blocks.</description>

 </property>

 <property>
<!--辅助namenode存放检查点的目录列表。在所列的每个目录中均存放一份家差点文件副本-->
   <name>dfs.namenode.checkpoint.dir</name>

   <value>file:///data/dfs/namesecondary</value>

   <description>Determines where on the local filesystem the DFSsecondary name node should store the temporary images to merge. If this is acomma-delimited list of directories then the image is replicated in all of thedirectories for redundancy.</description>

 </property>

</configuration> 

f)  编辑slaves文件<!--辅助datanode\tasktracker机器列表-->

如下:

master

slave1

slave2 

g)  启动hdfs

先格式化namenode

hdfs namenode –format

 启动dfs

设置/opt/hadoop/etc/hadoop/hadoop-env.sh文件中的JAVA变量。

start-dfs.sh

查看进程

jps

 主节点:[root@master sbin]# jps

2291 DataNode

2452SecondaryNameNode

2170 NameNode

2573 Jps

从节点:

[root@slave1.ssh]# jps

1841 DataNode

1917 Jps 

h)  编辑yarn-site.xml<!--MapReduce守护进程配置包括:jobtrackerh和tasktracker每行一个-->

如下:

<configuration>

 <property>

   <name>yarn.resourcemanager.hostname</name>

<value>master</value>

<description>The hostname of theRM.</description>

 </property>

 <property>
    <!--节点管理器运行的附加服务列表。每项服务由yarn.nodemanager.aux-services.service-name.class指定类实现-->
   <name>yarn.nodemanager.aux-services</name>

   <value>mapreduce_shuffle</value>

   <description>Shuffle service that needs to be set for Map Reduceapplications.</description>

 </property>

</configuration> 

i)  编辑mapred-site.xml

如下:

<configuration>

  <property>

   <name>mapreduce.framework.name</name>

<value>yarn</value>

<description>Theruntime framework for executing MapReduce jobs. Can be one of local, classic oryarn.</description>

  </property>

  <property>
<!--作业历史服务器的RPC服务器地址和端口。客户端查询历史作业信息-->
   <name>mapreduce.jobhistory.address</name>

    <value>master:10020</value>

    <description>MapReduce JobHistoryServer IPC host:port</description>

  </property>

  <property>
<!--作业历史服务器的HTTP服务器地址和端口。在mapred-site.xml中设置-->
   <name>mapreduce.jobhistory.webapp.address</name>

    <value>master:19888</value>

    <description>MapReduce JobHistoryServer Web UI host:port</description>

  </property>

</configuration> 

j)  启动yarn资源管理

执行如下:

start-yarn.sh

执行jps进行查看。

完毕。

Jps查看

主节点:

[root@master sbin]# jps

2720 NodeManager

2291 DataNode

2452 SecondaryNameNode

2953 Jps

2170 NameNode

2621 ResourceManager

从节点:

[root@slave1 .ssh]# jps

1841 DataNode

2082 Jps

1958 NodeManager

4、     简单测试
如:在master运行如下命令:

#hadoop jar hadoop-examples-1.2.1.jar pi 1 10

24260 SecondaryNameNode
24912 Jps
23991 NameNode 协同工作来运行和监控任务
24526 NodeManager 就是负责 Container 状态的维护,并向 RM 保持心跳
24436 ResourceManager:  是一个中心的服务,它做的事情是调度、启动每一个 Job 所属的 ApplicationMaster、另外监控 ApplicationMaster 的存在情况。它就是一个纯粹的调度器,和每一台机器的节点管理服务器能够管理用户在那台机器上的进程并能对计算进行组织
24084 DataNode
ApplicationMaster 负责一个 Job 生命周期内的所有工作,类似老的框架中 JobTracker。但注意每一个 Job(不是每一种)都有一个 ApplicationMaster,它可以运行在 ResourceManager 以外的机器上
本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2015-01/111258.htm

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值