`
shihuan830619
  • 浏览: 583061 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hadoop集群环境搭建

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

一、环境

我的是在Linux环境下进行安装的。

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

192.168.3.100 NameNode          --主机名testhadoop
192.168.3.201 DataNode1         --主机名hadoopsub1
192.168.3.202 DataNode2         --主机名hadoopsub2

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

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

1、安装jdk
[root@testhadoop hadoop]# rpm -ivh jdk-7u80-linux-x64.rpm
[root@testhadoop hadoop]# vi /etc/profile
JAVA_HOME=/usr/java/jdk1.7.0_80
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

[root@testhadoop hadoop]# source /etc/profile

[root@testhadoop hadoop]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

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

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

[root@testhadoop hadoop]# cd ~
[root@testhadoop ~]# cd .ssh/
[root@testhadoop .ssh]# ssh-keygen -t rsa
一直回车。.ssh目录下多出两个文件
私钥文件:id_rsa        公钥文件:id_rsa.pub
[root@testhadoop .ssh]# cp id_rsa.pub authorized_keys

将公钥文件authorized_keys分发到各DataNode节点:
[root@testhadoop .ssh]# scp authorized_keys root@192.168.3.201:/root/.ssh/
[root@testhadoop .ssh]# scp authorized_keys root@192.168.3.202:/root/.ssh/

验证ssh无密码登录:
[root@testhadoop .ssh]# ssh root@192.168.3.201
Last login: Fri Dec 11 15:52:52 2015 from 192.168.3.100
看到以上信息,表示配置成功!如果还提示要输入密码,则配置失败。


二、下载及安装Hadoop
去hadoop官网上(http://hadoop.apache.org/)下载合适的hadoop版本。我选择的是比较新的2.6.2版本。文件名为hadoop-2.6.2.tar.gz,下载文件上传到/usr/local下(三个服务器都要上传),切换到该目录下,解压:
[root@testhadoop local]# tar -zvxf hadoop-2.6.2.tar.gz
[root@testhadoop local]# mv hadoop-2.6.2 hadoop
[root@testhadoop local]# vi /etc/profile
JAVA_HOME=/usr/java/jdk1.7.0_80
HADOOP_HOME=/usr/local/hadoop
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export JAVA_HOME HADOOP_HOME CLASSPATH PATH

[root@testhadoop local]# source /etc/profile

配置之前,先在本地文件系统创建以下文件夹:/usr/local/hadoop/tmp、/usr/local/hadoop/dfs/data、/usr/local/hadoop/dfs/name。 主要涉及的配置文件有7个:都在/hadoop/etc/hadoop文件夹下。
/hadoop/etc/hadoop/hadoop-env.sh
/hadoop/etc/hadoop/yarn-env.sh
/hadoop/etc/hadoop/slaves
/hadoop/etc/hadoop/core-site.xml
/hadoop/etc/hadoop/hdfs-site.xml
/hadoop/etc/hadoop/mapred-site.xml
/hadoop/etc/hadoop/yarn-site.xml


主服务器(192.168.3.100)进入配置目录:cd /usr/local/hadoop/etc/hadoop
修改core-site.xml文件:
<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/tmp</value>
    <description>Abase for other temporary directories.</description>
  </property>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.3.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>192.168.3.100:50090</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///usr/local/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///usr/local/hadoop/dfs/data</value>
  </property>
  <property>
    <name>dfs.replication</name>
    --这个有几台从服务器就配置几,笔者这里有两台从服务器,所以配置的值是2
    <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>192.168.3.100:50030</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>192.168.3.100:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>192.168.3.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>192.168.3.100:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>192.168.3.100:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.3.100:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.3.100:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    --这里是配置通过web模式访问hadoop下的应用端口
    <value>192.168.3.100:8088</value>
  </property>
</configuration>

修改slaves文件:
192.168.3.201
192.168.3.202

修改hadoop-env.sh文件:
export JAVA_HOME=/usr/java/jdk1.7.0_80
修改yarn-env.sh文件:
export JAVA_HOME=/usr/java/jdk1.7.0_80



[root@testhadoop etc]# vi hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.3.201     hadoopsub1
192.168.3.202     hadoopsub2



3、格式化文件系统
[root@testhadoop hadoop]# pwd
/usr/local/hadoop
[root@testhadoop hadoop]# bin/hdfs namenode -format
注意:这里的格式化文件系统并不是硬盘格式化,只是针对主服务器hdfs-site.xml的dfs.namenode.name.dir和dfs.datanode.data.dir目录做相应的清理工作。
[root@hadoopsub1 hadoop]# bin/hdfs namenode -format
[root@hadoopsub2 hadoop]# bin/hdfs namenode -format
注意:这里的两个从服务器也要做清理工作。


4、启动和停止服务
[root@testhadoop hadoop]# sbin/start-dfs.sh
[root@testhadoop hadoop]# sbin/start-yarn.sh
或者
[root@testhadoop hadoop]# sbin/start-all.sh


[root@testhadoop hadoop]# sbin/stop-dfs.sh
[root@testhadoop hadoop]# sbin/stop-yarn.sh
或者
[root@testhadoop hadoop]# sbin/stop-all.sh


5、查看启动的进程
[root@testhadoop hadoop]# jps
3039 ResourceManager
3311 Jps
2806 NameNode

[root@hadoopsub ~]# jps
3151 Jps
2926 DataNode
3029 NodeManager


6、查看集群状态
[root@testhadoop hadoop]# ./bin/hdfs dfsadmin -report
15/12/11 16:36:40 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Configured Capacity: 52844687360 (49.22 GB)
Present Capacity: 46288113664 (43.11 GB)
DFS Remaining: 46288089088 (43.11 GB)
DFS Used: 24576 (24 KB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0

-------------------------------------------------
Live datanodes (1):

Name: 192.168.3.201:50010 (hadoopsub)
Hostname: hadoopsub
Decommission Status : Normal
Configured Capacity: 52844687360 (49.22 GB)
DFS Used: 24576 (24 KB)
Non DFS Used: 6556573696 (6.11 GB)
DFS Remaining: 46288089088 (43.11 GB)
DFS Used%: 0.00%
DFS Remaining%: 87.59%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Fri Dec 11 16:36:39 CST 2015


三、通过浏览器访问
http://192.168.3.100:50070/


http://192.168.3.100:8088/


特别说明下,上面配置主服务器的slaves文件,使用的是ip配置,此时需要在主服务器的/etc/hosts中增加ip到主机名的映射如下:
[root@testhadoop etc]# vi hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.3.201     hadoopsub1
192.168.3.202     hadoopsub2
否则,可能在执行start-dfs.sh命令时,从服务器的DateNode节点打印如下错误日志:
2015-12-11 16:50:36,375 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-1748412339-192.168.3.201-1420015637155 (Datanode Uuid null) service to /192.168.3.202:9000 Datanode denied communication with namenode because hostname cannot be resolved (ip=192.168.3.201, hostname=192.168.3.201):
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中进行指定。

】:整个配置过程需要在从服务器上的操作有:安装jdk、/hadoop/etc/hadoop/hadoop-env.sh、/hadoop/etc/hadoop/yarn-env.sh、/hadoop/etc/hadoop/core-site.xml,还有在从服务器上需要执行的一个命令[root@hadoopsub hadoop]# bin/hdfs namenode -format
  • 大小: 129.3 KB
  • 大小: 137.5 KB
  • 大小: 98.5 KB
分享到:
评论

相关推荐

    1.hadoop集群环境搭建.docx

    基于Centos7下的hadoop2.7集群的搭建。(在vmware中的2台虚拟机。)

    hadoop集群环境的搭建

    "hadoop集群环境的搭建" Hadoop 是一个开源的大数据处理框架,由Apache基金会开发和维护。它可以实现大规模数据的存储和处理,具有高可扩展性、可靠性和高性能等特点。搭建 Hadoop 集群环境是实现大数据处理的重要...

    Hadoop集群环境搭建.md

    Hadoop集群环境搭建,实战篇

    linux下Hadoop集群环境搭建

    在Linux环境下搭建Hadoop集群是一项复杂但至关重要的任务,它为大数据处理提供了强大的分布式平台。以下将详细介绍如何在一台虚拟机上安装多台Linux服务节点,并构建Hadoop集群环境。 首先,我们需要准备一个基础...

    hadoop集群环境搭建

    hadoop单机和集群搭建过程,一共三个节点,很详细,每一步都有截图

    hadoop学习笔记(一、hadoop集群环境搭建).docx

    【Hadoop集群环境搭建】 Hadoop是一个开源的分布式计算框架,它允许在大规模集群中运行应用程序,处理海量数据。在本文中,我们将详细介绍如何搭建一个Hadoop集群环境,包括必要的步骤和配置。首先,我们需要准备...

    详解从 0 开始使用 Docker 快速搭建 Hadoop 集群环境

    Linux Info: Ubuntu 16.10 x64 Docker 本身就是基于 Linux 的,所以首先以我的一台服务器做实验。虽然最后跑 wordcount 已经由于内存不足而崩掉,但是之前的过程还是可以参考的。 连接服务器 使用 ssh 命令连接远程...

    HADOOP快速入门及搭建集群环境

    YARN是HADOOP的资源管理器,负责管理HADOOP集群中计算资源的分配。 1.2 HADOOP产生背景 HADOOP的产生背景是大数据时代的到来,随着数据量的急剧增长,传统的数据处理方式无法满足需求,HADOOP的出现解决了这个问题...

    Hadoop集群架构搭建分析

    Hadoop 集群架构搭建分析是指设计和搭建一个高效、可靠、可扩展的 Hadoop 集群环境,以满足大数据处理和分析的需求。本文将从概述、环境准备、环境搭建三个方面对 Hadoop 集群架构搭建进行分析。 一、概述 Hadoop ...

    基于centos的大数据hadoop集群搭建说明文档

    【标题】:基于CentOS的大数据Hadoop集群搭建详解 【描述】:本教程专为初学者设计,详细阐述了如何手动搭建Hadoop集群,步骤详尽,易于理解。 【标签】:Hadoop集群搭建 【正文】: Hadoop是一个开源的分布式...

    hadoop环境搭建,机器部署以及 Linux 常用命令操作指南

    本指南将指导用户从头开始搭建 Hadoop 环境,包括虚拟机环境的准备、Linux 基础知识、shell 增强大数据集群环境准备、ZooKeeper 介绍及集群操作网络编程等方面的内容。 虚拟机环境准备 虚拟机环境准备是搭建 ...

    hadoop集群搭建(超级详细)

    在大数据领域,Hadoop是一个广泛使用的开源框架,用于存储和处理海量数据。本文将详细讲解如何搭建一个...这个超详细的教程覆盖了从零开始到集群搭建完成的全过程,按照步骤执行,可以轻松掌握Hadoop集群搭建技术。

    hadoop开发环境搭建

    在Eclipse中,可以通过以下步骤建立与Hadoop集群的连接: 1. **打开Map/Reduce Locations**:在Eclipse下方窗口找到“Map/Reduce Locations”。 2. **新建Hadoop Location**:在空白区域右键单击,选择“New Hadoop...

    3.基于hadoop集群搭建hbase

    ### 基于Hadoop集群搭建HBase集群详解 #### 一、引言 随着大数据技术的迅猛发展,海量数据的高效存储与处理成为企业关注的重点。Hadoop作为一款能够处理大量数据的基础框架,被广泛应用于各类场景之中。然而,在...

    Hadoop的安装、配置过程和集群运行截图。

    全程跟着安装配置的一般不会出现问题,jdk版本尽量选择和Hadoop版本相容的,Hadoop版本可以选择较低版本,2.7版本较为稳定,Linux系统版本没有多大要求,一般将Hadoop和jdk版本选择好就行,这个作业较为简单,在安装...

    Hadoop集群环境虚拟机上搭建详解

    根据提供的文件信息,下面将详细介绍在虚拟机上搭建Hadoop集群环境的相关知识点。 1. 安装虚拟机和操作系统 首先,需要安装虚拟机软件,例如文档中提到的VMware Workstation,它是一款流行的虚拟化软件,可以安装在...

    大数据教程之搭建Hadoop集群.zip_大数据环境搭建hadoop

    综上所述,这个压缩包提供了全面的Hadoop集群搭建教程,涵盖了从基础环境准备、服务器配置、Hadoop安装、SSH和FTP服务的设置,到集群管理和维护等多个环节。对于想要学习和实践Hadoop大数据处理的人来说,这是一个...

Global site tag (gtag.js) - Google Analytics