Hadoop全分布环境搭建

  1. 环境
    Vmware+centos7+jdk8+hadoop-2.7.3
  2. 说明
    hadoop全分布模式需要三台主机:ethan001,ethan002,ethan003
  3. 主机分布规划:
    主节点:ethan001
    从节点:ethan002 ethan003

一、准备工作

1、hadoop安装包,hadoop-2.7.3.tar
提码:1111
2、三台安装好jdk的虚拟机,jdk安装教程
3、所有主机都配置好主机名映射关系
vi /etc/hosts
输入自己三台虚拟机的ip 主机名():

192.168.174.140 ethan001
192.168.174.141 ethan003
192.168.174.142 ethan002

4、三台主机之间配置好免密登录

5、保证每台机器的时间是一样的
如果不一样的话,我们在执行MapReduce程序的时候可能会存在问题.。 解决方案:

  • 搭建一个时间同步的服务器,网上很多教程可以使用

二、开始安装配置

  • 安装和配置环境变量
  1. 在主机/opt/目录下创建两个目录:soft和module
    mkdir /opt/soft /opt/module
  2. 将hadoop安装包上传到主机ethan002上的soft目录下
  3. 解压安装包到module目录下
    tar -zvxf hadoop-2.7.3.tar.gz -C /opt/module/
  4. 配置环境变量
    vi /etc/profile
    #hadoop
    export HADOOP_HOME=/opt/module/hadoop-2.7.3
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
  5. 创建tmp目录
    mkdir /opt/module/hadoop-2.7.3/tmp
  • 集群配置
  1. 集群部署规划
    在这里插入图片描述

  2. 规划集群
    (1) 修改haoop-env.sh 添加JAVA_HOME
    命令:
    vi /opt/module/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
    添加如下信息:
    export JAVA_HOME=/opt/module/jdk1.8.0_171

    (2) 核心配置文件
    配置core-site.xml
    vi core-site.xml
    在文件中添加如下配置信息:

    <!-- 指定HDFS中NameNode的地址 -->
    <property>
    		<name>fs.defaultFS</name>
          <value>hdfs://ethan001:9000</value>
    </property>
    
    <!-- 指定Hadoop运行时产生文件的存储目录 -->
    <property>
    		<name>hadoop.tmp.dir</name>
    		<value>/opt/module/hadoop-2.7.3/data/tmp</value>
    </property>
    

    (3)配置hdfs-site.xml文件
    vi hdfs-site.xml
    添加如下配置信息:

    <property>
    	<name>dfs.replication</name>
    	<value>3</value>
    </property>
    <!-- 指定Hadoop辅助名称节点主机配置 -->
    <property>
     	 <name>dfs.namenode.secondary.http-address</name>
       <value>ethan003:50090</value>
    </property>
    

    (4) 配置yarn-site.xml文件
    vi yarn-site.xml
    添加如下配置信息:

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    <!-- 指定YARN的ResourceManager的地址 -->
    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>ethan002</value>
    </property>
    <!-- 日志聚集功能使能 -->
    <property>
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
    </property>
    
    <!-- 日志保留时间设置7天 -->
    <property>
            <name>yarn.log-aggregation.retain-seconds</name>
            <value>604800</value>
    </property>
    <!-- Site specific YARN configuration properties -->
    <property>
            <name>yarn.log.server.url</name>
            <value>http://ethan002:19888/jobhistory/logs</value>
    </property>
    <!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
    

    (5)配置mapred-site.xml文件
    vi mapred-site.xml
    添加如下配置信息:

    	<property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
      	  		<name>mapreduce.jobhistory.address</name>
      	 		 <value>ethan001:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>ethan001:19888</value>
        </property>
        <!--第三方框架使用yarn计算的日志聚集功能 -->
        <property>
                <name>yarn.log.server.url</name>
                <value>http://ethan001:19888/jobhistory/logs</value>
        </property>
    
    

    (6)配置slaves文件
    vi /opt/module/hadoop-2.7.3/etc/hadoop/slaves
    添加如下信息(添加的是hadoop集群的DataNode节点的主机名):

    ethan002
    ethan003
    

    (7) 将hadoop分发到其他节点

    scp -r hadoop-2.7.3 root@ethan001:/opt/module/
    scp -r hadoop-2.7.3 root@ethan003:/opt/module/
    

    查看分发情况:
    cat /opt/module/hadoop-2.7.3/etc/hadoop/core-site.xml
    (8)格式化NameNode
    hdfs namenode -format
    输出的日志中有如下信息则成功
    Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.

    三、启动hadoop集群

    在ethan002上启动hadoop,因为yarn是配置在ethan002上的,只有在ethan002上启动集群时ResourceManager和nodeManager进程才会启动。
    启动命令:
    start-all.sh

    四、验证

  • 查看进程
    jps
    在这里插入图片描述

  • 浏览网页
    hdfs:
    http://ethan001:50070
    在这里插入图片描述

    yarn:
    http://ethan002:8080
    在这里插入图片描述

至此,hadoop集群的安装完成,主要的就是一定要先安装jdk


如果您在阅读时发现存在错误,还请您帮忙指出,非常感谢
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是Hadoop分布式搭建的步骤: 1.安装Java环境 2.下载Hadoop压缩包并解压 3.配置Hadoop环境变量 4.配置Hadoop的三个核心文件:core-site.xml、hdfs-site.xml、mapred-site.xml 5.格式化HDFS文件系统 6.启动Hadoop 具体步骤如下: 1.安装Java环境 Hadoop是基于Java开发的,因此需要先安装Java环境。可以通过以下命令安装: ```shell sudo apt-get update sudo apt-get install default-jdk ``` 2.下载Hadoop压缩包并解压 可以从Hadoop官网下载最新版本的Hadoop压缩包,也可以使用以下命令下载: ```shell wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz ``` 下载完成后,解压缩: ```shell tar -zxvf hadoop-3.3.1.tar.gz ``` 3.配置Hadoop环境变量 在.bashrc文件中添加以下内容: ```shell export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后运行以下命令使配置生效: ```shell source ~/.bashrc ``` 4.配置Hadoop的三个核心文件:core-site.xml、hdfs-site.xml、mapred-site.xml 在Hadoop的conf目录下,有三个核心文件需要配置:core-site.xml、hdfs-site.xml、mapred-site.xml。 core-site.xml的配置: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` hdfs-site.xml的配置: ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/path/to/hadoop/hadoop_data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/path/to/hadoop/hadoop_data/hdfs/datanode</value> </property> </configuration> ``` mapred-site.xml的配置: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 5.格式化HDFS文件系统 在Hadoop的bin目录下,运行以下命令格式化HDFS文件系统: ```shell hdfs namenode -format ``` 6.启动HadoopHadoop的sbin目录下,运行以下命令启动Hadoop: ```shell start-all.sh ``` 以上是Hadoop分布式搭建的步骤,如果需要更详细的步骤和说明,可以参考Hadoop官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

似懂非dong

你的肯定使我加倍努力

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

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

打赏作者

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

抵扣说明:

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

余额充值