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、总结

 

原文地址:https://www.cnblogs.com/LEPENGYANG/p/15736122.html