Hadoop完全分布式搭建

本文详细介绍Hadoop2.7.3版本在CentOS6.5环境下的集群搭建过程,包括系统及环境要求、具体搭建步骤、配置文件修改等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

        用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

        Hadoop实现了一个分布式系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

        Hadoop的框架最核心的设计就是:HDFSMapReduceYarn。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算,Yarn负责资源调度。

                                                                                                                                                                         ----引自百度百科

一、搭建前的准备

  1. 系统要求:Linux(CentOS),本次示例使用CentOS6.5。集群至少需要三台这样的centos系统,并且分别的更改主机名为admin,slave1,slave2,便于后续的配置。本文省略Linux环境的部署,包括网络配置,修改hosts文件,以及免密配置。(后续会继续更新完整的搭建流程,虚拟机+Linux+jdk+hadoop+hbase+hive)
  2. 环境要求:Hadoop是基于JVM运行的,安装前必须安装好JDK1.8
  3. 版本选择:Hadoop 2.7.3

二、开始搭建

  1. 安装之前先配置好Linux系统,设置静态IP(便于远程连接以及hadoop集群之间的免密配置),修改主机名为admin作为主节点,另外两台修改主机名为slave1和slave2,三个centos中都创建hadoop用户(以后所有的安装配置都在该用户下进行)。
  2. 通过ftp(未安装ftp服务自行安装)文件服务上传Hadoop 2.7.3的安装包至指定目录,这里上传到根目录下的/diyhome/tools。

                 注:如过安装ftp服务失败或者无法上传,可以使用lrzsz命令,具体如下

[root@admin ~]# yum install -y lrzsz

                  然后切换到需要上传文件的目录下,输入rz,运行,会弹出上传对话框,选择指定文件,等待上传完成即可。

     3. 将hadoop压缩包解压到指定目录下,这里解压到根目录下的/diyhome/tools_home

[hadoop@admin tools]$ tar -zxvf hadoop-2.7.3.tar.gz -C /diyhome/tools_home/

     4.创建软连接,便于以后配置环境变量。

[hadoop@admin tools]$ ln -s /diyhome/tools_home/hadoop-2.7.3/ ~/hadoop

    5.配置环境变量。

[hadoop@admin tools]$ sudo vi /etc/profile

    添加如下代码

export JAVA_HOME=~/jdk
export HADOOP_HOME=~/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    使环境变量生效

[hadoop@admin tools]$ source /etc/profile

    输入hadoop version,并出现如下结果说明配置正确

[hadoop@admin tools]$ hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /diyhome/tools_home/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar

    6.修改配置文件,进如到如下目录

[hadoop@admin ~]$ cd hadoop/etc/hadoop
[hadoop@admin ~]$ ls
capacity-scheduler.xml      kms-env.sh
configuration.xsl           kms-log4j.properties
container-executor.cfg      kms-site.xml
core-site.xml               log4j.properties
hadoop-env.cmd              mapred-env.cmd
hadoop-env.sh               mapred-env.sh
hadoop-metrics2.properties  mapred-queues.xml.template
hadoop-metrics.properties   mapred-site.xml.template
hadoop-policy.xml           slaves
hdfs-site.xml               ssl-client.xml.example
httpfs-env.sh               ssl-server.xml.example
httpfs-log4j.properties     yarn-env.cmd
httpfs-signature.secret     yarn-env.sh
httpfs-site.xml             yarn-site.xml
kms-acls.xml

    7. 修改hadoop-env.cmd,找到大概十行左右,将JAVA_HOME修改为~/jdk

[hadoop@admin hadoop]$ vi hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=~/jdk

    8. 修改slaves,删除所有内容,添加如下代码

[hadoop@admin hadoop]$ vi slaves 
admin
slave1
slave2

    9.修改core-site.xml,清空内容,复制下面代码

       <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
	<property>
	   <name>fs.defaultFS</name>
	   <value>hdfs://admin:9000</value>
	</property>
	<property>
	   <name>hadoop.tmp.dir</name>
	   <value>/cluster/tmp/hadoop</value>
	</property>
</configuration>

    10. 修改hdfs-site.xml,清空内容,复制下面代码


  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->
      <configuration>
	   <property>
	      <name>dfs.replication</name>
	      <value>3</value>
	   </property>
	   <property>
	      <name>dfs.namenode.secondary.http-address</name>
	      <value>slave1:50090</value>
	   </property>
	</configuration>

    11. 修改yarn-site.xml,清空内容,复制下面代码

    <configuration>
	  <property>
	      <name>yarn.nodemanager.aux-services</name>
	      <value>mapreduce_shuffle</value>
	  </property>
	  <property>
	     <name>yarn.resourcemanager.hostname</name>
	     <value>slave2</value>
	  </property>
	</configuration>

    12. 修改mapred-site.xml,先复制一个mapred-site.xml,然后清空内容,复制下面代码

	<configuration>
	    <property>
	       <name>mapreduce.framework.name</name>
	       <value>yarn</value>
	   </property>
	</configuration>

    13. 分发所有文件到其他两台机器

     [hadoop@admin hadoop]$ scp /etc/profile slave1:~/
     [hadoop@admin hadoop]$ scp /etc/profile slave2:~/
     [hadoop@admin hadoop]$ scp -r /diyhome/ slave1:/
     [hadoop@admin hadoop]$ scp -r /diyhome/ slave2:/

    14. 分别去slave1和slave2配置软连接

[hadoop@slave1 tools]$ ln -s /diyhome/tools_home/hadoop-2.7.3/ ~/hadoop
[hadoop@slave2 tools]$ ln -s /diyhome/tools_home/hadoop-2.7.3/ ~/hadoop

    15. 格式化namenode

[hadoop@admin tools]$ hadoop namenode -format

三、启动集群

    在任意节点上运行如下命令

[hadoop@admin hadoop] $ start-all.sh
[hadoop@admin hadoop] $ jps
3312 NameNode
4087 Jps
3879 NodeManager
3562 SecondaryNameNode
3772 ResourceManager

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值