Hadoop伪分布式的部署

一、部署前的准备

  (1)软件

    一个空白的CentOS映像文件

    Xshell(用于传输文件  rz命令只能在远程连接工具上有效)

  (2)虚拟机配置

    网络配置:网络适配器选择桥接

    ip地址、子网掩码、网关、DNS服务器地址  =>可以在安装时的图形界面完成配置

    =》也可以 vim /etc/sysconfig/network-script/ifcfg-ens33 修改

    具体如下:

    IPADDR="192.168.124.x" (和网关在同一网段)

    NETMASK="255.255.255.0" (子网掩码也可能在配置文件中显示为 prefix=24)

    GATEWAY="192.168.124.1" (路由器地址)

    DNS1="8.8.8.8"  (谷歌的DNS服务器地址)

    DNS2="144.144.144.144"

    DNS1="223.5.5.5"  (阿里云的DNS服务器地址)

    DNS2="223.6.6.6"

    重启网络 systemctl restart network 

    验证网络状况 ping www.baidu.com

    时间同步 ntpdate ntp1.aliyun.com

  (3)关闭虚拟机的安全策略

    防火墙:systemctl stop firewalld

        systemctl disable firewalld

    selinux:getenforce 查看selinux的状态

        vim /etc/selinux/config

        set nu 7 定位第7行

        修改 selinux=disabled

        reboot 重启

  (4)更换yum源

    yum install -y wget  

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    yum makecache

  *****多做备份 =》快照**********

  (5)规划

    yum install -y lrzsz

    cd /opt  mkdir 文件名

      install 压缩包

      software 文件解压后

      test 测试

      other 其他

    上传文件:利用rz命令 将jdk-8u144-linux-x64.tar.gz 上传到install目录上去、Hadoop2.7.7.tar.gz 上传到 install目录上去

二、伪分布式集群部署

  (1)java安装

    tar -zxvf jdk-8u144-linux-x64.tar.gz -C software

  (2)Hadoop安装 同上

  (3)环境变量设置 vim /etc/profile

    export JAVA_HOME=/opt/software/jdk8

    export HADOOP_HOME=/opt/software/hadoop-2.7.7

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    source /etc/profile

    验证java是否安装成功 java -version 

  (4) Hadoop伪分布式配置

    ### hadoop-env.sh

    ```shell
    cd /opt/software/hadoop-2.7.7 #进入hadoop-2.7.7目录

    vim etc/hadoop/hadoop-env.sh #编辑配置文件hadoop-env.sh

    export JAVA_HOME=/opt/software/jdk8 #修改25行

    export HADOOP_CONF_DIR=/opt/software/hadoop-2.7.7/etc/hadoop #修改33行

    

    ### core-site.xml

    ```xml
    <configuration>

    <!-- 指定HDFS中NameNode的地址 -->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop101:9000</value>
    </property>

    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/software/hadoop-2.7.7/tmp</value>
    </property>

    </configuration>
    ```

    ### hdfs-site.xml

    ```xml
    <configuration>
    <!-- 指定HDFS副本的数量 -->
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>

    <property>
    <name>dfs.permissions</name>
    <value>false</value>
    </property>

    </configuration>
    ```

    ### mapred-site.xml

    ```xml
    <!-- 指定mr运行在yarn上 -->
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    ```

    ### yarn-site.xml

    ```xml
    <!-- 指定YARN的ResourceManager的地址 -->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop101</value>
    </property>

    <!-- reducer获取数据的方式 -->
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    ```

    ### slaves

    ```
    hadoop101
    ```

    配置主机名到IP的映射

    vim /etc/hosts

    192.168.124.x 主机名

    ### 格式化文件系统

    ```
    hadoop namenode -format
    ```

    出现Storage directory /opt/software/hadoop-2.7.7/dfs/name has been successfully formatted 表示格式化成功

    启动之前先完成免密登陆

    ssh-keygen

    ssh-copy-id hadoop101

    ### 启动Hadoop

    ```shell

    start-all.sh
    hadoop-daemon.sh start namenode
    hadoop-daemon.sh start datanode
    ```

    验证Hadoop

    jps 检查运行的java进程

    6002 NameNode
    6131 DataNode
    7283 Jps
    6567 NodeManager
    6300 SecondaryNameNode
    6460 ResourceManager   

    ### WEB端查看(可以先用netstat -nltup查看端口)

    ```
    http://192.168.124.x:50070 #查看NameNode的状态
    http://192.168.124.x:50075 #查看DataNode的状态
    http://192.168.124.x:50090 #查看SecondaryNameNode的状态
    ```

posted @ 2020-02-20 16:40  幻世纪  阅读(174)  评论(0编辑  收藏  举报