环境介绍:

在这两种装备centos6.4(32位置)的server安装Hadoop-2.5.1分布式集群(2台机器,主要试验用。哈哈)。

1.改动主机名和/etc/hosts文件

1)改动主机名(非必要)

vi /etc/sysconfig/network
HOSTNAME=XXX

重新启动后生效。

2)/etc/hosts是ip地址和其相应主机名文件,使机器知道ip和主机名相应关系。格式例如以下:

#IPAddress HostName
192.168.1.67 MasterServer
192.168.1.241 SlaveServer

2.配置免password登陆SSH

1)生成密钥:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

以上是两个单引號。

2)将id_dsa.pub(公钥)追加到授权的key中:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

3)将认证文件拷贝到其他节点上:

scp ~/.ssh/authorized_keys hadooper@192.168.1.241:~/.ssh/

4)測试:

ssh SlaveServer

第一次要确认连接。输入yes就可以。

但我的仍要求输入password。原因是.ssh和authorized_keys权限不正确,详细见:http://blog.csdn.net/hwwn2009/article/details/39852457

3.各节点上安装jdk

1)选择的版本号是jdk-6u27-linux-i586.bin。下载地址:http://pan.baidu.com/s/1mgICcFA

2)上传到hadooper用户文件夹下。加入运行权限

chmod 777 jdk-6u27-linux-i586.bin

3)安装

./jdk-6u27-linux-i586.bin

4)配置环境变量:vi /etc/profile增加下面三行

#JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/jdk1.6/jdk1.6.0_27
export PATH=$JAVA_HOME/bin:$PATH

5)运行source /etc/profile使环境变量的配置生效

6)运行java –version查看jdk版本号,验证是否成功。

4. Hadoop安装

每台节点都要安装hadoop。

上传hadoop-2.5.1.tar.gz到用户hadooper文件夹下。

1)解压

tar -zvxf hadoop-2.5.1.tar.gz

2)加入环境变量:vi  /etc/profile,尾部加入例如以下

export HADOOP_HOME=/home/hadooper/hadoop/hadoop-2.5.1
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export CLASSPATH=.:$JAVA_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

设置马上生效:

source /etc/profile

3)改动Hadoop配置文件

(1)core-site.xml

<property>
<name>fs.defaultFS</name>
<value>hdfs://MasterServer:9000</value>
</property>

(2)hdfs-site.xml

<property>
<name>dfs.replication</name> #值不应大于datanode数量
<value>1</value>
</property>
 <property>
<name>dfs.namenode.name.dir</name> #设置分布式文件系统存放于/home/hadooper/hadoop/dfs 的本地文件夹
<value>/home/hadooper/hadoop/dfs/name</value>
<description> </description>
</property> <property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadooper/hadoop/dfs/data</value>
<description> </description>
</property> <property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

注:訪问namenode的hdfs使用50070port,訪问datanode的webhdfs使用50075port。要想不区分port,直接使用namenode的IP和port进行全部的webhdfs操作,就须要在全部的datanode上都设置hdfs-site.xml中的dfs.webhdfs.enabled为true。

(3)mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>MasterServer:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>MasterServer:19888</value>
</property><span style="font-family: Arial, Helvetica, sans-serif;"> </span>

jobhistory是Hadoop自带了一个历史server,记录Mapreduce历史作业。

默认情况下。jobhistory没有启动。可用下面命令启动:

 sbin/mr-jobhistory-daemon.sh start historyserver

(4)yarn-site.xml

 <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>MasterServer:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>MasterServer:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>MasterServer:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>MasterServer:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>MasterServer:8088</value>
</property>

(5)slaves

SlaveServer

(6)分别在hadoop-env.sh和yarn-env.sh中加入JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/jdk1.6/jdk1.6.0_27

5.执行Hadoop

1)格式化

hdfs namenode –format

2)启动Hadoop

start-dfs.sh
start-yarn.sh

也能够用一条命令:

start-all.sh

3)停止Hadoop

stop-all.sh

4)jps查看进程

7692 ResourceManager
8428 JobHistoryServer
7348 NameNode
14874 Jps
7539 SecondaryNameNode

5)通过浏览器查看集群执行状态

(1)http://192.168.1.67:50070

(2)http://192.168.1.67:8088/

(3)http://192.168.1.67:19888

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHd3bjIwMDk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

6. 执行Hadoop自带的wordcount演示样例

1)建立输入文件:

echo "My first hadoop example. Hello Hadoop in input. " > input

2)建立文件夹

hadoop fs -mkdir /user/hadooper

3)上传文件

hadoop fs -put input /user/hadooper

4)运行wordcount程序

 hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar wordcount /user/hadooper/input /user/hadooper/output

5)查看结果

hadoop fs -cat /user/hadooper/output/part-r-00000
Hadoop	1
My 1
example.Hello 1
first 1
hadoop 1
in 1
input. 1

转载请注明:http://blog.csdn.net/hwwn2009/article/details/39889465

版权声明:本文博主原创文章,博客,未经同意不得转载。

centos6.4设备hadoop-2.5.1(完全分布式)的更多相关文章

  1. centos6.8系统安装 Hadoop 2.7.3伪分布式集群

    安装 Hadoop 2.7.3 配置ssh免密码登陆 cd ~/.ssh                       # 若没有该目录,请先执行一次ssh localhost ssh-keygen - ...

  2. Hadoop、Zookeeper、Hbase分布式安装教程

    参考: Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0   Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS ZooKeeper-3.3 ...

  3. Hadoop 在windows 上伪分布式的安装过程

    第一部分:Hadoop 在windows 上伪分布式的安装过程 安装JDK 1.下载JDK        http://www.oracle.com/technetwork/java/javaee/d ...

  4. Apache Hadoop 2.9.2 完全分布式部署

    Apache Hadoop 2.9.2 完全分布式部署(HDFS) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.环境准备 1>.操作平台 [root@node101.y ...

  5. Hadoop生态圈-Kafka的完全分布式部署

    Hadoop生态圈-Kafka的完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要内容就是搭建Kafka完全分布式,它是在kafka本地模式(https:/ ...

  6. Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)

    Purpose(目标) This document describes how to set up and configure a single-node Hadoop installation so ...

  7. Hadoop生态圈-hbase介绍-完全分布式搭建

    Hadoop生态圈-hbase介绍-完全分布式搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  8. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  9. 安装部署Apache Hadoop (本地模式和伪分布式)

    本节内容: Hadoop版本 安装部署Hadoop 一.Hadoop版本 1. Hadoop版本种类 目前Hadoop发行版非常多,有华为发行版.Intel发行版.Cloudera发行版(CDH)等, ...

随机推荐

  1. c coding style之学习篇

    1. 使用do-while结构去避免潜在的内存泄漏问题. do {     p1 = malloc(10);     if (null == p1)     {         break;     ...

  2. 拆分字符串,GetHtmlByWebBrowser,UnicodeToMBCS,提升进程权限

    1. // 根据字符串,拆分字符串,相当于vb中的split函数 function SplitString(const Source, ch: string): TStringList; var te ...

  3. Delphi5 update1的序列号

    好不容易找到一个: Serial Number: 100-006-1659Key: 6ax0-91x0 ------------------------------------------- 办法2: ...

  4. swfupload组件后台获取中文文件名称乱码的问题解决

       问题描写叙述:用swfupload上传文件,含有中文名称的文件上传会报错,我用的是获取FileItem对象,用FileItem对象的getName()方法获取文件名会乱码,试着用request. ...

  5. 猎豹移动(金山网络)2015校园招聘(c++project师)

    1.已知类MyString的原型为: class MyString { public: MyString(const char *str=NULL);//普通构造函数 MyString(const M ...

  6. iframe动态创建及释放内存

    近期參与一个项目的开发,因为项目是基于浏览器的胖client(RIA)应用程序,页面中大量调用iframe.后期測试发现浏览器内存一直居高不下,并且打开iframe页面越多内存占用越大.在IE系列浏览 ...

  7. CCEditBox/CCEditBoxImplIOS

    #ifndef __CCEditBoxIMPLIOS_H__ #define __CCEditBoxIMPLIOS_H__ #include "cocos2d.h" #if (CC ...

  8. ubuntu12.04安装深度音乐播放器和深度影音

    昨天折腾了一天,想要安装深度播放器和深度影音都未成功,老是出现依赖关系不满足这个错误.网上解决办法有非常多,可是都没能有效的解决这个问题.今天突然想起来之前换过软件源,是不是这个原因而导致了依赖关系不 ...

  9. Do you master on array in C ?

    Do you master on array in C ? 因为新标准C99的支持变长数组, 差点儿C的标准特性就是看着gcc来的(Linux 内核严重依赖GCC) int mani() { cons ...

  10. hbase基本概念和hbase shell经常使用命令使用方法

    HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用H ...