Hadoop生态圈框架部署(五)- Zookeeper完全分布式部署

文章目录

  • 前言
  • 一、Zookeeper完全分布式部署(手动部署)
    • 1. 下载Zookeeper
    • 2. 上传安装包
    • 2. 解压zookeeper安装包
    • 3. 配置zookeeper配置文件
      • 3.1 创建 zoo.cfg 配置文件
      • 3.2 修改 zoo.cfg 配置文件
      • 3.3 创建数据持久化目录并创建myid文件
    • 4. 虚拟机hadoop2安装并配置Zookeeper
    • 5. 虚拟机hadoop3安装并配置Zookeeper
    • 6. 配置Zookeeper系统环境变量
      • 4.1 配置虚拟机hadoop1的Zookeeper环境变量
      • 4.2 配置虚拟机hadoop2的Zookeeper环境变量
      • 4.3 配置虚拟机hadoop3的Zookeeper环境变量
    • 5. 启动Zookeeper集群
    • 6. 查看Zookeeper集群状态
  • 二、使用shell脚本自动部署Zookeeper完全分布式(选看)
    • 1. 下载Zookeeper
    • 2. 上传安装包
    • 3. 使用shell脚本自动部署Zookeeper完全分布式
      • 3.1 创建 hadoop1_zookeeper_install_config.sh 脚本文件并添加脚本内容
      • 3.2 添加可执行权限
      • 3.3 执行脚本
    • 4. 加载环境变量
    • 5. 启动Zookeeper集群
    • 6. 查看Zookeeper集群状态


前言

  1. 介绍在虚拟机hadoop1、hadoop2和hadoop3部署完全分布式Zookeeper
  2. 配置zookeeper配置文件
  3. 配置zookeeper环境变量
  4. 启动zookeeper及查看zookeeper集群状态
  5. 提供shell脚本自动化安装zookeeper完全分布式

一、Zookeeper完全分布式部署(手动部署)

1. 下载Zookeeper

点击下载zookeeper3.7.0安装包:https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

2. 上传安装包

通过拖移的方式将下载的zookeeper安装包apache-zookeeper-3.7.0-bin.tar.gz上传至虚拟机hadoop1的/export/software目录。

在这里插入图片描述

2. 解压zookeeper安装包

虚拟机hadoop1上传完成后将zookeeper安装包通过解压方式安装至/export/servers目录。

tar -zxvf /export/software/apache-zookeeper-3.7.0-bin.tar.gz -C /export/servers/

在这里插入图片描述

重命名
虚拟机hadoop1把解压后的安装目录apache-zookeeper-3.7.0-bin重命名为zookeeper-3.7.0,重命名是为了简化路径,其次是为了标准化命名。

mv /export/servers/apache-zookeeper-3.7.0-bin /export/servers/zookeeper-3.7.0

在这里插入图片描述

3. 配置zookeeper配置文件

3.1 创建 zoo.cfg 配置文件

虚拟机hadoop1通过复制Zookeeper的模板配置文件zoo_sample.cfg创建配置文件zoo.cfg。

cp /export/servers/zookeeper-3.7.0/conf/zoo_sample.cfg /export/servers/zookeeper-3.7.0/conf/zoo.cfg

在这里插入图片描述

3.2 修改 zoo.cfg 配置文件

虚拟机hadoop1修改 zoo.cfg 配置文件,执行如下命令修改和添加配置文件内容。

cat >/export/servers/zookeeper-3.7.0/conf/zoo.cfg <<EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/export/data/zookeeper/zkdata
clientPort=2181

server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
EOF

在这里插入图片描述

3.3 创建数据持久化目录并创建myid文件

虚拟机hadoop1创建数据持久化目录并创建myid文件。

mkdir -p /export/data/zookeeper/zkdata
echo 1 > /export/data/zookeeper/zkdata/myid

在这里插入图片描述

虚拟机hadoop2创建数据持久化目录并创建myid文件。

mkdir -p /export/data/zookeeper/zkdata
echo 2 > /export/data/zookeeper/zkdata/myid

在这里插入图片描述

虚拟机hadoop3创建数据持久化目录并创建myid文件。

mkdir -p /export/data/zookeeper/zkdata
echo 3 > /export/data/zookeeper/zkdata/myid

在这里插入图片描述

4. 虚拟机hadoop2安装并配置Zookeeper

虚拟机hadoop1使用scp命令把虚拟机hadoop1的zookeeper的安装目录复制到虚拟机hadoop2的相同目录下,就相当于在hadoop2安装并配置了zookeeper。

scp -r /export/servers/zookeeper-3.7.0/ hadoop2:/export/servers/

在这里插入图片描述

5. 虚拟机hadoop3安装并配置Zookeeper

虚拟机hadoop1使用scp命令把虚拟机hadoop1的zookeeper的安装目录复制到虚拟机hadoop3的相同目录下,就相当于在hadoop3安装并配置了zookeeper。

scp -r /export/servers/zookeeper-3.7.0/ hadoop3:/export/servers/

在这里插入图片描述

6. 配置Zookeeper系统环境变量

4.1 配置虚拟机hadoop1的Zookeeper环境变量

虚拟机hadoop1使用echo命令向环境变量配置文件/etc/profile追加环境变量内容。

echo >> /etc/profile
echo 'export ZK_HOME=/export/servers/zookeeper-3.7.0' >> /etc/profile
echo 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profile

配置环境变量后,需要使用如下命令加载环境变量配置文件/etc/profile,使用Zookeeper的环境变量生效。

source /etc/profile

在这里插入图片描述

4.2 配置虚拟机hadoop2的Zookeeper环境变量

虚拟机hadoop2使用echo命令向环境变量配置文件/etc/profile追加环境变量内容。

echo >> /etc/profile
echo 'export ZK_HOME=/export/servers/zookeeper-3.7.0' >> /etc/profile
echo 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profile

配置环境变量后,需要使用如下命令加载环境变量配置文件/etc/profile,使用Zookeeper的环境变量生效。

source /etc/profile

在这里插入图片描述

4.3 配置虚拟机hadoop3的Zookeeper环境变量

虚拟机hadoop3使用echo命令向环境变量配置文件/etc/profile追加环境变量内容。

echo >> /etc/profile
echo 'export ZK_HOME=/export/servers/zookeeper-3.7.0' >> /etc/profile
echo 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profile

配置环境变量后,需要使用如下命令加载环境变量配置文件/etc/profile,使用Zookeeper的环境变量生效。

source /etc/profile

在这里插入图片描述

5. 启动Zookeeper集群

虚拟机hadoop1执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

虚拟机hadoop2执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

虚拟机hadoop3执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

6. 查看Zookeeper集群状态

虚拟机hadoop1执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

虚拟机hadoop2执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

虚拟机hadoop3执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

如果集群启动正常如上图所示,会有一个领导者leader,两个跟随者follower。

若要停止Zookeeper集群运行,依次在虚拟机hadoop1、hadoop2和hadoop3执行如下命令停止Zookeeper服务。

zkServer.sh stop

二、使用shell脚本自动部署Zookeeper完全分布式(选看)

1. 下载Zookeeper

点击下载zookeeper3.7.0安装包:https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

2. 上传安装包

通过拖移的方式将下载的zookeeper安装包apache-zookeeper-3.7.0-bin.tar.gz上传至虚拟机hadoop1的/export/software目录。

在这里插入图片描述

3. 使用shell脚本自动部署Zookeeper完全分布式

3.1 创建 hadoop1_zookeeper_install_config.sh 脚本文件并添加脚本内容

虚拟机hadoop1上创建hadoop1_zookeeper_install_config脚本文件

touch /export/shell/hadoop1_zookeeper_install_config.sh

添加如下内容:

#!/bin/bash

# 定义常量
ZK_VER="3.7.0"
ZK_BIN_TAR="apache-zookeeper-${ZK_VER}-bin.tar.gz"
ZK_DATA_DIR="/export/data/zookeeper/zkdata"
DATA_DIR="/export/data"
SOFTWARE_DIR="/export/software"
SERVERS_DIR="/export/servers"

# 如果数据持久化目录存在则删除
if [ -d "${ZK_DATA_DIR}" ]; then
  echo "删除 Hadoop1 的数据持久化目录 ${ZK_DATA_DIR}..."
  rm -rf ${ZK_DATA_DIR}
fi

ssh root@hadoop2 \
"
if [ -d \"${ZK_DATA_DIR}\" ]; then
  echo \"删除 Hadoop2 的数据持久化目录 ${ZK_DATA_DIR}...\"
  rm -rf ${ZK_DATA_DIR}
fi
exit
"

ssh root@hadoop3 \
"
if [ -d \"${ZK_DATA_DIR}\" ]; then
  echo \"删除 Hadoop3 的数据持久化目录 ${ZK_DATA_DIR}...\"
  rm -rf ${ZK_DATA_DIR}
fi
exit
"

# 检查zookeeper是否已解压
if [ -d "${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin" ]; then
  echo "zookeeper安装程序已存在,正在删除原安装程序目录..."
  rm -rf "${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin"
fi
if [ -d "${SERVERS_DIR}/zookeeper-${ZK_VER}" ]; then
  echo "zookeeper安装程序已存在,正在删除原安装程序目录..."
  rm -rf "${SERVERS_DIR}/zookeeper-${ZK_VER}"
fi

# 检查zookeeper安装包是否存在
if [ -f ${SOFTWARE_DIR}/${ZK_BIN_TAR} ]; then
  echo "zookeeper安装包存在,正在解压安装包..."
  # 解压zookeeper安装包
  tar -zxvf ${SOFTWARE_DIR}/${ZK_BIN_TAR} -C ${SERVERS_DIR}
  echo "解压 ${SOFTWARE_DIR}/${ZK_BIN_TAR}${SERVERS_DIR} 目录成功"
else
  echo "zookeeper安装包不存在,请先上传安装包到 ${SOFTWARE_DIR} 目录"
  exit 1
fi

# 重命名
mv ${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin ${SERVERS_DIR}/zookeeper-${ZK_VER}
if [ $? -eq 0 ]; then
  echo "${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin 重命名为 ${SERVERS_DIR}/zookeeper-${ZK_VER} 成功"
else
  echo "${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin 重命名为 ${SERVERS_DIR}/zookeeper-${ZK_VER}失败,请检查"
  exit 1
fi

# 创建zoo.cfg配置文件
cp ${SERVERS_DIR}/zookeeper-${ZK_VER}/conf/zoo_sample.cfg ${SERVERS_DIR}/zookeeper-${ZK_VER}/conf/zoo.cfg
if [ $? -eq 0 ]; then
  echo "ZooKeeper 配置文件 zoo.cfg 创建成功"
else
  echo "ZooKeeper 配置文件 zoo.cfg 创建失败,请检查"
  exit 1
fi

# 修改zoo.cfg配置文件内容
cat >${SERVERS_DIR}/zookeeper-${ZK_VER}/conf/zoo.cfg <<EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/export/data/zookeeper/zkdata
clientPort=2181

server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
EOF
echo "${SERVERS_DIR}/zookeeper-${ZK_VER}/conf/zoo.cfg 配置文件修改成功"

# 创建数据持久化目录并创建myid文件
mkdir -p /export/data/zookeeper/zkdata
echo 1 > /export/data/zookeeper/zkdata/myid
if [ $? -eq 0 ]; then
  echo 'Hadoop1 创建数据持久化目录并创建 myid 文件成功'
else
  echo 'Hadoop1 创建数据持久化目录并创建 myid 文件失败,请检查'
  exit 1
fi

ssh root@hadoop2 \
"
mkdir -p /export/data/zookeeper/zkdata
echo 2 > /export/data/zookeeper/zkdata/myid
if [ $? -eq 0 ]; then
  echo 'Hadoop2 创建数据持久化目录并创建 myid 文件成功'
else
  echo 'Hadoop2 创建数据持久化目录并创建 myid 文件失败,请检查'
fi
exit
"

ssh root@hadoop3 \
"
mkdir -p /export/data/zookeeper/zkdata
echo 3 > /export/data/zookeeper/zkdata/myid
if [ $? -eq 0 ]; then
  echo 'Hadoop3 创建数据持久化目录并创建 myid 文件成功'
else
  echo 'Hadoop3 创建数据持久化目录并创建 myid 文件失败,请检查'
fi
exit
"

# 配置ZooKeeper系统环境变量
if [ -n "$ZK_HOME" ]; then
  echo "Hadoop1 ZooKeeper 环境变量已配置:$ZK_HOME"
else
  echo >> /etc/profile
  echo 'export ZK_HOME=/export/servers/zookeeper-3.7.0' >> /etc/profile
  echo 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profile
  echo "Hadoop1 ZooKeeper 环境变量配置成功"
fi

# 分发环境变量配置文件到hadoop2
scp /etc/profile root@hadoop2:/etc/
if [ $? -eq 0 ]; then
  echo "分发 /etc/profile 到 hadoop2 的 /etc 目录成功"
else
  echo "分发 /etc/profile 到 hadoop2 的 /etc 目录失败,请检查"
  exit 1
fi

# 分发环境变量配置文件到hadoop3
scp /etc/profile root@hadoop3:/etc/
if [ $? -eq 0 ]; then
  echo "分发 /etc/profile 到 hadoop3 的 /etc 目录成功"
else
  echo "分发 /etc/profile 到 hadoop3 的 /etc 目录失败,请检查"
  exit 1
fi

# 分发安装程序到hadoop2
scp -r ${SERVERS_DIR}/zookeeper-${ZK_VER} root@hadoop2:${SERVERS_DIR}/
if [ $? -eq 0 ]; then
  echo "分发 ${SERVERS_DIR}/zookeeper-${ZK_VER} 到 hadoop2 的 ${SERVERS_DIR} 目录成功"
else
  echo "分发 ${SERVERS_DIR}/zookeeper-${ZK_VER} 到 hadoop2 的 ${SERVERS_DIR} 目录失败,请检查"
  exit 1
fi

# 分发安装程序到hadoop3
scp -r ${SERVERS_DIR}/zookeeper-${ZK_VER} root@hadoop3:${SERVERS_DIR}/
if [ $? -eq 0 ]; then
  echo "分发 ${SERVERS_DIR}/zookeeper-${ZK_VER} 到 hadoop3 的 ${SERVERS_DIR} 目录成功"
else
  echo "分发 ${SERVERS_DIR}/zookeeper-${ZK_VER} 到 hadoop3 的 ${SERVERS_DIR} 目录失败,请检查"
  exit 1
fi

echo -e "\n-----zookeeper 完全分布式安装配置完成-----\n"
echo -e "1. 依次在虚拟机Hadoop1、Hadoop2和Hadoop3执行命令 \e[31msource /etc/profile\e[0m 加载环境变量\n"
echo -e "2. 依次在虚拟机Hadoop1、Hadoop2和Hadoop3启动ZooKeeper服务:\e[31mzkServer.sh start\e[0m\n"
echo -e "3. 依次在虚拟机Hadoop1、Hadoop2和Hadoop3查看ZooKeeper服务状态:\e[31mzkServer.sh status\e[0m\n"
echo -e "若要停止ZooKeeper集群运行,依次在虚拟机Hadoop1、Hadoop2和Hadoop3停止ZooKeeper服务: \e[31mzkServer.sh stop\e[0m"

exit 0

在这里插入图片描述

3.2 添加可执行权限

虚拟机hadoop1上给脚本文件/export/shell/hadoop1_hadoop_install_config.sh添加可执行权限。

chmod +x /export/shell/hadoop1_zookeeper_install_config.sh

在这里插入图片描述

3.3 执行脚本

虚拟机hadoop1上执行脚本文件自动化安装配置zookeeper完全分布式。

/export/shell/hadoop1_zookeeper_install_config.sh

执行完成如下图所示。

在这里插入图片描述

4. 加载环境变量

根据使用shell脚本自动安装完成后的提示依次在虚拟机hadoop1、hadoop2和hadoop3执行如下命令加载环境变量。

source /etc/profile

在这里插入图片描述

5. 启动Zookeeper集群

虚拟机hadoop1执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

虚拟机hadoop2执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

虚拟机hadoop3执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

6. 查看Zookeeper集群状态

虚拟机hadoop1执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

虚拟机hadoop2执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

虚拟机hadoop3执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

如果集群启动正常如上图所示,会有一个领导者leader,两个跟随者follower。

若要停止Zookeeper集群运行,依次在虚拟机hadoop1、hadoop2和hadoop3执行如下命令停止Zookeeper服务。

zkServer.sh stop

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/912933.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python小白学习教程从入门到入坑------第二十九课 访问模式(语法进阶)

目录 一、访问模式 1.1 r 1.2 w 1.3 1.3.1 r 1.3.2 w 1.3.3 a 1.4 a 一、访问模式 模式可做操作若文件不存在是否覆盖r只能读报错-r可读可写报错是w只能写创建是w可读可写创建是a只能写创建否&#xff0c;追加写a可读可写创建否&#xff0c;追加写 1.1 r r&…

巡检任务管理系统(源码+文档+部署+讲解)

本文将深入解析“巡检任务管理系统”的项目&#xff0c;探究其架构、功能以及技术栈&#xff0c;并分享获取完整源码的途径。 系统概述 巡检任务管理、巡检抽查、巡检任务随机分派等功能 本项目名称为巡检管理系统&#xff0c;是对巡检工作进行数字化管理的系统。该系统适用…

自动驾驶系列—自动驾驶车辆的姿态与定位:IMU数据在复杂环境中的关键作用

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

如何运营Github Org

目录 前言 正文 关于分支保护 特别说明 如何在Windows环境下配置GitHub Desktop GPG签名&#xff1f; 推荐分支保护选择 关于good first issue 如何设置good first issue&#xff1f; 关于Project 尾声 &#x1f52d; Hi,I’m Pleasure1234&#x1f331; I’m currently learni…

odrive代码阅读笔记

电机参数 电流环带宽 atan2 #include "float.h" #define MACRO_MAX(x, y) (((x) > (y)) ? (x) : (y)) #define MACRO_MIN(x, y) (((x) < (y)) ? (x) : (y)) #define f_abs(x) ((x > 0) ? x : -x) // based on https://math.stackexchange.com/a/11050…

笔记本怎么开启TPM2.0_笔记本开启TPM2.0教程(不同笔记本开启tpm2.0方法)

在win11最低要求是提示&#xff0c;电脑必须满足 TPM 2.0&#xff0c;并开需要开启TPM 才能正常安装windows11系统&#xff0c;有很多笔记本的用户问我&#xff0c;笔记本怎么开启tpm功能呢&#xff1f;下面小编就给大家详细介绍一下笔记本开启tpm功能的方法。 如何确认你笔记本…

ModuleNotFoundError: No module named ‘_ssl‘ centos7中的Python报错

报错 ModuleNotFoundError: No module named ‘_ssl’ 解决步骤&#xff1a; 1.下载openssl wget https://www.openssl.org/source/openssl-3.0.7.tar.gz tar -zxvf openssl-3.0.7.tar.gz cd openssl-3.0.72.编译安装 ./config --prefix/usr/local/openssl make make install3…

迁移学习相关基础

迁移学习 目标 将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中。 主要思想 从相关领域中迁移标注数据或者知识结构、完成或改进目标领域或任务的学习效果。 概述 Target data&#xff1a;和你的任务有直接关系的数据&#xff0c;但数据量少&#xff…

ReactPress系列—Next.js 的动态路由使用介绍

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议&#xff0c;感谢Star。 Next.js 的动态路由使用介绍 Next.js 是一个流行的 React 框架&#xff0c;支持服务端渲染、静态站点生成和动态路由等功能&#xff0c;极大地简化…

一文熟悉新版llama.cpp使用并本地部署LLAMA

0. 简介 最近是快到双十一了再给大家上点干货。去年我们写了一个大模型的系列&#xff0c;经过一年&#xff0c;大模型的发展已经日新月异。这一次我们来看一下使用llama.cpp这个项目&#xff0c;其主要解决的是推理过程中的性能问题。主要有两点优化&#xff1a; llama.cpp …

yolov8涨点系列之轻量化主干网络替换

文章目录 YOLOv8 替换成efficientvit轻量级主干网络的好处计算效率提升模型部署更便捷方便模型移植 模型可扩展性增强便于集成其他模块支持模型压缩技术 主干网络替换1.创建yolov8_efficeintVit.py2.修改task.py(1)引入创建的efficientViT文件(2)修改_predict_once函数(3)修改p…

python代码打包exe文件(可执行文件)

一、exe打包 1、构建虚拟环境 conda create -n env_name python3.8 #env_name,python根据自己需求修改2、保存和安装项目所需的所有库 pip freeze > requirements.txt3、虚拟环境安装项目包、库 pip install -r requirements.txt4、安装pyinstaller pip install pyinst…

scala学习记录,Set,Map

set&#xff1a;集合&#xff0c;表示没有重复元素的集合&#xff0c;特点&#xff1a;唯一 语法格式&#xff1a;val 变量名 Set [类型]&#xff08;元素1&#xff0c;元素2...&#xff09; 可变不可变 可变&#xff08;mutable&#xff09;可对元素进行添加&#xff0c;删…

ai外呼机器人的作用有哪些?

ai外呼机器人具有极高的工作效率。日拨打成千上万通不是问题&#xff0c;同时&#xff0c;机器人还可以快速筛选潜在客户&#xff0c;将更多精力集中在有价值的客户身上&#xff0c;进一步提升营销效果。183-3601-7550 ai外呼机器人的作用&#xff1a; 1、搭建系统&#xff0c…

Matlab实现鲸鱼优化算法优化随机森林算法模型 (WOA-RF)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 鲸鱼优化算法&#xff08;Whale Optimization Algorithm, WOA&#xff09;是受座头鲸捕食行为启发而提出的一种新型元启发式优化算法。该算法通过模拟座头鲸围绕猎物的螺旋游动和缩小包围圈的方式&#xff0c;在…

Linux基础4-进程5(程序地址空间详解)

上篇文章:Linux基础4-进程4&#xff08;环境变量&#xff0c;命令行参数详解&#xff09;-CSDN博客 本章重点&#xff1a; 1 重新理解c/c地址空间 2 虚拟地址空间 一. c/c地址空间 地址空间布局图: 运行下列代码&#xff0c;进行观察 #include <stdio.h> #include <…

本地连接IP地址的自主设置指南‌

在数字化时代&#xff0c;网络连接已成为我们日常生活和工作中不可或缺的一部分。无论是家庭网络还是企业网络&#xff0c;正确配置IP地址是确保网络畅通无阻的基础。IP地址&#xff0c;即互联网协议地址&#xff0c;是网络中每个设备的唯一标识。掌握如何自主设置本地连接的IP…

对 fn.apply(this, arguments) 的使用还在疑惑?快进来看看它的设计含义及常见使用场景吧~

&#x1f64c; 如文章有误&#xff0c;恳请评论区指正&#xff0c;谢谢&#xff01; ❤ 写作不易&#xff0c;「点赞」「收藏」「转发」 谢谢支持&#xff01; 背景 近期在研究高阶函数封装的过程中&#xff0c;看到 fn.apply(this, arguments) 的出镜率非常高&#xff0c;而如…

【ReactPress】React + antd + NestJS + NextJS + MySQL 的简洁兼时尚的博客网站

ReactPress 是使用React开发的开源发布平台&#xff0c;用户可以在支持React和MySQL数据库的服务器上架设属于自己的博客、网站。也可以把 ReactPress 当作一个内容管理系统&#xff08;CMS&#xff09;来使用。 前言 此项目是用于构建博客网站的&#xff0c;包含前台展示、管理…

Pycharm远程调试deepspeed!可用!

本人写代码的习惯就是一定是要从别人优秀的代码中调试学习的&#xff0c;直接运行看的话&#xff0c;可能知道了大概的逻辑但是缺无法知道细节的话&#xff08;参数的含义或者某某数据格式类型&#xff09;&#xff0c;可能对整体代码逻辑的把控不是狠好&#xff0c;所以还是从…