• Hadoop单节点伪分布式环境部署


    Hadoop单节点伪分布环境部署

    1、背景知识

    2、使用软件及其版本

    • 环境

    • 虚拟机:VirtualBox 6.0.24 r139119

    • Linux:CentOS 7

    • Windows:Windows10

    • 软件

    • JDK:Jdk1.8_131

    • Hadoop:Hadoop-2.6.0-cdh5.7.0

    • 工具

    • IDE工具:IntelliJ IDEA 2018.3.6 (Ultimate Edition)

    • 远程连接工具:XShell6

    • SFTP工具:FileZilla3.33.0

    3、目标

    • 伪分布Hadoop环境安装和部署

    4、操作步骤

    1. 虚拟机安装CentOS7系统
      1. 新建虚拟机

      1. 分配内存大小

      1. 创建虚拟硬盘

      1. 启动虚拟机,装载CentOS7镜像

      root账号密码:root

      创建新用户hadoop,密码hadoop 

    2. Hadoop伪分布环境搭建
      1. Linux配置

        1. 修改主机名

          1. 一般对不直接使用root用户进行直接操作,而使用安装系统的创建的新用户hadoop(或者使用useradd命令创建)进行后续操作,使用root用户登录后给hadoop用户分配sudo权限:

            vi /etc/sudoers

            添加:

          hadoop ALL=(ALL) ALL

          1. 登录到hadoop用户,修改主机名

            su hadoop

            • 修改主机名(使用root用户权限执行)

            sudo vi /etc/hostname

            • 删除原来的名称,加入主机名"master"

            • 重启显示

        2. 配置静态IP地址

          • 修改Oracle VM虚拟机的网络设置

            设置连接方式为"仅主机(Host-Only)网络",界面名称选择虚拟网卡的名称。

          • 修改enp0s3文件

            1. 检查windows中的ip地址

              • 在CentOS中使用ip addr命令查看本机ip地址

             + 然后在Windows中使用```ipconfig```命令查看Windows中的虚拟网卡的IP地址

            1. 修改CentOS中的为静态ip地址和Windows中的虚拟网卡在统一网段,使用命令:

              sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

              设置如下内容:

               TYPE=Ethernet
               PROXY_METHOD=none
               BROWSER_ONLY=no
               BOOTPROTO=static
               DEFROUTE=yes
               IPV4_FAILURE_FATAL=no
               IPV6INIT=yes
               IPV6_AUTOCONF=yes
               IPV6_DEFROUTE=yes
               IPV6_FAILURE_FATAL=no
               IPV6_ADDR_GEN_MODE=stable-privacy
               NAME=enp0s3
               UUID=b99405f1-6afb-4d97-94e4-c3893e72700a
               DEVICE=enp0s3
               ONBOOT=yes
               IPADDR=192.168.137.2
               NETMASK=255.255.255.0
               GATEWAY=192.168.137.1

              • 重启网络服务,使用命令:

              systemctl restart network

              • 查看IP地址

              静态IP地址已经生效

        3. 设置映射关系

          • 修改主机的映射关系,使用通过计算机名可以映射到ip地址,使用命令:

          sudo vi /etc/hosts

          追加一行内容:

          192.168.137.2 master

          • 保存退出后,使用ping master看是否可以ping通

        4. 配置SSH无密码连接

          1. 关闭防火墙

            1. 关闭临时防火墙,使用命令:

              systemctl stop firewalld

            2. 静止开机启动防火墙(root用户权限执行,所有节点都需执行),使用如下命令:

              systemctl disable firewalld

              • 查看防火墙状态,使用命令:

              systemctl status firewalld

          2. 启动SSH服务

            • CentOS7已经默认安装了SSH服务,只需要启动服务器即可,通过命令:、

              systemctl start sshd

            • 检查ssh服务状态,使用命令:

              systemctl status sshd

          3. SSH免密操作

            1. 生成公钥,使用命令:

              ssh-keygen -t rsa

              公钥生成的位置:/home/hadoop/.ssh隐藏目录之下,最后的图形是公钥的指纹密码

            2. 公钥拷贝到本机的authorized_keys列表,使用命令:

              ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master

            3. 进行验证,使用命令:

              ssh master

              不需要输入密码,即表示成功!

        5. 远程连接配置

          • Wnidows中使用xshell远程连接工具通过ssh协议连接到CentOS7,使用命令:

          ssh 192.168.137.2

         

         

         

        出现上述界面,表示远程登录成功!

         

        1. JDK配置

          1. 卸载Open JDK

            1. 查看当前系统JDK,使用命令:

              rpm -qa | grep JDK

              如果出现以上信息,表示系统中存在Open JDK

            2. 删除系统JDK(root用户权限执行),使用命令:

              rpm -e --nodeps ……

              删除所有文件

          2. 下载Oracle JDK

            从JDK官网下载jdk1.8

            http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

          3. 使用ftp工具通过SSH协议连接到CentOS7,上传JDK到CentOS的software目录下

            使用flashfxp工具:

             

            上传文件到software目录下

          4. 安装Oracle JDK(root用户权限执行)

            1. 解压JDK,使用命令:

              tar -zxvf jdk-linux-x64.tar.gz -C ~/app/

            2. 配置环境变量,使用命令:

              sudo vi /etc/profile

              文件末尾,追加jdk的配置:

               export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
               export PATH=$JAVA_HOME/bin:$PATH

              退出编辑器,使用source /etc/profile命令使配置生效

            3. 检查生效,使用命令:

              java -version

      2. Hadoop的安装和部署

        1. 下载CDH版本Hadoop

          下载地址: http://archive.cloudera.com/cdh5/cdh/5/Hadoop-2.6.0-cdh5.7.0.tar.gz

          注意:当前CDH版本已经全面收费,不在提供免费版本下载

        2. 安装CDH版本Hadoop

          1. 上传hadoop安装包到CentOS

          2. 解压CDH压缩文件,使用命令:

            tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app/

          3. 进入etc/hadoop的目录,修改配置文件

            1. 修改hadoop-env.sh,使用命令:

              sudo vi hadoop-env.sh

              在文件末尾追加JAVA_HOME和HADOOP_HOME

               export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
               export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0

            2. 修改core-site.xml,使用命令:

              sudo vi core-site.xml

              添加配置信息

               <configuration>
                      <property>
                              <name>fs.defaultFS</name>
                              <value>hdfs://master:8020</value>
                      </property>
                      <property>
                              <name>hadoop.tmp.dir</name>
                              <value>/opt/hdfs/tmp</value>
                      </property>
               </configuration>
               

               

              注意:在/opt目录下创建好存放临时文件的hdfs/tmp文件夹,同时分配好权限

               

               

            3. 修改hdfs-site.xml,使用命令:

              sudo vi hdfs-site.xml

              添加配置信息

               <configuration>
                      <property>
                              <name>dfs.replication</name>
                              <value>3</value>
                      </property>
                      <property>
                              <name>dfs.name.dir</name>
                              <value>/opt/hdfs/tmp/dfs/name</value>
                      </property>
                      <property>
                              <name>dfs.data.dir</name>
                              <value>/opt/hdfs/tmp/dfs/data</value>
                      </property>
                      <property>
                              <name>dfs.permissions</name>
                              <value>false</value>
                      </property>
               </configuration>

            4. 修改yarn-site.xml,使用命令:

              sudo vi yarn-site.xml

              添加配置

               <configuration>
               
               <!-- Site specific YARN configuration properties -->
                      <property>
                              <name>yarn.nodemanager.aux-services</name>
                              <value>mapreduce_shuffle</value>
                      </property>
               </configuration>

            5. 修改mapred-site.xml

              复制模板,使用命令:

              cp mapred-site.xml.template mapred-site.xml

              编辑配置文件,使用命令:

              sudo vi mapred-site.xml

              添加配置:

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

            6. 修改slaves文件,使用命令:

              sudo vi slaves

              添加配置

               master

            7. 追加HADOOP_HOME到/etc/profile中,使用命令:

              sudo vi /etc/profile

              在文件末尾追加内容:

               export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
               export PATH=$HADOOP_HOME/bin:$PATH

              退出编辑器,使用source /etc/profile命令使配置生效

          4. 格式化HDFS

            进入hadoop的bin目录,使用命令:

            hadoop namenode -format

            出现上述界面,表示格式化成功!

          5. 启动Hadoop

            进入hadoop的sbin目录下,使用命令

            ./start-all.sh

        3. 检查CDH版本Hadoop

          1. 检查进程,使用命令:

            jps

            出现上述6个进程,表示单节点伪分布hadoop部署成功!

          2. 通过浏览器检查

            也可以在windows中通过浏览器输入http://192.168.137.2:50070

            出现上述浏览器界面,表示单节点伪分布hadoop部署成功!

    4、总结

     

  • 相关阅读:
    P3157 [CQOI2011]动态逆序对
    P2468 [SDOI2010]粟粟的书架
    P2564 [SCOI2009]生日礼物
    P2698 [USACO12MAR]花盆Flowerpot
    【2018 Multi-University Training Contest 6】
    【HDOJ6351】Beautiful Now(贪心,搜索)
    【HDOJ6354】Everything Has Changed(计算几何)
    【2018 Multi-University Training Contest 5】
    【HDOJ6319】Ascending Rating(单调队列)
    【Educational Codeforces Round 48】
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/15736122.html
Copyright © 2020-2023  润新知