Hadoop-3.1.1完全分布式集群搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JoJoSIR/article/details/83268745

一、工作准备

1.虚拟机

  1. 安装Vmware
  2. 安装CentOs虚拟机三台
  • master 192.168.33.101
  • slave1 192.168.33.102
  • slave2 192.168.33.103

2.虚拟机配置

以master为例

  1. 修改主机名

    hostname master

  2. 配置静态ip
    修改ifcfg-eno16777736,该文件在/etc/sysconfig/network-scripts下
    在这里插入图片描述
    修改/etc/sysconfig/network,添加如下内容:

    NETWORKING=yes
    HOSTNAME=master
    GATEWAY=192.168.33.1

    修改/etc/resolv.conf,添加DNS

    nameserver 8.8.8.8

    使网络修改生效
    service network restart

  3. 安装JDK
    卸载原有的JDK

    rpm -qa | grep jdk #查看原有的JDK
    rpm -e --nodeps java-XXX #卸载JDK
    

    安装JDK
    下载(官网下载,https://www.oracle.com/technetwork/java/javase/downloads/index.html),解压

    wget url
    tar -zvxf jdk-XXXX

    设置环境变量,vim /etc/profile
    在这里插入图片描述
    使环境变量生效 source /etc/profile
    检验JAVA安装 java -version
    在这里插入图片描述
    该报错是权限问题导致的,所以赋予权限就可以完美解决了
    在这里插入图片描述

  4. 关闭防火墙

    systemctl start firewalld #启动防火墙
    systemctl stop firewalld #关闭防火墙
    systemctl disable firewalld #开机禁用
    systemctl enable firewalld #开机启用
    
  5. 克隆两台主机,命名为slave1、slave2

  6. 建立主机名和ip的映射,修改/etc/hosts文件
    在这里插入图片描述

  7. 配置ssh免密登录
    在这里插入图片描述

    在这里插入图片描述
    在slave1、slave2上做相同操作,将id_rsa.pub中的内容复制到master的authorized_keys
    在这里插入图片描述
    通过scp分发到另外两台主机

    scp authorized_keys root@slave1:~/.ssh/
    

    测试免密登录
    在这里插入图片描述

准备工作完成!

二、hadoop搭建

1.下载hadoop

http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
解压
tar -zvxf hadoop-3.1.1.tar.gz

2.配置环境变量

vim /etc/profile

export HADOOP_HOME=/home/hadoop/apps/hadoop-3.1.1
export PATH=$HADOOP_HOME/bin:$PATH

3.修改配置文件

修改hadoop-3.1.1/etc/hadoop里面的文件,在hadoop-3.1.1目录下,新建文件夹tmp、dfs/data、dfs/name

  1. vim workers
    hadoop-3.1.1将slaves文件更改为workers,删除localhost
master
slave1
slave2
  1. vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181
  1. vim 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>file:/home/hadoop/apps/hadoop-3.1.1/tmp/</value>
    </property>
</configuration>
  1. vim hdfs-site-xml
    hadoop-3.1.1 默认端口9870
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/apps/hadoop-3.1.1/data/tmp</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop/apps/hadoop-3.1.1/data/data</value>
    </property>

    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>

    <property>
        <name>dfs.namenode.secondary.http.address</name>
        <value>master:9870</value>
    </property>

    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>
  1. vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  1. vim mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
         <name>yarn.app.mapreduce.am.env</name>
         <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
         <name>mapreduce.map.env</name>
         <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
         <name>mapreduce.reduce.env</name>
         <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>

    <property>
          <name>mapred.job.tracker</name>
          <value>master:9001</value>
    </property>

    <property>
       <name>mapreduce.map.memory.mb</name>
       <value>1536</value>
    </property>
    <property>
       <name>mapreduce.map.java.opts</name>
       <value>-Xmx1024M</value>
    </property>
    <property>
       <name>mapreduce.reduce.memory.mb</name>
       <value>3072</value>
    </property>
    <property>
       <name>mapreduce.reduce.java.opts</name>
       <value>-Xmx2560M</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>

4.格式化namenode

hdfs namenode -format
格式化只能做一次,第二次格式化需要删除dfs目录下的data和name,且格式化会影响搭建好的hbase

5.启动hadoop

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

查看webUI
在这里插入图片描述
在这里插入图片描述

搭建完成!

猜你喜欢

转载自blog.csdn.net/JoJoSIR/article/details/83268745