百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Hadoop3高可用集群搭建

bigegpt 2025-02-27 14:21 10 浏览

集群规划

  1. 本次安装拟使用的各软件版本如下
  • CentOS 7.6
  • Zookeeper 3.6.3
  • Hadoop 3.2.2
  • Hive 3.1.2
  • Spark 3.0.2
  • Sqoop 1.4.7
  • MySQL 8.0.21
  1. 机器规划



一、安装CentOS 7.6

若使用虚拟机,建议选择2CPU2线程,4G或以上内存,至少50G硬盘。

安装过程注意事项主要包括:

  1. 日期和时间:选择上海
  2. 语言支持:简体中文和英语
  3. 软件选择:最小安装,选择其中的调试工具、兼容性程序库、开发工具、安全性工具、和系统管理工具
  4. 设置root密码:root123

安装完成后,重启即可登录系统

二、配置Linux

使用root用户登录机器,进行相关配置

2.1 配置IP地址

修改文件/etc/sysconfig/network-scripts/ifcfg-ens33,变更相关配置,应保证hadoop集群机器IP地址不变

ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.124
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
DNS1=114.114.114.114
DNS2=218.2.135.1

2.2 基础配置

  1. 配置主机名。根据机器不同,设置不同的主机名,从hadoop101开始。命令:hostnamectl set-hostname hadoop101
  2. 关闭防火墙。依次执行下列命令,最后查看防火墙状态
systemctl stop firewalld.service            #停止firewall
systemctl disable firewalld.service         #禁止firewall开机启动
systemctl status firewalld.service   #查看firewall状态
  1. 关闭selinux。修改文件/etc/sysconfig/selinux,将SELINUX=enforcing改为SELINUX=disabled。然后重启后用sestatus命令查看状态
# sestatus
SELinux status:                 disabled
  1. 安装net-tools。可在线或离线安装
# 在线安装命令
sudo yum -y install net-tools

# 离线安装
# 下载net-tools包,centos7版本: 
http://mirrors.163.com/centos/7/os/x86_64/Packages/net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
# 离线安装命令
sudo rpm -Uvh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm

# 验证安装是否成功
netstat -nltp

2.3 配置hadoop用户

本次安装计划在hadoop用户下,安装和使用hadoop集群 。命令如下:

# 首先创建用户
useradd hadoop
# 配置密码
passwd hadoop  # 将hadoop的密码设置为:hadoop123
# 配置sudo权限
vi /etc/sudoers
# 在101行左右,添加一行:
hadoop  ALL=(ALL)       NOPASSWD:ALL

2.4 配置基本目录

为hadoop集群安排3个目录存放相关内容

  • 程序目录:/app
  • 数据目录:/data
  • 日志目录:/applogs
mkdir /app /applogs /data
chown -R hadoop: /app /data /applogs

从本步骤之后,不做特别说明,均使用hadoop用户进行相关操作

2.5 安装jdk

  1. 下载:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
  2. 上传到Centos后解压并安装
# 解压上传的文件
tar zxvf jdk-8u281-linux-x64.tar.gz -C /app/
# 配置环境变量
sudo vi /etc/profile.d/env.sh
sudo chmod 777 /etc/profile.d/env.sh
# 在文件中添加下列配置
export JAVA_HOME=/app/jdk1.8.0_281
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
# 完成后,启用环境变量
source /etc/profile
  1. 验证是否安装完成

2.6 配置管理脚本

创建脚本存放目录:mkdir -p /home/hadoop/bin

2.6.1 配置分发脚本

创建脚本/home/hadoop/xsync,文件写入下列内容,并赋予执行权限chmod +x xsync

#!/bin/bash

#1. 判断参数个数
[ $# -lt 1 ] && {
    echo Not Enough Arguement!
    exit
}

# 遍历所有目标,同步所有文件
for file in $@
    do 
    echo ====================== sync $file =====================
 [ -e $file ] && {
        for host in hadoop101 hadoop102 hadoop103 
            do
  echo ----------------- $host --------------------
         #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)
        
         #6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            done
 } || {
     echo $file does not exists, please check again!
 }
done

2.6.2 配置进程查看脚本

创建文件 /home/hadoop/bin/jpsall,输入下列内容,并授予执行权限

#!/bin/bash

for host in hadoop101 hadoop102 hadoop103
do
    echo =============== $host ===============
    ssh $host jps
done

2.7 克隆虚拟机

将本基础机器关闭,再克隆生成三台新的虚拟机,注意克隆时选择创建完整克隆

2.8 依次配置3台机器

  • 配置ip地址
  • 配置主机名,主机名配置为hadoop101、hadoop102、hadoop103 hostnamectl set-hostname hadoop101
  • 修改所有机器的 /etc/hosts,添加以下内容: 192.168.100.124 hadoop101 192.168.100.129 hadoop102 192.168.100.130 hadoop103
  • 为3台机器做ssh免密访问。要求效果root之间免密访问,hadoop用户之间免密访问。 ssh-keygen -t rsa
    # 将所有服务器的 id_rsa.pub 内容汇总到 authorized_keys
    # !!! 伪分布式,也必须要先生成 authorized_keys 文件!!!

    #
    复制到其他服务器
    # scp authorized_keys @hadoop002:$PWD
    # ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中
    ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@hadoop101
    # 修改hadoop用户的.ssh下的权限(root不用修改)
    sudo chmod 700 /home/hadoop/.ssh
    sudo chmod 600 /home/hadoop/.ssh/*

2.9 配置时间同步

首先从服务器先同步时间,再执行以下操作

sudo ntpdate ntp1.aliyun.com或者使用命令sudo ntpdate 192.168.100.124

  1. 编辑 hadoop101 时间服务器配置文件 sudo vi /etc/ntp.conf #这一行的含义是授权172.16.128.0网段上的所有机器可以从这台机器上查询和同步时间. restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap # 修改server段内容 server 210.72.145.44 server ntp1.aliyun.com server ntp2.aliyun.com server ntp3.aliyun.com server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst server 127.127.1.0 fudge 127.127.1.0 stratum 10
  2. 编辑其他机器的时间服务配置文件sudo vi /etc/ntp.conf server 192.168.100.124 fudge 192.168.100.124 stratum 10
  3. 启动ntpd服务并设置开机启动 sudo service ntpd start sudo systemctl enable ntpd sudo systemctl enable ntpdate sudo systemctl is-enabled ntpd

参考文档:

https://blog.csdn.net/vic_qxz/article/details/80343351 https://www.linuxprobe.com/centos7-ntp-time.html

三、安装Zookeeper

1. 安装步骤

  1. 下载zookeeper3.6.3版本,解压文件到/app路径下 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz tar zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /app/
  2. 建立相关的目录,存放数据和日志 mkdir -p /data/zookeeper/zdata/data
    mkdir -p /data/zookeeper/zdata/logs
  3. 为各服务器在data目录下,生成myid文件,不同服务器myid内值不能相同。从1开始,依次增加 echo 1 > /data/zookeeper/zdata/data/myid
  4. 修改zookeeper的配置文件,复制zoo_sample.cfg为zoo.cfg cd /app
    ln -s apache-zookeeper-3.6.3-bin zookeeper
    cd zookeeper/conf
    cp zoo_sample.cfg zoo.cfg
    # 修改zoo.cfg,以下为配置信息
    dataDir=/data/zookeeper/zdata/data
    dataLogsDir=/data/zookeeper/zdata/logs
    # 副本数
    autopurge.snapRetainCount=3
    server.1=hadoop101:2888:3888
    server.2=hadoop102:2888:3888
    server.3=hadoop103:2888:3888
    4lw.commands.whitelist=*
  5. 分发zookeeper到各服务器,注意修改各服务器的myid cd /app
    xsync apache-zookeeper-3.6.3-bin zookeeper
    cd /data
    xsync zookeeper

    #
    在hadoop102执行
    echo 2 > /data/zookeeper/zdata/data/myid
    # 在hadoop103执行
    echo 3 > /data/zookeeper/zdata/data/myid
  6. 配置环境变量 # 在/etc/profile.d/env.sh中添加
    export ZOOKEEPER_HOME=/app/apache-zookeeper-3.6.3

    #
    同步到各机器
    sudo /home/hadoop/bin/xsync /etc/profile.d/env.sh
    # 在所有服务器应用新的环境变量
  7. 编写集群管理脚本 myzookeeper.sh,脚本放置在home目录下面的bin目录中(/home/hadoop/bin) #!/bin/bash
    if [ $# -lt 1 ]
    then
    echo "No Args Input..."
    exit ;
    fi
    case $1 in
    "start")
    echo " =================== 启动 zookeeper 集群 ======================"
    for host in hadoop101 hadoop102 hadoop103
    do
    echo "----------------- 启动 $host -------------------"
    ssh $host "/app/apache-zookeeper-3.6.3/bin/zkServer.sh start"
    done
    ;;
    "stop")
    echo " =================== 关闭 zookeeper 集群 ======================"
    for host in hadoop101 hadoop102 hadoop103
    do
    echo "----------------- 关闭 $host -------------------"
    ssh $host "/app/apache-zookeeper-3.6.3/bin/zkServer.sh stop"
    done
    ;;
    "status")
    echo " =================== 检查 zookeeper 集群 ======================"
    for host in hadoop101 hadoop102 hadoop103
    do
    echo "----------------- 检查 $host -------------------"
    ssh $host "/app/apache-zookeeper-3.6.3/bin/zkServer.sh status"
    done
    esac

2. 启动验证

myzookeeper.sh start

四、安装Hadoop

1. 安装说明

  1. 本次使用Hadoop3.2.2版本,重点参考文档 https://blog.csdn.net/u012760435/article/details/104401268
  2. 本次安装程序是基于zookeeper搭建HA环境,请先安装zookeeper

2. 文件配置

  1. 下载解压hadoop:https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
tar zxvf hadoop-3.2.2.tar.gz -C /app
cd /app
ln -s hadoop-3.2.2 hadoop

2.2 配置core-site.xml



 fs.defaultFS
 hdfs://mycluster




 hadoop.tmp.dir
 /data/hadoop/tmp




 hadoop.http.staticuser.user
 hadoop




 ha.zookeeper.quorum
 hadoop101:2181,hadoop102:2181,hadoop103:2181




 hadoop.proxyuser.hadoop.hosts
 *


 hadoop.proxyuser.hadoop.groups
 *






 ipc.client.connect.max.retries
 100
 Indicates the number of retries a client will make to establish a server connection.



 ipc.client.connect.retry.interval
 10000
 Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.

2.3 配置hadoop-env.sh

export JAVA_HOME=/app/jdk1.8.0_281
export HDFS_NAMENODE_USER="hadoop"
export HDFS_DATANODE_USER="hadoop"
export HDFS_ZKFC_USER="hadoop"
export HDFS_JOURNALNODE_USER="hadoop"

2.4 配置hdfs-site.xml



 dfs.replication
 2




 dfs.nameservices
 mycluster



 dfs.ha.namenodes.mycluster
 nn1,nn2





 dfs.namenode.rpc-address.mycluster.nn1
 hadoop101:8020


 dfs.namenode.rpc-address.mycluster.nn2
 hadoop102:8020




 dfs.namenode.http-address.mycluster.nn1
 hadoop101:9870


 dfs.namenode.http-address.mycluster.nn2
 hadoop102:9870







 dfs.namenode.shared.edits.dir
 qjournal://hadoop101:8485;hadoop102:8485;hadoop103:8485/mycluster




 dfs.client.failover.proxy.provider.mycluster
 org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider




 dfs.ha.fencing.methods
 sshfence



 dfs.ha.fencing.ssh.private-key-files
 /home/hadoop/.ssh/id_rsa




 dfs.journalnode.edits.dir
 /data/hadoop/journalnode




 dfs.ha.automatic-failover.enabled
 true



 dfs.webhdfs.enabled
 true




 dfs.datanode.max.transfer.threads
 8192
  
     Specifies the maximum number of threads to use for transferring data
     in and out of the DN. 
 

2.5 配置workers

填入所有datanode的主机名称,不能留有空格

hadoop101
hadoop102
hadoop103

2.6 配置环境变量

export HADOOP_HOME=/app/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

# 同步到各机器
sudo /home/hadoop/bin/xsync /etc/profile.d/env.sh
# 在所有服务器应用新的环境变量

2.7 修改进程最大文件打开数

sudo vi /etc/security/limits.conf

# 参考 https://blog.csdn.net/knowledgeaaa/article/details/21240247
# 添加以下内容
*               -      nofile          1000000
*               -      nproc           1000000

3. 首次启动集群

  1. 将同步hadoop目录及配置文件到所有机器
cd /app
xsync hadoop-3.2.2
  1. 启动journalnode,在所有journalnode节点上启动journalnode(本例中是所有机器)
hdfs --daemon start journalnode
  1. 初始化namenode,在任意namenode节点上执行格式化命令,出现successfully formated即为执行成功(本次在hadoop101执行)
hdfs namenode -format
# 安装时出现过一次错误:Unable to check if JNs are ready for formatting.
# 类似 https://blog.csdn.net/Maricle_Again/article/details/96481845
# 解决办法是删除所有机器 /data/hadoop/journalnode/mycluster 目录下的文件
# cd /data/hadoop/journalnode/mycluster
# rm -rf in_use.lock current edits.sync
# 也有可能是网络的问题,参考该文章:https://blog.csdn.net/tototuzuoquan/article/details/89644127
# 在dev环境中出现连不上journalnode问题,添加该配置,以增加重试次数和间隔

   ipc.client.connect.max.retries
   100
   Indicates the number of retries a client will make to establish a server connection.



   ipc.client.connect.retry.interval
   10000
   Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.

  1. 随后启动格式化后的namenode(在hadoop101执行)
hdfs --daemon start namenode
  1. 在其他namenode节点同步信息(在hadoop102执行) 伪分布式部署时,不用执行本步骤
hdfs namenode -bootstrapStandby
  1. 格式化zookeeper节点,出现以下信息即为执行成功(在hadoop101执行) 伪分布式不用执行本步骤
hdfs zkfc -formatZKssh 
  1. 启动hdfs集群(在hadoop101执行)
start-dfs.sh
# 随后查看各机器进程
jpsall

4. 日常启停HDFS集群

  1. 启动hdfs
start-dfs.sh
# 若报错:publickey,gssapi-keyex,gssapi-with-mic,password
# 是因为ssh配置问题,需要生成~/.ssh/authorized_keys文件
  1. 关闭hdfs
stop-dfs.sh

5. 页面查看集群

6. 配置YARN及其HA

使用yarn来管理hdfs集群的资源分配,yarn的功能概述参见:https://blog.csdn.net/scgaliguodong123_/article/details/46603827

6.1. 文件配置

参考文档:https://blog.csdn.net/u012760435/article/details/104541021

6.1.1 配置hadoop-env.sh

因为hadoop3限制必须要声明角色运行进程,vi /app/hadoop-3.2.2/etc/hadoop/hadoop-env.sh

export YARN_NODEMANAGER_USER="hadoop"
export YARN_RESOURCEMANAGER_USER="hadoop"

6.1.2 配置mapred-site.xml

vi /app/hadoop-3.2.2/etc/hadoop/mapred-site.xml


    mapreduce.framework.name
    yarn



    mapreduce.application.classpath
    $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*




    mapreduce.jobhistory.address
    hadoop102:10020




    mapreduce.jobhistory.webapp.address
    hadoop102:19888




    mapreduce.map.memory.mb
    1024


    mapreduce.map.java.opts
    -Xmx1024M


    mapreduce.reduce.memory.mb
    1024


    mapreduce.reduce.java.opts
    -Xmx1024M

6.1.3 配置yarn-site.xml



    yarn.nodemanager.aux-services
    mapreduce_shuffle



    yarn.nodemanager.env-whitelist
    JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME




    yarn.resourcemanager.cluster-id
    yarncluster





    yarn.resourcemanager.ha.enabled
    true



    yarn.resourcemanager.ha.rm-ids
    rm1,rm2



    yarn.resourcemanager.hostname.rm1
    hadoop101



    yarn.resourcemanager.hostname.rm2
    hadoop103




    yarn.resourcemanager.webapp.address.rm1
    hadoop101:8088



    yarn.resourcemanager.webapp.address.rm2
    hadoop103:8088



    hadoop.zk.address
    hadoop101:2181,hadoop102:2181,hadoop103:2181




    yarn.resourcemanager.recovery.enabled
    true




    yarn.resourcemanager.store.class
    org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore




    yarn.nodemanager.resource.detect-hardware-capabilities
    false




    yarn.log-aggregation-enable
    true


  
    yarn.log.server.url
    http://hadoop102:19888/jobhistory/logs



    yarn.log-aggregation.retain-seconds
    604800





    yarn.nodemanager.resource.memory-mb
    4096


    yarn.nodemanager.resource.cpu-vcores
    4


    yarn.nodemanager.vmem-check-enabled
    true
    Whether virtual memory limits will be enforced for containers


    yarn.nodemanager.vemem-pmem-ration
    2.1
    Ration between virtual memory to physical memory when setting memoery limits for containers


    yarn.nodemanager.pmem-check-enabled
    true


    yarn.scheduler.minimum-allocation-mb
    1024


    yarn.scheduler.maximum-allocation-mb
    4096




6.2. 启动yarn

# 先同步配置文件到各服务器
xsync /app/hadoop-3.2.2/etc/hadoop
# 启动yarn
start-yarn.sh

6.3. web页面查看

7. 历史服务器配置

? 为了查看程序的历史运行情况,需要配置一下历史服务器,步骤如下:

7.1. 配置mapred-site.xml

vi /app/hadoop-3.2.2/etc/hadoop/mapred-site.xml , 添加下列配置



    mapreduce.jobhistory.address
    hadoop102:10020




    mapreduce.jobhistory.webapp.address
    hadoop102:19888

7.2. 启动历史服务器

mapred --daemon start historyserver
# 关闭
mapred --daemon stop historyserver

8. 日志聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。

配置yarn-site.xml

vi /app/hadoop-3.2.2/etc/hadoop/yarn-site.xml



    yarn.log-aggregation-enable
    true



    yarn.log.server.url
    http://hadoop102:19888/jobhistory/logs



    yarn.log-aggregation.retain-seconds
    604800

同步配置到各服务器

# 先同步配置文件到各服务器
xsync /app/hadoop-3.2.2/etc/hadoop

9. 常用命令

# 查看集群可用空间等
hdfs dfsadmin -report

# 查看空间使用情况
hadoop fs -du -h /

# 查看namenode是否处于只读模式下
hdfs dfsadmin -safemode get

关注本头条号回复:hadoop ,获取完整文档


未完待续!

相关推荐

Linux 系统启动完整流程

一、启动系统流程简介如上图,简述系统启动的大概流程:1:硬件引导UEFi或BIOS初始化,运行POST开机自检2:grub2引导阶段系统固件会从MBR中读取启动加载器,然后将控制权交给启动加载器GRU...

超专业解析!10分钟带你搞懂Linux中直接I/O原理

我们先看一张图:这张图大体上描述了Linux系统上,应用程序对磁盘上的文件进行读写时,从上到下经历了哪些事情。这篇文章就以这张图为基础,介绍Linux在I/O上做了哪些事情。文件系统什么是...

linux入门系列12--磁盘管理之分区、格式化与挂载

前面系列文章讲解了VI编辑器、常用命令、防火墙及网络服务管理,本篇将讲解磁盘管理相关知识。本文将会介绍大量的Linux命令,其中有一部分在“linux入门系列5--新手必会的linux命令”一文中已经...

Linux环境下如何设置多个交叉编译工具链?

常见的Linux操作系统都可以通过包管理器安装交叉编译工具链,比如Ubuntu环境下使用如下命令安装gcc交叉编译器:sudoapt-getinstallgcc-arm-linux-gnueab...

可算是有文章,把Linux零拷贝技术讲透彻了

阅读本文大概需要6.0分钟。作者:卡巴拉的树链接:https://dwz.cn/BaQWWtmh本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景。为了迅速建立起零拷贝的概念...

linux软链接的创建、删除和更新

大家都知道,有的时候,我们为了省下空间,都会使用链接的方式来进行引用操作。同样的,在系统级别也有。在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能...

Linux 中最容易被黑客动手脚的关键目录

在Linux系统中,黑客攻击后常会针对关键目录和文件进行修改以实现持久化、提权或隐藏恶意活动。本文介绍下黑客最常修改的目录及其手法。一、/etc目录关键文件有:/etc/passwd和/et...

linux之间传文件命令之Rsync傻瓜式教程

1.前言linux之间传文件命令用什么命令?本文介绍一种最常用,也是功能强大的文件同步和传输工具Rsync,本文提供详细傻瓜式教程。在本教程中,我们将通过实际使用案例和最常见的rsync选项的详细说...

Linux下删除目录符号链接的方法

技术背景在Linux系统中,符号链接(symlink)是一种特殊的文件,它指向另一个文件或目录。有时候,我们可能需要删除符号链接,但保留其指向的目标目录。然而,在删除符号链接时可能会遇到一些问题,例如...

阿里云国际站注册教程:aa云服务器怎么远程链接?

在全球化的今天,互联网带给我们无以计数的便利,而云服务器则是其中的重要基础设施之一。这篇文章将围绕阿里云国际站注册、aa云服务器如何远程链接,以及服务器安全防护如Ddos防火墙、网站应用防护waf防火...

Linux 5.16 网络子系统大范围升级 多个新适配器驱动加入

Linux在数据中心中占主导地位,因此每个内核升级周期的网络子系统变化仍然相当活跃。Linux5.16也不例外,周一最新与网络相关的更新加入了大量的驱动和新规范的支持。一个较新硬件的驱动是Realt...

搭建局域网文件共享服务(Samba),手机电脑都能看喜欢的影视剧

作为一名影视爱好者,为了方便地观看自己喜欢的影视作品,在家里搞一个专门用来存放电影的服务器是有必要的。蚁哥选则用一台Ubuntu系统的电脑做为服务器,共享影音文件,其他同一个局域网内的电脑或手机可以...

分享一个实用脚本—centos7系统巡检

概述这周闲得慌,就根据需求写了差不多20个脚本(部分是之前分享过的做了一些改进),今天主要分享一个给平时运维人员用的centos7系统巡检的脚本,或者排查问题检查系统情况也可以用..实用脚本#!/bi...

Linux 中创建符号链接的方法

技术背景在Linux系统里,符号链接(SymbolicLink),也被叫做软链接(SoftLink),是一种特殊的文件,它指向另一个文件或者目录。符号链接为文件和目录的管理带来了极大的便利,比...

一文掌握 Linux 符号链接

符号链接(SymbolicLink),通常被称为“软链接”,是Linux文件系统中一种强大而灵活的工具。它允许用户创建指向文件或目录的“快捷方式”,不仅简化了文件管理,还在系统配置、软件开发和日...