Hadoop-2.5.2集群安装配置详解

转载请注明出处: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_23

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

PATH=$JAVA_HOME/bin:$PATH

export 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服务器,输入如下命令

[[email protected] hadoop]# cd ~
[[email protected] ~]# cd .ssh/
[[email protected] .ssh]# ssh-keygen -t rsa

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

私钥文件:id_rsa

公钥文件:id_rsa.pub

复制id_rsa.pub文件为authorized_keys

[[email protected] .ssh]# cp id_rsa.pub authorized_keys

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

[[email protected] .ssh]# scp authorized_keys [email protected]:/root/.ssh/
[[email protected] .ssh]# scp authorized_keys [email protected]:/root/.ssh/

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

验证ssh无密码登录:

[[email protected] .ssh]# ssh [email protected]
Last login: Mon Jan  5 09:46:01 2015 from 10.0.1.100

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

二、下载及安装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>

注:两个从服务器也要按上面修改core-site.xml配置文件,以下其余配置只针对主服务器

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>file:///home/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///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

yarn-env.sh

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

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

三、通过浏览器访问

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

时间: 2024-10-29 02:54:25

Hadoop-2.5.2集群安装配置详解的相关文章

elk集群安装配置详解

#  一:简介 ``` Elasticsearch作为日志的存储和索引平台: Kibana 用来从 Elasticsearch获取数据,进行数据可视化,定制数据报表: Logstash 依靠强大繁多的插件作为日志加工平台: Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash: Log4j 直接与 Logstash 连接,将日志直接 Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志). ``` ####  port ```

Hadoop 2.5.1 集群安装配置

0. 服务说明 NameNode NameNode是HDFS的守护程序,负责记录文件是如何分割成数据块的,以及这些数据块被存储到哪些数据节点上.它的功能是对内存及I/O进行集中管理. DataNode 集群中每个从服务器都运行一个DataNode后台程序,后台程序负责把HDFS数据块读写到本地文件系统.需要读写数据时,由NameNode告诉客户端去哪个DataNode进行具体的读写操作. Secondary NameNode Secondary NameNode是一个用来监控HDFS状态的辅助后

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

安装配置 1.软件下载 JDK下载:jdk-7u65-linux-i586.tar.gz http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html Hadoop下载:hadoop-2.4.1.tar.gz http://www.apache.org/dyn/closer.cgi/hadoop/common/ 2./etc/hosts配置 [html] view plaincopyprin

RabbitMQ 集群安装过程详解

一.安装Erlang 1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境. 从erlang官网下载 otp 18.3.下载链接:http://erlang.org/download/otp_src_18.3.tar.gz linux 可以使用wget http://erlang.org/download/otp_src_18.3.tar.gz 下载 2.解压并配置,编译,安装过程 # tar zvxf otp_src_18.3.tar.gz # mv otp_src_18

Hadoop 2.5.1集群安装配置

本文的安装只涉及了hadoop-common.hadoop-hdfs.hadoop-mapreduce和hadoop-yarn,并不包含HBase.Hive和Pig等. http://blog.csdn.net/aquester/article/details/24621005 1. 规划 1.1. 机器列表 NameNode SecondaryNameNode DataNodes 172.16.0.100 172.16.0.101 172.16.0.110     172.16.0.111  

Hadoop集群安装配置文档

Hadoop集群安装配置文档 日期 内容 修订人 2015.6.3 文档初始化 易新             目录 1 文档概要... 5 1.1软件版本... 5 1.2机器配置... 5 2 虚拟机配置... 5 2.1新建虚拟机... 5 2.2虚拟网络配置... 8 3 CentOS安装及配置... 9 3.1系统安装... 9 3.2系统配置... 10 3.2.1防火墙配置... 10 3.2.2 SElinux配置... 10 3.2.3 IP配置... 11 3.2.4安装vim

集群安装配置Hadoop详细图解

集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8.具体架构: node4 Namenode,secondnamenode,jobtracker node5 Datanode,tasktracker node6 Datanode,tasktracker node7 Datanode,tasktracker node8 Datanode,tasktracker 操作系统为:CentOS release 5.5 (Final) 安装步骤 一.创建Hadoo

spark集群安装配置

spark集群安装配置 一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所具有的优点:但不同于Hadoop MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,节省了磁盘IO耗时,性能比Hadoop更快. 所以,相对来说Hadoop更适合做批处理,而Spark更适合做需要反复迭代的机器学习.下面是我在ubuntu1

Hadoop2.2集群安装配置-Spark集群安装部署

配置安装Hadoop2.2.0 部署spark 1.0的流程 一.环境描写叙述 本实验在一台Windows7-64下安装Vmware.在Vmware里安装两虚拟机分别例如以下 主机名spark1(192.168.232.147),RHEL6.2-64 操作系统,usernameRoot 从机名spark2(192.168.232.152).RHEL6.2-64 操作系统,usernameRoot 二.环境准备 1.防火墙禁用.SSH服务设置为开机启动.并关闭SELINUX 2.改动hosts文件