Hadoop集群搭建

本文详细介绍了如何在三台服务器上安装Hadoop,包括下载、解压、Java环境设置、hosts文件修改、Hadoop配置(包括HDFS、MapReduce、YARN等)、以及启动和验证步骤。适用于了解Hadoop的程序员作为参考。
摘要由CSDN通过智能技术生成

目录

一、引言

二、简介

三、下载&解压及java环境搭建(三台服务器都需要)

四、修改hosts文件添加hadoop用户及免密登陆(三台服务器都需要)

五、hadoop配置(先配置一台然后复制)

六、启动hadoop并验证


官网:Apache Hadoop

一、引言

适用人群:了解hadoop的程序猿。

文章目的:记录hadoop集群安装,提供参考。

二、简介

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

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

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

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

三、下载&解压及java环境搭建(三台服务器都需要)

hadoop安装包可到http://mirrors.tuna.tsinghua.edu.cn/apache/ 网址下载安装包,文中所用版本包为hadoop-2.7.3.tar.gz。将安装包解压缩到/opt/tpapp/文件加下面。

hadoop会使用到java环境,需要早三台机器上分别安装上java环境:此处不做安装说明。

配置hadoop环境变量:

cd /etc/profile 添加以下内容

export HADOOP_HOME=/opt/tpapp/hadoop

export PATH=$PATH:$HADOOP_HOME/sbin

export PATH=$PATH:$HADOOP_HOME/bin

编辑保存后,执行source /etc/profile 使其生效。

四、修改hosts文件添加hadoop用户及免密登陆(三台服务器都需要)

  1. 修改hosts文件,添加hadoop集群的三台服务器域名配置,假设有A、B、C三台服务器,A为master主机。添加配置到hosts
    10.100.40.70    master
    10.100.40.80    node1
    10.100.40.90    node2
  2. 添加专门操作hadoop集群的用户和用户组

    • 添加hadoop 用户组,命令:
      groupadd hadoop
    • 添加haddop用户名称,命令:
      useradd hadoop
      
    • 将用户添加到用户组,命令:
      usermod  -G hadoop hadoop
    • 添加用户权限,命令:
      vi /etc/sudoers 
      在配置文件中添加hadoop   ALL=(ALL)    ALL
    • 测试连通性,用hadoop用户执行连通性测试,命令:

      ping + 配置的域名
      
  3. 配置免密ssh登陆并验证连通性(A相对B、C免密登陆)
    ssh免密登陆hadoop功能上需要用到所以这个需要配置,详情请见hadoop模块的免密登陆:
    http://gw-publish.tpis.tpaic.com/ATS/index.do#/web/article/detail/web/ARTICLE/1e3e6313-eea7-4a50-affc-2fae1c799c57

五、hadoop配置(先配置一台然后复制)

  1. 创建data文件夹,命令:
    cd /opt/tpapp/hadoop/
    mkdir -p dfs/name
    mkdir -p dfs/data
  2. 修改配置文件,core-site.xml 添加以下内容:
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>io.file.buffer.size</name>
            <value>131072</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/hadoop/tmp</value>
            <description>Abase for other temporary   directories.</description>
        </property>
    </configuration>

  3. 修改配置文件,hadoop-env.sh 添加以下内容:
    export JAVA_HOME=/opt/tpapp/jdk1.7.0_25
    #JAVA_HOME 为机器上的JDK位置
  4. 修改配置文件,hdfs-site.xml 添加以下内容:
    <configuration>
    	<property>
    		<name>dfs.permissions</name>
    		<value>false</value>
    	</property>
    
           <property>
                    <name>dfs.namenode.secondary.http-address</name>
                   <value>master:9001</value>
           </property>
         <property>
                 <name>dfs.namenode.name.dir</name>
                 <value>/usr/hadoop/dfs/name</value>
           </property>
          <property>
                  <name>dfs.datanode.data.dir</name>
                  <value>/usr/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>

  5. 修改配置文件,mapred-site.xml 添加以下内容:
    <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
    </property>
    <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
    </property>
    </configuration>

  6. 修改配置文件,slaves 添加以下内容:
    node1
    node2
  7. 修改配置文件,yarn-site.xml 添加以下内容:
    <configuration>
            <property>
                   <name>yarn.nodemanager.aux-services</name>
                   <value>mapreduce_shuffle</value>
            </property>
            <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
            </property>
            <property>
                   <name>yarn.resourcemanager.address</name>
                   <value>master:8032</value>
           </property>
           <property>
                   <name>yarn.resourcemanager.scheduler.address</name>
                   <value>master:8030</value>
           </property>
           <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                 <value>master:8031</value>
          </property>
          <property>
                  <name>yarn.resourcemanager.admin.address</name>
                   <value>master:8033</value>
           </property>
           <property>
                   <name>yarn.resourcemanager.webapp.address</name>
                   <value>master:8088</value>
           </property>
    </configuration>

  8. 修改完上文件后,将修改好的hadoop文件传给node1、node2服务器:
    scp -r /opt/tpapp/hadoop hadoop@node1:/opt/tpapp/
    scp -r /opt/tpapp/hadoop hadoop@node2:/opt/tpapp/
  9. 使用root用户对文件夹opt/tpapp/hadoop进行归属操作
    chown -R hadoop:hadoop opt/tpapp/hadoop

六、启动hadoop并验证

使用hadoop用户进入A服务器hadoop目录,(因为是集群部署,只需要在A master机器上启动即可)执行以下命令:

    bin/hdfs namenode -format
    sbin/start-all.sh

注:第一次初始化Hadoop集群式需要执行bin/hdfs namenode -format初始化文件系统设置相关参数清除多余文件,在正常使用过程中不需要执行这个命令,直接启停即可;否则文件系统会格式化掉已经存在的数据。

启动后在master和node1、node2服务器执行命令:

jps

如果出现以下界面中红框内容则安装成功:

master :

node1、node2:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一百减一是零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值