从VMware到Hadoop的基础搭建

从VMware到Hadoop的基础搭建

一、安装VMware

  1. 虚拟网络编辑器:

    配置NAT类型的网络,配置网关

二、虚拟机系统安装

  1. 整体思路:
    1. 共安装三台机器,名称分别为 node1,node2,node3
    2. 完整配置一个,另外两个使用克隆,克隆后修改 IP、MAC地址、主机名hostname
  2. 修改IP、主机名
    • 命令修改 临时生效 重启无效
    • 修改底层配置文件 永久生效 重启才能生效。
    # 主机名修改
    vim /etc/hostname
    
    node1.itcast.cn
    
    #修改IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
    TYPE="Ethernet"     #网卡类型 以太网
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="none"   #ip等信息是如何决定的?  dhcp动态分配、 static|node 手动静态分配
    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="ens33"        #网卡名称
    UUID="74c3b442-480d-4885-9ffd-e9f0087c9cf7"
    DEVICE="ens33"
    ONBOOT="yes"       #是否开机启动网卡服务
    IPADDR="192.168.88.151"  #IP地址
    PREFIX="24"   #子网掩码   等效: NETMASK=255.255.255.0
    GATEWAY="192.168.88.2"  #网关服务
    DNS1="192.168.88.2"     #网关DNS解析
    DOMAIN="114.114.114.114" #公网DNS解析  114.114.114.114  谷歌:8.8.8.8  阿里百度DNS
    IPV6_PRIVACY="no
    
    • node2、node3一样要改
  3. host映射修改

    目的:实现本地查找解析

    • linux上(每个虚拟机都要配置)
      vim /etc/hosts
      
      127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
      ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
      
      192.168.88.151 node1
      192.168.88.152 node2
      192.168.88.153 node3
      
    • windows上
      C:\Windows\System32\drivers\etc\hosts
      
      192.168.88.151 node1
      192.168.88.152 node2
      192.168.88.153 node3
      
  4. linux上防火墙关闭
    1. firewalld
      #查看防火墙状态
      systemctl status firewalld
      
      #关闭防火墙
      systemctl stop firewalld
      
      #关闭防火墙开机自启动
      systemctl disable firewalld
      
      
      #centos服务开启关闭命令
      centos6:(某些可以在centos7下使用)
      	service 服务名 start|stop|status|restart
      	chkconfig on|off 服务名
      	
      centos7:	
      	systemctl start|stop|status|restart 服务名
      	systemctl disable|enable 服务名  #开机自启动  关闭自启
      
    2. selinux
      vim /etc/selinux/config
      
      # This file controls the state of SELinux on the system.
      # SELINUX= can take one of these three values:
      #     enforcing - SELinux security policy is enforced.
      #     permissive - SELinux prints warnings instead of enforcing.
      #     disabled - No SELinux policy is loaded.
      SELINUX=disabled
      
  5. 集群时间同步

    目的:分布式软件主从角色之间通常基于心跳时间差来判断角色工作是否正常。

    linux同步时间:
    # 查看当前的系统时间
    
    [root@node1 ~]# date
    Thu May 20 14:50:30 CST 2021
    
    
    #ntpdate  授时服务器
    
    ntpdate ntp5.aliyun.com
    
    [root@node1 ~]# ntpdate ntp5.aliyun.com
    20 May 14:53:07 ntpdate[2187]: step time server 203.107.6.88 offset -1.354309 sec
    
  6. ssh免密登录

    目的:集群中node1使用ssh登录其他机器时免密码直接登录

    #实现node1----->node2
    
    #step1
    在node1生成公钥私钥
    [root@node1 ~]# ssh-keygen  #一顿回车 在当前用户的home下生成公钥私钥 隐藏文件
    
    [root@node1 .ssh]# pwd
    /root/.ssh
    [root@node1 .ssh]# ll
    total 12
    -rw------- 1 root root 1675 May 20 11:59 id_rsa
    -rw-r--r-- 1 root root  402 May 20 11:59 id_rsa.pub
    -rw-r--r-- 1 root root  183 May 20 11:50 known_hosts
    
    #step2
    copy公钥给node2
    [root@node1 ~]# ssh-copy-id node2  
    注意第一次需要密码
    
    #step3  
    [root@node1 .ssh]# ssh node2
    Last login: Thu May 20 12:03:30 2021 from node1
    [root@node2 ~]# exit
    logout
    Connection to node2 closed.
    

    要求:至少打通node1---->node1 node2 node3 这三个免密登录

  7. linux软件安装—MySQL
    1. 软件安装目录规范:
      /export/server      #软件安装目录
      /export/software    #安装包的目录
      /export/data        #软件运行数据保存的目录
      /export/logs        #软件运行日志
      
      mkdir -p /export/server
      mkdir -p /export/software 
      mkdir -p /export/data
      mkdir -p /export/logs
      

      提示:MySQL只需要安装在node1服务器即可

      安装步骤:
      1. 卸载Centos7自带的mariadb

        [root@node3 ~]# rpm -qa|grep mariadb
        mariadb-libs-5.5.64-1.el7.x86_64
        
        [root@node3 ~]# rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
        [root@node3 ~]# rpm -qa|grep mariadb                            
        [root@node3 ~]# 
        
      2. 安装mysql

        mkdir /export/software/mysql
        
        #上传mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar 到上述文件夹下  解压
        tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
        
        #执行安装依赖
        yum -y install libaio
        
        [root@node3 mysql]# rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm 
        
        warning: mysql-community-common-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
        Preparing...                          ################################# [100%]
        Updating / installing...
           1:mysql-community-common-5.7.29-1.e################################# [ 25%]
           2:mysql-community-libs-5.7.29-1.el7################################# [ 50%]
           3:mysql-community-client-5.7.29-1.e################################# [ 75%]
           4:mysql-community-server-5.7.29-1.e################                  ( 49%)
        
      3. mysql初始化设置

        #初始化
        mysqld --initialize
        
        #更改所属组
        chown mysql:mysql /var/lib/mysql -R
        
        #启动mysql
        systemctl start mysqld.service
        
        #查看生成的临时root密码 
        cat  /var/log/mysqld.log
        
        [Note] A temporary password is generated for root@localhost: o+TU+KDOm004
        
      4. 修改root密码 授权远程访问 设置开机自启动

        [root@node2 ~]# mysql -u root -p
        Enter password:     #这里输入在日志中生成的临时密码
        Welcome to the MySQL monitor.  Commands end with ; or \g.
        Your MySQL connection id is 3
        Server version: 5.7.29
        
        Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
        
        Oracle is a registered trademark of Oracle Corporation and/or its
        affiliates. Other names may be trademarks of their respective
        owners.
        
        Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
        
        mysql> 
        
        
        #更新root密码  设置为root
        mysql> alter user user() identified by "root";
        Query OK, 0 rows affected (0.00 sec)
        
        
        #授权
        mysql> use mysql;
        
        mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
        
        mysql> FLUSH PRIVILEGES; 
        
        #mysql的启动和关闭 状态查看 (这几个命令必须记住)
        systemctl stop mysqld
        systemctl status mysqld
        systemctl start mysqld
        
        #建议设置为开机自启动服务
        [root@node2 ~]# systemctl enable  mysqld                             
        Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
        
        #查看是否已经设置自启动成功
        [root@node2 ~]# systemctl list-unit-files | grep mysqld
        mysqld.service                                enabled 
        

        补:干净卸载mysql 5.7

        #关闭mysql服务
        systemctl stop mysqld.service
        
        #查找安装mysql的rpm包
        [root@node3 ~]# rpm -qa | grep -i mysql      
        mysql-community-libs-5.7.29-1.el7.x86_64
        mysql-community-common-5.7.29-1.el7.x86_64
        mysql-community-client-5.7.29-1.el7.x86_64
        mysql-community-server-5.7.29-1.el7.x86_64
        
        #卸载
        [root@node3 ~]# yum remove mysql-community-libs-5.7.29-1.el7.x86_64 mysql-community-common-5.7.29-1.el7.x86_64 mysql-community-client-5.7.29-1.el7.x86_64 mysql-community-server-5.7.29-1.el7.x86_64
        
        #查看是否卸载干净
        rpm -qa | grep -i mysql
        
        #查找mysql相关目录 删除
        [root@node1 ~]# find / -name mysql
        /var/lib/mysql
        /var/lib/mysql/mysql
        /usr/share/mysql
        
        [root@node1 ~]# rm -rf /var/lib/mysql
        [root@node1 ~]# rm -rf /var/lib/mysql/mysql
        [root@node1 ~]# rm -rf /usr/share/mysql
        
        #删除默认配置 日志
        rm -rf /etc/my.cnf 
        rm -rf /var/log/mysqld.log
        
  8. Linux软件安装–JDK
    • 简单:解压即可使用 但是通常配置环境变量,以便于在各个路径下之间使用java。

    • 要求:JDK1.8版本

    • 步骤

      #上传安装包到/export/server下
      jdk-8u241-linux-x64.tar.gz
      
      #解压到当前目录
      [root@node1 ~]# tar zxvf jdk-8u241-linux-x64.tar.gz
      
      #删除红色安装包(可选)
      [root@node1 ~]# rm -rf jdk-8u241-linux-x64.tar.gz
      
      #配置环境变量
      [root@node1 ~]# vim /etc/profile            #G + o
      
      export JAVA_HOME=/export/server/jdk1.8.0_65
      export PATH=$PATH:$JAVA_HOME/bin
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      
      
      #重新价值环境变量文件 让配置生效
      [root@node1 ~]# source /etc/profile
      
      [root@node1 ~]# java -version
      java version "1.8.0_241"
      
    • 将node1的JDK安装包scp给其他机器

       #scp安装包
       cd /export/server/
       scp -r jdk1.8.0_241/ root@node2:$PWD
       
       #scp环境变量文件
       scp /etc/profile node2:/etc/cd
       
       #别忘了 其他机器source哦
       source /etc/profile
      

三、linux中zookeeper安装

  1. 安装前提
    1. 服务器基础环境配置完成
      • IP
      • 主机名
      • hosts映射
      • 防火墙关闭
      • 时间同步
      • ssh免密登录
    2. JDK环境
      • jdk1.8
  2. 上传并解压安装包
    cd /export/server
    
    tar zxvf zookeeper-3.4.6.tar.gz
    mv zookeeper-3.4.6/ zookeeper
    
  3. 修改配置文件
    • zoo.cfg
      #zk默认加载的配置文件是zoo.cfg 因此需要针对模板进行修改。保证名字正确。
      cd zookeeper/conf
      mv zoo_sample.cfg zoo.cfg
      
      vi zoo.cfg
      
      #修改
      dataDir=/export/data/zkdata
      #文件最后添加 2888心跳端口 3888选举端口
      server.1=node1:2888:3888
      server.2=node2:2888:3888
      server.3=node3:2888:3888
      
    • myid
      #在每台机器的dataDir指定的目录下创建一个文件 名字叫做myid
      #myid里面的数字就是该台机器上server编号。server.N  N的数字就是编号
      [root@node1 conf]# mkdir -p /export/data/zkdata
      [root@node1 conf]# echo 1 >/export/data/zkdata/myid
      
  4. 把安装包同步到其他服务器上
    cd /export/server
    scp -r zookeeper/ node2:$PWD
    scp -r zookeeper/ node3:$PWD
    
  5. 创建其他机器上myid和datadir目录
    [root@node2 ~]# mkdir -p /export/data/zkdata
    [root@node2 ~]# echo 2 > /export/data/zkdata/myid 
    
    [root@node3 ~]# mkdir -p /export/data/zkdata
    [root@node3 ~]# echo 3 > /export/data/zkdata/myid 
    
  6. zookeeper–集群启停、进程查看、日志查看
    1. 每台机器单独启动
      #在哪个目录执行启动命令 默认启动日志就生成当前路径下 叫做zookeeper.out
      
      /export/server/zookeeper/bin/zkServer.sh  start|stop|status
      
      #3台机器启动完毕之后 可以使用status查看角色是否正常。
      #还可以使用jps命令查看zk进程是否启动。
      [root@node3 ~]# jps
      2034 Jps
      1980 QuorumPeerMain  #看我,我就是zk的java进程
      
    2. 一键启动脚本(需要ssh免密登录)
      [root@node1 ~]# vim startZk.sh
        
      #!/bin/bash
      hosts=(node1 node2 node3)
      for host in ${hosts[*]}
      do
       ssh $host "source /etc/profile;/export/server/zookeeper/bin/zkServer.sh start"
      done
      
      • 启动java进程的时候 需要JDK。
    • 因为shell程序ssh登录的时候不会自动加载/etc/profile 需要shell程序中自己加载。
  7. 一键关闭脚本(需要ssh免密登录)
    [root@node1 ~]# vim stopZk.sh
      
    #!/bin/bash
    hosts=(node1 node2 node3)
    for host in ${hosts[*]}
    do
     ssh $host "/export/server/zookeeper/bin/zkServer.sh stop"
    done
    
    • 注意:关闭java进程时候 根据进程号 直接杀死即可就可以关闭。

四、Hadoop基础框架搭建

  1. 源码编译
    • 需要自己编译源码以适应自己所需要的环境和软件
  2. 集群规划
    • 根据软件和硬件的特性,合理的安排各个角色在不同的机器上。

      properties
      node1: namenode  datanode                    | resourcemanager  nodemanger
      node2:			 datanode   secondarynamenode|			        nodemanger
      node3:			 datanode                    |  		        nodemanger
      
    • 扩容增加的角色

      properties
      node4:  datanode  nodemanger
      node5:  datanode  nodemanger
      node6:  datanode  nodemanger
      .....
      
  3. Hadoop-服务器基础环境准备
    1. 服务器基础环境准备
      1. ip、主机名
      2. hosts映射 别忘了windows也配置
      3. 防火墙关闭
      4. 时间同步
      5. 免密登录 node1---->node1 node2 node3
      6. JDK安装
    2. hadoop安装包目录结构
      #上传安装包到/export/server 解压
      
       bin    #hadoop核心脚本 最基础最底层脚本
       etc    #配置目录
       include
       lib
       libexec
       LICENSE.txt
       NOTICE.txt
       README.txt
       sbin  #服务启动 关闭 维护相关的脚本
       share #官方自带实例  hadoop相关依赖jar
      
  4. Hadoop-配置文件
    文件位置:/export/server/hadoop-3.3.0/etc/hadoop
    1. 文件分类
      • 第一类 1个 hadoop-env.sh
      • 第二类 4个 core|hdfs|mapred|yarn-site.xml
        1. core-site.xml 核心模块配置

        2. hdfs-site.xml hdfs文件系统模块配置

        3. mapred-site.xml MapReduce模块配置

        4. yarn-site.xml yarn模块配置

      • 第三类 1个 workers
    2. 文件配置
      • hadoop-env.sh
        #java home (jdK版本要和自己装的对应)
        export JAVA_HOME=/export/server/jdk1.8.0_241
        
        #Hadoop各个组件启动运行身份
        export HDFS_NAMENODE_USER=root
        export HDFS_DATANODE_USER=root
        export HDFS_SECONDARYNAMENODE_USER=root
        export YARN_RESOURCEMANAGER_USER=root
        export YARN_NODEMANAGER_USER=root 
        
      • core-site.xml
        <!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://node1:8020</value>
        </property>
        
        <!-- 设置Hadoop本地保存数据路径 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/export/data/hadoop-3.3.0</value>
        </property>
        
        <!-- 设置HDFS web UI用户身份 -->
        <property>
            <name>hadoop.http.staticuser.user</name>
            <value>root</value>
        </property>
        
        <!-- 整合hive 用户代理设置 -->
        <property>
            <name>hadoop.proxyuser.root.hosts</name>
            <value>*</value>
        </property>
        
        <property>
            <name>hadoop.proxyuser.root.groups</name>
            <value>*</value>
        </property>
        <!-- 文件系统垃圾桶保存时间 单位:分 -->
        <property>
            <name>fs.trash.interval</name>
            <value>1440</value>
        </property>s
        
      • hdfs-site.xml
        <!-- 设置SNN进程运行机器位置信息 -->
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>node2:9868</value>
        </property>
        
      • mapred-site.xml
        <!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
        <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
        </property>
        
        <!-- MR程序历史服务器端地址 -->
        <property>
          <name>mapreduce.jobhistory.address</name>
          <value>node1:10020</value>
        </property>
         
        <!-- 历史服务器web端地址 -->
        <property>
          <name>mapreduce.jobhistory.webapp.address</name>
          <value>node1:19888</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>
        
      • yarn-site.xml
        <!-- 设置YARN集群主角色运行机器位置 -->
        <property>
        	<name>yarn.resourcemanager.hostname</name>
        	<value>node1</value>
        </property>
        
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        
        <!-- 是否将对容器实施物理内存限制 -->
        <property>
            <name>yarn.nodemanager.pmem-check-enabled</name>
            <value>false</value>
        </property>
        
        <!-- 是否将对容器实施虚拟内存限制。 -->
        <property>
            <name>yarn.nodemanager.vmem-check-enabled</name>
            <value>false</value>
        </property>
        
        <!-- 开启日志聚集 -->
        <property>
          <name>yarn.log-aggregation-enable</name>
          <value>true</value>
        </property>
        
        <!-- 设置yarn历史服务器地址 -->
        <property>
            <name>yarn.log.server.url</name>
            <value>http://node1:19888/jobhistory/logs</value>
        </property>
        
        <!-- 日志保存的时间 7天 -->
        <property>
          <name>yarn.log-aggregation.retain-seconds</name>
          <value>604800</value>
        </property>
        
      • workers
        node1.itcast.cn
        node2.itcast.cn
        node3.itcast.cn
        
  5. Hadoop-scp同步、环境变量配置
    • scp安装包到其他机器
      cd /export/server
      
      scp -r hadoop-3.3.0 root@node2:$PWD
      scp -r hadoop-3.3.0 root@node3:$PWD
      
    • Hadoop环境变量配置
      vim /etc/profile
      
      export HADOOP_HOME=/export/server/hadoop-3.3.0
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
      
      source /etc/profile
      
      #别忘了 scp环境变量给其他两台机器哦
      
  6. Hadoop-namenode format操作
    • format准确来说翻译成为初始化比较好。对namenode工作目录、初始文件进行生成。

    • 通常在namenode所在的机器执行 执行一次。首次启动之前

      #在node1 部署namenode的这台机器上执行
      
      hadoop namenode -format
      
      #执行成功 日志会有如下显示
      21/05/23 15:38:19 INFO common.Storage: Storage directory /export/data/hadoopdata/dfs/name has been successfully formatted.
      
      [root@node1 server]# ll /export/data/hadoopdata/dfs/name/current/
      total 16
      -rw-r--r-- 1 root root 321 May 23 15:38 fsimage_0000000000000000000
      -rw-r--r-- 1 root root  62 May 23 15:38 fsimage_0000000000000000000.md5
      -rw-r--r-- 1 root root   2 May 23 15:38 seen_txid
      -rw-r--r-- 1 root root 207 May 23 15:38 VERSION
      
    • 若不小心初始化多次

      • 现象:主从之间互不识别

      • 解决:

        #学习环境
        删除每台机器上hadoop.tmp.dir配置指定的文件夹/export/data/hadoop-3.3.0。 
        重新format。
        
  7. Hadoop-集群启停-命令与状态日志查看
    1. 单节点单进程逐个手动启动
      • 优点:精准的控制每个角色每个进程的启停。避免了群起群停(时间成本)

      • HDFS集群

        #hadoop2.x版本命令
        hadoop-daemon.sh start|stop  namenode|datanode|secondarynamenode
        
        #hadoop3.x版本命令
        hdfs --daemon start|stop namenode|datanode|secondarynamenode
        
      • YARN集群

        #hadoop2.x版本命令
        yarn-daemon.sh start|stop resourcemanager|nodemanager
        
        #hadoop3.x版本命令
        yarn --daemon start|stop resourcemanager|nodemanager
        
    2. 脚本一键启动
      • 前提:提前配置好ssh免密登录。

      • HDFS集群

        start-dfs.sh 
        stop-dfs.sh 
        
      • YARN集群

        start-yarn.sh
        stop-yarn.sh
        
      • 一键启动/停止两个集群

        start-all.sh
        
        stop-all.sh
        
        [root@node1 ~]# start-all.sh 
        This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
        
      • 错误排查

        # 确认是否成功
        [root@node1 ~]# jps
        8000 DataNode
        8371 NodeManager
        8692 Jps
        8264 ResourceManager
        7865 NameNode
        
        • 若进程不存在,则看启动日志!!

          #默认情况下 日志目录
          cd /export/server/hadoop-3.3.0/logs/
          
          #注意找到对应进程名字 以log结尾的文件
          
  8. Hadoop-Web UI页面
    • HDFS集群:http://node1:9870/explorer.html#/
    • YARN集群:http://node1:8088/cluster
  9. Hadoop–jobhistory服务配置与功能
    • 目的:保存yarn上已经完成的MapReduce的执行信息。

    • 配置(配置好重启后才能生效)

      vim mapred-site.xml
      
      <property>
      	<name>mapreduce.jobhistory.address</name>
      	<value>node1:10020</value>
      </property>
      
      <property>
      	<name>mapreduce.jobhistory.webapp.address</name>
      	<value>node1:19888</value>
      </property>
      
      • 配置完一台机器后使用scp同步给其他服务器
    • 手动启停jobhistory服务

      #hadoop2.x版本命令
      mr-jobhistory-daemon.sh start|stop historyserver
      
      #hadoop3.x版本命令
      mapred --daemon start|stop historyserver
      
      [root@node1 ~]# jps
      13794 JobHistoryServer
      13060 DataNode
      12922 NameNode
      13436 NodeManager
      13836 Jps
      13327 ResourceManager
      
    • 每次开机需要手动启动

  10. Hadoop–HDFS垃圾桶机制
    • 类似于windows的回收站

    • 本质:HDFS中的一个隐藏目录

    • 功能:在删除数据的时候 先去垃圾桶 如果后悔可以复原。

    • 配置:

      在core-site.xml中开启垃圾桶机制
      
      指定保存在垃圾桶的时间。单位分钟
      
      <property>
      	<name>fs.trash.interval</name>
      	<value>1440</value>
      </property>
      
    • 集群同步配置 重启hadoop服务。

      [root@node1 hadoop]# pwd
      /export/server/hadoop-3.3.0/etc/hadoop
      [root@node1 hadoop]# scp core-site.xml node2:$PWD
      core-site.xml                                              100% 1027   898.7KB/s   00:00    
      [root@node1 hadoop]# scp core-site.xml node3:$PWD
      core-site.xml 
      
    • 使用

      # 普通的rm删除会放到hdfs的垃圾桶中
      hadoop fs -rm /文件位置
      
      # 直接删除文件(跳过垃圾桶)
      hadoop fs -rm -skipTrash /文件位置
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值