转载请注明出处:http://blog.csdn.net/tang9140/article/details/42869531

最近学习了下hadoop的安装。下面详细说明下步骤

一、环境

我的是在Linux环境下进行安装的。对于想在windows系统上学习的同学,可以采用虚拟机方式或通过cygwin模拟linux环境方式进行学习。

现在有三台服务器,分配如下:

10.0.1.100 NameNode

10.0.1.201 DataNode1

10.0.1.202 DataNode2

NameNode(主服务器)可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。

DataNode(从服务器)是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode

1、安装jdk

自己到网上找到合适的jdk版本,我下载的是jdk-6u23-linux-i586.bin(linux的32位操作系统版本)。分别上传到3个服务器的/usr/local/java/jdk目录下(该目录可根据个人习惯修改)

jdk-6u23-linux-i586.bin 是自解压的文件,要增加可执行权限。如下

chmod +x jdk-6u23-linux-i586.bin
./jdk-6u23-linux-i586.bin

输入回车后,解压完成。

修改配置

vi /etc/profile

在profile最后增加以下几行环境变量配置

JAVA_HOME=/usr/local/java/jdk/jdk1.6.0_23CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CLASSPATH PATH

重新ssh连接服务器,测试JDK是否安装成功。其命令如下:

java -version

正常显示如下:

java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)

2、配置ssh

一般linux系统是自带安装ssh服务的,对于没有安装ssh服务的,请自行安装,这里不详细说明如何安装。

我们需要对ssh服务进行配置,以运行hadoop环境进行ssh无密码登录。即NameNode节点需要能够ssh无密码登录访问DataNode节点

进入NameNode服务器,输入如下命令

[root@localhost hadoop]# cd ~
[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# ssh-keygen -t rsa

一直回车。.ssh目录下多出两个文件

私钥文件:id_rsa
公钥文件:id_rsa.pub

复制id_rsa.pub文件为authorized_keys

[root@localhost .ssh]# cp id_rsa.pub authorized_keys

将公钥文件authorized_keys分发到各DataNode节点:

[root@localhost .ssh]# scp authorized_keys root@10.0.1.201:/root/.ssh/
[root@localhost .ssh]# scp authorized_keys root@10.0.1.202:/root/.ssh/

注意:如果当前用户目录下没有.ssh目录,可以自己创建一个该目录

验证ssh无密码登录:

[root@localhost .ssh]# ssh root@10.0.1.201
Last login: Mon Jan  5 09:46:01 2015 from 10.0.1.100

看到以上信息,表示配置成功!如果还提示要输入密码,则配置失败。

3、配置hostname及hosts

修改/etc/sysconfig/network中的hostname(需要重启系统才会生效)

NETWORKING=yes
HOSTNAME=NameNode

修改/etc/hosts

10.0.1.100 NameNode
10.0.1.201 DataNode1
10.0.1.202 DataNode2

两个DataNode也要修改hostname及hosts文件

二、下载及安装Hadoop

1、下载

去hadoop官网上(http://hadoop.apache.org/)下载合适的hadoop版本。我选择的是比较新的2.5.2版本(最新的是2.6.0版本)。文件名为hadoop-2.5.2.tar.gz,下载文件上传到/root/test下(三个服务器都要上传),切换到该目录下,解压:

tar -zvxf hadoop-2.5.2.tar.gz 

2、配置

主服务器(10.0.1.100)进入配置目录:cd hadoop-2.5.2/etc/hadoop

core-site.xml

<configuration><property><name>hadoop.tmp.dir</name><value>/home/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://10.0.1.100:9000</value></property><property><name>io.file.buffer.size</name><value>4096</value></property>
</configuration>

hdfs-site.xml

<configuration><property><name>dfs.nameservices</name><value>hadoop-cluster1</value></property><property><name>dfs.namenode.secondary.http-address</name><value>10.0.1.100:50090</value></property><property><name>dfs.namenode.name.dir</name><value>/home/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>/home/hadoop/dfs/data</value></property><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property>
</configuration>

mapred-site.xml

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobtracker.http.address</name><value>10.0.1.100:50030</value></property><property><name>mapreduce.jobhistory.address</name><value>10.0.1.100:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>10.0.1.100:19888</value></property>
</configuration>

yarn-site.xml

<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.address</name><value>10.0.1.100:8032</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>10.0.1.100:8030</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>10.0.1.100:8031</value></property><property><name>yarn.resourcemanager.admin.address</name><value>10.0.1.100:8033</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>10.0.1.100:8088</value></property>
</configuration>

slaves

10.0.1.201
10.0.1.202

hadoop-env.sh

export JAVA_HOME=/usr/local/java/jdk/jdk1.6.0_23

注:两个从服务器也要按上面修改各个配置文件,可直接用scp命令将主服务器${HADOOP_HOME}/etc/hadoop/目录覆盖从服务器相应目录

3、格式化文件系统

bin/hdfs namenode -format

注意:这里的格式化文件系统并不是硬盘格式化,只是针对主服务器hdfs-site.xml的dfs.namenode.name.dir和dfs.datanode.data.dir目录做相应的清理工作。

4、启动和停止服务

启动

sbin/start-dfs.sh
sbin/start-yarn.sh

停止

sbin/stop-dfs.sh
sbin/stop-yarn.sh

5、查看启动的进程

jps

显示如下

14140 ResourceManager
13795 NameNode
14399 Jps

6、单独重启丢失的DataNode节点

如果某个DataNode节点Dead(由于死机或人为原因等),可以在不重启整个Hadoop服务的情况下进行单独重启。方法如下:
在NameNode的hadoop-2.5.2/sbin目录下,执行命令启动HDFS DataNode 
./hadoop-daemons.sh start datanode

接着执行命令启动NodeManager

./yarn-daemons.sh start nodemanager
也可以单独启动NameNode节点,命令如下:
./hadoop-daemon.sh start namenode
./yarn-daemon.sh start resourcemanager
上述四个命令都可以指定--config参数,后面跟hadoop的集群配置文件所在目录(即$HADOOP_HOME/etc/hadoop),大家可通过参数-h查看命令帮助信息
注意:上面命令不会影响已经启动的hdfs或yarn服务,只会把丢失节点的服务启动起来。

三、通过浏览器访问

http://10.0.1.100:50070/
http://10.0.1.100:8088/

---------------

特别说明下,上面配置主服务器的slaves文件,使用的是ip配置,此时需要在主服务器的/etc/hosts中增加ip到主机名的映射如下:

10.0.1.201      anyname1
10.0.1.202      anyname2

否则,可能在执行start-dfs.sh命令时,从服务器的DateNode节点打印如下错误日志:

2015-01-16 17:06:54,375 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-1748412339-10.0.1.212-1420015637155 (Datanode Uuid null) service to /10.0.1.218:9000 Datanode denied communication with namenode because hostname cannot be resolved (ip=10.0.1.217, hostname=10.0.1.217): DatanodeRegistration(0.0.0.0, datanodeUuid=3ed21882-db82-462e-a71d-0dd52489d19e, infoPort=50075, ipcPort=50020, storageInfo=lv=-55;cid=CID-4237dee9-ea5e-4994-91c2-008d9e804960;nsid=358861143;c=0)

大意是无法将ip地址解析成主机名,也就是无法获取到主机名,需要在/etc/hosts中进行指定。

本文章参照了http://blog.csdn.net/greensurfer/article/details/39450369

Hadoop-2.5.2集群安装配置详解相关推荐

  1. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

  2. 深入分析redis cluster 集群安装配置详解

    Redis 集群是一个提供在多个Redis间节点间共享数据的程序集.redis3.0以前,只支持主从同步的,如果主的挂了,写入就成问题了.3.0出来后就可以很好帮我们解决这个问题. 目前redis 3 ...

  3. Windows下搭建Tomcat集群的配置详解

    < Windows下搭建Tomcat集群基础入门详解 > 前言 在搭建 < Apache + Tomcat 实现Web服务器集群 > 前我们还需要实现 Tomcat集群实现Se ...

  4. CentOS系统下Hadoop 2.4.1集群安装配置(简易版)

    安装配置 1.软件下载 JDK下载:jdk-7u65-linux-i586.tar.gz http://www.oracle.com/technetwork/java/javase/downloads ...

  5. Elasticsearch集群节点配置详解

    注意:如果是在局域网中运行elasticsearch集群也是很简单的,只要cluster.name设置一致,并且机器在同一网段下,启动的es会自动发现对方,组成集群. 三.配置浅涉 elasticse ...

  6. LVS集群应用配置详解

    一. 目录 关于集群的介绍. 什么是负载均衡以及为什么需要负载均衡. 负载均衡技术的特点. 负载均衡集群的常见解决方案. lvs介绍及管理工具. 实现lvs集群服务的三种类型方法介绍. LVS调度算法 ...

  7. ABAQUS有限元仿真计算工作站单机多核/多机多核集群硬件配置详解

    ABAQUS有限元软件用于分析复杂的固体力学.结构力学系统,特别是庞大复杂的问题和模拟高度非线性问题:其解决问题的范围从相对简单的线性分析到许多复杂的非线性问题.作为通用的模拟工具, ABAQUS 除 ...

  8. Hadoop 2.5.1集群安装配置

    本文的安装只涉及了hadoop-common.hadoop-hdfs.hadoop-mapreduce和hadoop-yarn,并不包含HBase.Hive和Pig等. http://blog.csd ...

  9. 一步步教你Hadoop多节点集群安装配置

    一步步教你Hadoop多节点集群安装配置 1.集群部署介绍 1.1 Hadoop简介  Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hado ...

最新文章

  1. java查看内存地址_Java内存机制和内存地址
  2. php 动态链接,LevelDB(动态链接) + PHP扩展 安装
  3. struts2 验证框架原理及实例
  4. Java空指针异常解决java.lang.NullPointerException解决心得
  5. CentOS7安装MySQL8.0图文教程
  6. 烟台农业走进物联网大数据时代
  7. springboot入门程序
  8. 惠普战66怎么用u盘进入系统_惠普笔记本怎么用u盘启动装系统,空间也要大所以超来超受欢迎!...
  9. Xcode版本更新后插件失效解决办法
  10. priority_queue实现大顶堆和小顶堆
  11. 2016蓝桥杯C++A:网友年龄
  12. 教你如何用vbs实现微信自动发送消息功能
  13. 关于JS跨域访问简述
  14. **恶意代码系列** MS-DOS系统安装
  15. 叮,你有一份光线追踪技术合集待查收 | IMG2020
  16. 蓝桥杯近三年初赛题之一(15年b组)
  17. MySQL引用ibd_Linux下使用ibd文件实现MySQL的数据导入和使用
  18. c 语言万年历 节日查询,C语言 程序设计 节日查询和任务提醒系统万年历.doc
  19. linux创建文档并且打字,与 Linux 一起学习:学习打字
  20. 为什么选择语音验证码?

热门文章

  1. [Luogu P2057] 善意的投票
  2. 盛志凡:智能电视操作系统TVOS2.0-广电终端智能化的主引擎
  3. 软件著作权申请有什么条件?
  4. 我的STM32入门经验
  5. 将dicom的ct值归一到(0,255)
  6. XSSF:POI IndexedColors 编码 与 颜色 对照(本想自定义颜色,不方便实现。先尽量找个能用的)
  7. python中entry的使用方法_Python3.7 - tkinter Gui 05 Entry的使用
  8. 二十八、K8s最小服务漏洞2-OPA
  9. 基于经度坐标校正鱼眼图像---python实现
  10. 参考文献管理软件Jabref和Zotero使用笔记