美文网首页
手把手教你配置hadoop(二)

手把手教你配置hadoop(二)

作者: 汤海怪 | 来源:发表于2019-12-21 21:19 被阅读0次

    1.进入Hadoop软件包,命令如下:

    先切回到root用户
    [kkb@master ~]$ su - root
    
    进入到hadoop目录下(压缩包可以使用鼠标将压缩包拖入虚拟机中)
    [root@master ~]$ cd /software/hadoop/
    
    解压Hadoop安装包命令如下:
    [root@master hadoop]$ tar -zxvf hadoop-2.7.3.tar.gz
    
    image.png

    2.配置环境变量hadoop-env.sh

    环境变量文件中,只需要配置JDK的路径

    [root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
    
    在文件的靠前的部分找到下面的一行代码:
    export JAVA_HOME=${JAVA_HOME}
    将这行代码修改为下面的代码:
    export JAVA_HOME=/usr/java/jdk1.8.0_181/
    然后保存文件
    
    image.png

    如果你不知道自己的Java版本可以通过下面的方法得到


    image.png

    配置环境变量yarn-env.sh

    环境变量文件中,只需要配置JDK的路径。

    [root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/yarn-env.sh
    
    在文件的靠前的部分找到下面的一行代码:
    export JAVA_HOME=/home/y/libexec/jdk1.6.0/
    将这行代码修改为下面的代码(将#号去掉):
    export JAVA_HOME=/usr/java/jdk1.8.0_181/
    然后保存文件
    
    image.png

    3.配置核心组件core-site.xml

    使用vi编辑:

    [root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml
    

    用下面的代码替换core-site.xml中的内容:(注意路径一致

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <!-- Put site-specific property overrides in this file. -->
    <configuration>
                    <property>
                                         <name>fs.defaultFS</name>
                                         <value>hdfs://master:9000</value>
                    </property>
                     <property>
                                          <name>hadoop.tmp.dir</name>
                                          <value>/software/hadoop/hadoopdata</value>
                      </property>
    </configuration>
    
    image.png

    4.配置文件系统hdfs-site.xml

    使用vi编辑:

    [root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
    

    用下面的代码替换hdfs-site.xml中的内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <!-- Put site-specific property overrides in this file. -->
    <configuration>
                   <property>
                                          <name>dfs.replication</name>
                                          <value>3</value>
                   </property>
    </configuration>
    
    image.png

    5.配置文件系统yarn-site.xml

    使用vi编辑:

    [root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml
    

    用下面的代码替换yarn-site.xml中的内容:

    <?xml version="1.0"?>
    <configuration>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    <property>
    <name>yarn.resourcemanager.address</name>
    <value>master:18040</value>
    </property>
    <property> <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:18030</value>
    </property>
    <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:18025</value>
    </property>
    <property> <name>yarn.resourcemanager.admin.address</name>
    <value>master:18141</value>
    </property>
    <property> <name>yarn.resourcemanager.webapp.address</name>
    <value>master:18088</value>
    </property>
    </configuration>
    
    image.png

    6.配置计算框架mapred-site.xml

    复制mapred-site-template.xml文件:

    [root@master hadoop-2.7.3]$ cp /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template
    /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
    

    使用vi编辑:

    [root@master ~]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
    

    用下面的代码替换mapred-site.xml中的内容

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
       <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
       </property>
    </configuration>
    
    cp /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
    

    7.在master节点配置slaves文件

    使用vi编辑:

    [root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/slaves
    

    用下面的代码替换slaves中的内容:

    slave01
    slave02
    
    image.png

    8.更改权限(三个节点都操作)

    给hadoop目录授权

    [root@master hadoop-2.7.3]$ chown kkb.kkb /software/hadoop/ -R  # -R是递归的意思
    
    image.png

    给我们每台虚拟就都创建一个相同路径的hadoop文件夹,方便管理


    image.png

    9.复制到从节点

    使用下面的命令将已经配置完成的Hadoop复制到从节点HadoopSlave上:

    [root@master hadoop-2.7.3]$ su - kkb
    
    [root@master ~]$ scp -r /software/hadoop/hadoop-2.7.3 root@slave01:/software/hadoop
    
    [root@master ~]$ scp -r /software/hadoop/hadoop-2.7.3 root@slave02:/software/hadoop
    

    注意:因为之前已经配置了免密钥登录,这里可以直接远程复制。

    在我们的slave01,slave02中查看hadoop,并都做一次授权

    salve01
    salve02

    六. 启动Hadoop集群

    1.下面所有的操作都使用kkb用户,切换kkb用户的命令是:

    su - kkb(如果已在普通用户下则不用再执行)

    2.配置Hadoop启动的系统环境变量

    该节的配置需要同时在两个节点(HadoopMaster和HadoopSlave)上进行操作,操作命令如下:
    只需要在kkb用户下执行环境变量配置操作即可

    [kkb@master ~]$ vi .bash_profile
    

    复制粘贴以下内容添加到到上面vi打开的文件中:

    JAVA_HOME=/usr/java/jdk1.8.0_181/
    HADOOP_HOME=/software/hadoop/hadoop-2.7.3
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export JAVA_HOME
    export HADOOP_HOME
    export PATH
    
    image.png

    使改动生效命令:

    [kkb@master ~]$ source ~/.bash_profile
    

    3.创建数据目录

    该节的配置需要同时在两个节点(HadoopMaster和HadoopSlave)上进行操作。
    在kkb的用户主目录下,创建数据目录,命令如下:

    [kkb@master ~]$ mkdir /software/hadoop/hadoopdata
    

    4.启动Hadoop集群

    4.1格式化文件系统

    格式化命令如下,该操作需要在HadoopMaster节点上执行:(需要等待一些时间,没有报错进入下一步)

    [kkb@master ~]$ hdfs namenode -format
    

    4.2启动Hadoop

    使用start-all.sh启动Hadoop集群,首先进入Hadoop安装主目录,然后执行启动命令:

    [kkb@master ~]$ cd ~/hadoop-2.7.3
    
    [kkb@master ~]$ start-all.sh
    

    执行命令后,提示输入yes/no时,输入yes。

    注意
    可能存在启动不了,启动hadoop时报错,nodemanager running as process 6410. Stop it first.之类的
    解决方法:

     进程已经在运行中了,先执行stop-all.sh下,然后再执行start-all.sh,楼主通过此方法,问题解决
    

    4.3查看进程是否启动

    在HadoopMaster的终端执行jps命令,在打印结果中会看到4个进程,分别是ResourceManager
    Jps
    NameNode
    SecondaryNameNode
    如下图所示。如果出现了这4个进程表示主节点进程启动成功。

    image.png

    在HadoopSlave的终端执行jps命令,在打印结果中会看到3个进程,分别是NodeManager
    DataNode
    Jps

    相关文章

      网友评论

          本文标题:手把手教你配置hadoop(二)

          本文链接:https://www.haomeiwen.com/subject/renmnctx.html