hadoop集群部署教程

文章目录

  • 前言
  • 一、相关介绍
    • 1. 配置文件位置
      • 1.1 只读默认配置文件
      • 1.2 可修改配置文件
      • 1.3 相关环境变量配置文件
  • 二、安装准备
    • 1. 准备centos
    • 2. 配置集群免密登录
    • 3. 部署规划
    • 4. 安装条件
    • 5. 安装jdk
  • 三、安装hadoop
    • 1. 下载并解压hadoop
    • 2. 设置环境变量
      • 2.1 设置hadoop安装目录环境变量
      • 2.2 设置hadoop的root用户环境变量
    • 3. 修改配置文件
      • 3.1 修改 etc/hadoop/hadoop-env.sh 文件
      • 3.2 修改 etc/hadoop/core-site.xml 文件
      • 3.3 修改 etc/hadoop/hdfs-site.xml 文件
      • 3.4 修改 etc/hadoop/mapred-site.xml 文件
      • 3.5 修改 etc/hadoop/yarn-site.xml 文件
      • 3.6 修改 etc/hadoop/workers 文件
      • 3.7 同步配置
    • 4. 格式化文件系统
    • 5. 启动hadoop
    • 6. 浏览器访问
  • 四、hadoop集群命令
    • 1. 启停命令
      • 1.1 启停 hdfs
      • 1.2 启停 yarn
  • 总结


前言

本文介绍了如何安装和配置Hadoop,一个用于分布式存储和处理大规模数据的开源框架。通过按照本文提供的步骤,您可以在自己的机器上搭建一个Hadoop伪集群,并通过浏览器访问Hadoop的管理页面。本文详细介绍了安装准备、安装JDK、安装Hadoop、修改配置文件、格式化文件系统以及启动Hadoop的步骤。


一、相关介绍

1. 配置文件位置

1.1 只读默认配置文件

hadoop的只读默认配置文件位于安装目录下share/doc/hadoop/hadoop-project-dist/hadoop-common目录。包括以下默认配置文件:

  • share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml
  • share/doc/hadoop/hadoop-project-dist/hadoop-common/hdfs-default.xml
  • share/doc/hadoop/hadoop-project-dist/hadoop-common/yarn-default.xml
  • share/doc/hadoop/hadoop-project-dist/hadoop-common/mapred-default.xml

1.2 可修改配置文件

hadoop的可修改配置文件位于安装目录下etc/hadoop目录。包括以下可修改配置文件:

  • etc/hadoop/core-site.xml
  • etc/hadoop/hdfs-site.xml
  • etc/hadoop/yarn-site.xml
  • etc/hadoop/mapred-site.xml

这些配置文件的配置会覆盖默认配置文件的配置。

1.3 相关环境变量配置文件

hadoop的相关环境变量配置文件位于安装目录下etc/hadoop目录。包括以下相关环境变量配置文件:

  • etc/hadoop/hadoop-env.sh
  • etc/hadoop/mapred-env.sh
  • etc/hadoop/yarn-env.sh

二、安装准备

1. 准备centos

准备三台centos,我准备的如下。

ip地址主机名
192.168.198.101hadoop101
192.168.198.102hadoop102
192.168.198.103hadoop103

修改/etc/hosts文件,配置主机名映射为ip地址。
hadoop101、hadoop102、hadoop103节点都要执行。

echo >> /etc/hosts
echo '192.168.198.101 hadoop101' >> /etc/hosts
echo '192.168.198.102 hadoop102' >> /etc/hosts
echo '192.168.198.103 hadoop103' >> /etc/hosts

2. 配置集群免密登录

hadoop101节点执行。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-copy-id 192.168.198.102
ssh-copy-id 192.168.198.103

hadoop102节点执行。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-copy-id 192.168.198.101
ssh-copy-id 192.168.198.103

hadoop103节点执行。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-copy-id 192.168.198.101
ssh-copy-id 192.168.198.102

3. 部署规划

hadoop101hadoop102hadoop103
HDFSNameNode
DataNode
SecondaryNameNode
DataNode
DataNode
YARNNodeManagerNodeManagerResourceManager
NodeManager

4. 安装条件

  • jdk版本:1.8+

5. 安装jdk

hadoop101、hadoop102、hadoop103节点都要执行。

下载地址:https://www.oracle.com/java/technologies/downloads/#java8

下载后上传到/tmp目录下。

然后执行下面命令,用于创建目录、解压,并设置系统级环境变量。

mkdir -p /opt/module
tar -zxvf /tmp/jdk-8u391-linux-x64.tar.gz -C /opt/module/
echo >> /etc/profile
echo '#JAVA_HOME' >> /etc/profile
echo "export JAVA_HOME=/opt/module/jdk1.8.0_391" >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

三、安装hadoop

1. 下载并解压hadoop

hadoop101、hadoop102、hadoop103节点都要执行。

wget --no-check-certificate https://archive.apache.org/dist/hadoop/common/hadoop-3.0.0/hadoop-3.0.0.tar.gz -P /tmp
mkdir -p /opt/soft/hadoop
tar -zxvf /tmp/hadoop-3.0.0.tar.gz -C /opt/soft/hadoop

2. 设置环境变量

2.1 设置hadoop安装目录环境变量

设置hadoop系统级环境变量,并加载环境变量。

hadoop101、hadoop102、hadoop103节点都要执行。

echo >> /etc/profile
echo '#HADOOP_HOME' >> /etc/profile
echo "export HADOOP_HOME=/opt/soft/hadoop/hadoop-3.0.0" >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
echo 'export HADOOP_LOG_DIR=$PATH:$HADOOP_HOME/logs' >> /etc/profile
source /etc/profile

2.2 设置hadoop的root用户环境变量

hadoop通常不建议以root用户身份来启动服务,因为这可能会导致安全漏洞。如果以root用户启动hadoop就会报错,设置hadoop的root用户环境变量后,就可以用root用户启动hadoop。

hadoop101、hadoop102、hadoop103节点都要执行。

echo >> /etc/profile
echo 'export HDFS_NAMENODE_USER=root' >> /etc/profile
echo 'export HDFS_DATANODE_USER=root' >> /etc/profile
echo 'export HDFS_SECONDARYNAMENODE_USER=root' >> /etc/profile
echo 'export YARN_RESOURCEMANAGER_USER=root' >> /etc/profile
echo 'export YARN_NODEMANAGER_USER=root' >> /etc/profile
source /etc/profile

3. 修改配置文件

hadoop101节点执行。

3.1 修改 etc/hadoop/hadoop-env.sh 文件

修改 etc/hadoop/hadoop-env.sh 文件,设置Java环境变量。

cd /opt/soft/hadoop/hadoop-3.0.0
sed -i "s|^# export JAVA_HOME=.*|export JAVA_HOME=/opt/module/jdk1.8.0_391|" "etc/hadoop/hadoop-env.sh"
sed -i "s|^export JAVA_HOME=.*|export JAVA_HOME=/opt/module/jdk1.8.0_391|" "etc/hadoop/hadoop-env.sh"

3.2 修改 etc/hadoop/core-site.xml 文件

修改 /opt/soft/hadoop/hadoop-3.0.0/etc/hadoop/core-site.xml 文件。内容如下所示。

<configuration>
    <!--NameNode URI-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop101:8020</value>
    </property>
    <!--在SequenceFiles中使用的读写缓冲区的大小。-->
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/soft/hadoop/hadoop-3.0.0/hadoop-tmp-data</value>
    </property>
    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.root.users</name>
        <value>*</value>
    </property>
</configuration>

3.3 修改 etc/hadoop/hdfs-site.xml 文件

修改 /opt/soft/hadoop/hadoop-3.0.0/etc/hadoop/hdfs-site.xml 文件。内容如下所示。

<configuration>
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop101:9870</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop102:9868</value>
    </property>
    <!--用于启用或禁用Hadoop文件系统(HDFS)的权限控制功能-->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
    <!--设置 HDFS 中数据块的副本数-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--本地文件系统上的路径,NameNode 在其中永久存储命名空间和事务日志。如果这是以逗号分隔的目录列表,则名称表将复制到所有目录中,以实现冗余。-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/namenode</value>
    </property>
    <!--允许/排除的数据节点列表。如有必要,请使用这些文件来控制允许的数据节点列表。-->
    <property>
        <name>dfs.hosts</name>
        <!--<name>dfs.hosts.exclude</name>-->
        <value>hadoop101,hadoop102,hadoop103</value>
    </property>
    <!--HDFS 块大小为 256MB,适用于大型文件系统。-->
    <property>
        <name>dfs.blocksize</name>
        <value>268435456</value>
    </property>
    <!--更多的 NameNode 服务器线程来处理来自大量 DataNode 的 RPC。-->
    <property>
        <name>dfs.namenode.handler.count</name>
        <value>100</value>
    </property>
    <!--DataNode 的本地文件系统上应存储其块的路径列表,以逗号分隔。	如果这是以逗号分隔的目录列表,则数据将存储在所有命名目录中,通常存储在不同的设备上。-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/soft/hadoop/hadoop-3.0.0/datanode-data</value>
    </property>
</configuration>

3.4 修改 etc/hadoop/mapred-site.xml 文件

修改 /opt/soft/hadoop/hadoop-3.0.0/etc/hadoop/mapred-site.xml 文件。内容如下所示。

<configuration>
    <!--执行框架设置为 Hadoop YARN。-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!--map的最大资源限制。-->
    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>1536</value>
    </property>
    <!--map的子 jvm 的堆最大大小。-->
    <property>
        <name>mapreduce.map.java.opts</name>
        <value>-Xmx1024M</value>
    </property>
    <!--reduce的最大资源限制。-->
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>3072</value>
    </property>
    <!--reduce的子 jvm 的堆最大大小。-->
    <property>
        <name>mapreduce.reduce.java.opts</name>
        <value>-Xmx2560M</value>
    </property>
    <!--在对数据进行排序以提高效率时具有更高的内存限制。-->
    <property>
        <name>mapreduce.task.io.sort.mb</name>
        <value>512</value>
    </property>
    <!--对文件进行排序时,一次合并了更多流。-->
    <property>
        <name>mapreduce.task.io.sort.factor</name>
        <value>100</value>
    </property>
    <!--运行的并行副本数量越多,就会减少从大量映射中获取输出。-->
    <property>
        <name>mapreduce.reduce.shuffle.parallelcopies</name>
        <value>50</value>
    </property>
    <!--MapReduce 工作历史服务器 host:port-->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop102:10020</value>
    </property>
    <!--MapReduce 工作历史服务器 Web UI host:port-->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop102:19888</value>
    </property>
    <!--MapReduce作业写入历史文件的目录。-->
    <property>
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/opt/soft/hadoop/hadoop-3.0.0/mr-history/tmp</value>
    </property>
    <!--MR JobHistory Server 管理历史文件的目录。-->
    <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/opt/soft/hadoop/hadoop-3.0.0/mr-history/done</value>
    </property>
</configuration>

3.5 修改 etc/hadoop/yarn-site.xml 文件

修改 /opt/soft/hadoop/hadoop-3.0.0/etc/hadoop/yarn-site.xml 文件。内容如下所示。

<configuration>
    <!--启用 ACL?默认值为 false。-->
    <property>
        <name>yarn.acl.enable</name>
        <value>false</value>
    </property>
    <!--管理 ACL。ACL 用于在群集上设置管理员。ACL 用于逗号分隔用户空间逗号分隔组。默认为特殊值 *,表示任何人。空间的特殊价值意味着没有人可以访问。-->
<!--    <property>-->
<!--        <name>yarn.admin.acl</name>-->
<!--        <value>*</value>-->
<!--    </property>-->
    <!--用于启用或禁用日志聚合的配置-->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!--设置日志聚集服务器地址-->
    <property>
        <name>yarn.log.server.url</name>
        <value>http://hadoop103:19888/jobhistory/logs</value>
    </property>
    <!--设置日志保留时间为7天,在删除聚合日志之前要保留聚合日志多长时间。-1 禁用。请注意,将其设置得太小,将向名称节点发送垃圾邮件。-->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
    <!--ResourceManager host:port,用于客户端提交作业。-->
<!--    <property>-->
<!--        <name>yarn.resourcemanager.address</name>-->
<!--        <value>hadoop103:8088</value>-->
<!--    </property>-->
    <!--ResourceManager host:port,用于 ApplicationMasters 与 Scheduler 通信以获取资源。-->
<!--    <property>-->
<!--        <name>yarn.resourcemanager.scheduler.address</name>-->
<!--        <value></value>-->
<!--    </property>-->
    <!--ResourceManager host:port 用于 NodeManager。-->
<!--    <property>-->
<!--        <name>yarn.resourcemanager.resource-tracker.address</name>-->
<!--        <value></value>-->
<!--    </property>-->
    <!--ResourceManager host:port,用于管理命令。-->
<!--    <property>-->
<!--        <name>yarn.resourcemanager.admin.address</name>-->
<!--        <value></value>-->
<!--    </property>-->
    <!--ResourceManager web-ui host:port。-->
<!--    <property>-->
<!--        <name>yarn.resourcemanager.webapp.address</name>-->
<!--        <value></value>-->
<!--    </property>-->
    <!--ResourceManager 主机。-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
    </property>
    <!--资源管理器调度程序类。-->
    <property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
    </property>
    <!--在资源管理器中分配给每个容器请求的最小内存限制。-->
<!--    <property>-->
<!--        <name>yarn.scheduler.minimum-allocation-mb</name>-->
<!--        <value></value>-->
<!--    </property>-->
    <!--要分配给资源管理器中每个容器请求的最大内存限制。-->
<!--    <property>-->
<!--        <name>yarn.scheduler.maximum-allocation-mb</name>-->
<!--        <value></value>-->
<!--    </property>-->
    <!--允许/排除的 NodeManager 列表。-->
<!--    <property>-->
        <!--<name>yarn.resourcemanager.nodes.exclude-path</name>-->
<!--        <name>yarn.resourcemanager.nodes.include-path</name>-->
<!--        <value></value>-->
<!--    </property>-->
    <!--设置YARN NodeManager的辅助服务。用于在Map和Reduce任务之间传输数据。-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--设置允许传递给YARN NodeManager的环境变量白名单。-->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

3.6 修改 etc/hadoop/workers 文件

修改 /opt/soft/hadoop/hadoop-3.0.0/etc/hadoop/workers 文件。内容如下所示。

hadoop101
hadoop102
hadoop103

3.7 同步配置

把上面设置的配置文件同步到hadoop102hadoop103节点。

scp -r /opt/soft/hadoop/hadoop-3.0.0/etc/hadoop hadoop102:/opt/soft/hadoop/hadoop-3.0.0/etc
scp -r /opt/soft/hadoop/hadoop-3.0.0/etc/hadoop hadoop103:/opt/soft/hadoop/hadoop-3.0.0/etc

4. 格式化文件系统

hadoop101节点执行。

hdfs namenode -format

5. 启动hadoop

hadoop101节点启动hdfs。

cd /opt/soft/hadoop/hadoop-3.0.0/sbin
./start-dfs.sh

hadoop103节点启动yarn。

cd /opt/soft/hadoop/hadoop-3.0.0/sbin
./start-yarn.sh

6. 浏览器访问

浏览器访问地址 http://192.168.198.101:9870 即可进入 NameNode页面。如下图所示。

在这里插入图片描述

浏览器访问地址 http://192.168.198.102:9868 即可进入 SecondaryNameNode页面。如下图所示。

在这里插入图片描述

浏览器访问地址 http://192.168.198.103:8088 即可进入 yarn 页面。如下图所示。

在这里插入图片描述


四、hadoop集群命令

1. 启停命令

1.1 启停 hdfs

cd /opt/soft/hadoop/hadoop-3.0.0/sbin
./start-dfs.sh
./stop-dfs.sh

1.2 启停 yarn

cd /opt/soft/hadoop/hadoop-3.0.0/sbin
./start-yarn.sh
./stop-yarn.sh

总结

通过本文的指导,您已经学会了如何安装和配置Hadoop,并搭建了一个Hadoop伪集群。Hadoop是一个强大的工具,可以帮助您存储和处理大规模的数据。您可以进一步探索Hadoop的功能和特性,以满足您的数据处理需求。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

参考链接:

  • https://hadoop.apache.org/docs/r3.0.0/hadoop-project-dist/hadoop-common/ClusterSetup.html#Installation

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

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

相关文章

Diddler抓包工具——学习笔记

F12抓包 302【重定向】&#xff1a;当你发送了一个请求之后&#xff0c;那么这个请求重定向到了另外的资源 跳转和重定向的区别&#xff1a; 跳转是会把数据传到新的地址 重定向不会把新的数据传到新的地址 使用F12抓包时一定要打开Preserve Log开关&#xff0c;作用是保留…

【CSP试题回顾】202009-1-称检测点查询

CSP-202009-1-称检测点查询 解题代码 #include <iostream> #include <vector> #include <cmath> #include <algorithm> using namespace std;int n, X, Y, x, y; struct MyDistance {int index;int dis; }; vector<MyDistance>list; bool cmp(…

福州·名城银河湾220㎡现代简约风装修案例分享。福州中宅装饰,福州装修

以手作维度构境, 跳脱约定成俗的风格, 转化内外地域分际, 于静谧中凝聚丰厚的美学能量, 谦虚且沉默以对。 平面设计图 项目信息 项目名称 | 名城银河湾 设计地址 | 福建福州 项目面积 | 220㎡ 项目户型 | 5室2厅2厨3卫 设计风格 | 现代轻奢 首席设计师丨欧阳光玉 中…

C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码

1 老鼠迷宫问题 迷宫中的老鼠&#xff0c;作为另一个可以使用回溯解决的示例问题。 迷宫以块的NN二进制矩阵给出&#xff0c;其中源块是最左上方的块&#xff0c;即迷宫[0][0]&#xff0c;目标块是最右下方的块&#xff0c;即迷宫[N-1][N-1]。老鼠从源头开始&#xff0c;必须…

《C缺陷和陷阱》-笔记(2)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 一、理解函数声明 1.(*(void(*)( ))0)( ); 2.signal 函数接受两个参数&#xff1a; 3.使用typedef 简化函数声明&#xff1a; 二、运算符的优先级…

C/C++实现代码雨效果

C/C实现代码雨效果 目录 C/C实现代码雨效果 说明使用的库说明测试代码效果图 说明 最近整理电脑资料&#xff0c;翻出了以前写的代码&#xff0c;顺便整理一下到博客上&#xff0c;当做一次备份记录 先看看静态效果 需要分为以下步骤实现 生成代码串把代码串绘制到窗口中使…

差分约束

&#xff08;1&#xff09;求不等式组的可行解 源点需满足的条件&#xff1a;从源点出发&#xff0c;一定可以到达所有的边 求最短路 步骤&#xff1a;1.先将每个不等式xi<xj ck&#xff0c;转化成一条从xj走到xi&#xff0c;长度为ck的一条边 2.找一个超级源点&#xff0c…

CentOS7 利用remi yum源安装php8.1

目录 前言remi yum源remi yum源 支持的操作系统remi yum源 支持的php版本 安装epel源安装remi源安装 php8.1查看php版本查看php-fpm服务启动php-fpm服务查看php-fpm服务运行状态查看php-fpm服务占用的端口查看 php8.1 相关的应用 前言 CentOS Linux release 7.9.2009 (Core) …

【粉丝福利第四期】:《低代码平台开发实践:基于React》(文末送书)

文章目录 前言一、React与低代码平台的结合优势二、基于React的低代码平台开发挑战三、基于React的低代码平台开发实践四、未来展望《低代码平台开发实践&#xff1a;基于React》五、粉丝福利 前言 随着数字化转型的深入&#xff0c;企业对应用开发的效率和灵活性要求越来越高…

分销商城微信小程序:用户粘性增强,促进复购率提升

在数字化浪潮的推动下&#xff0c;微信小程序作为一种轻便、高效的移动应用形式&#xff0c;正成为越来越多企业开展电商业务的重要平台。而分销商城微信小程序的出现&#xff0c;更是为企业带来了前所未有的机遇。通过分销商城微信小程序&#xff0c;企业不仅能够拓宽销售渠道…

Double和Float类

Double类 功能&#xff1a;实现对Double基本型数据的类包 构造方法&#xff1a; (double num) double Value()方法&#xff1a;返回对象中的double型数据。 Float类 功能&#xff1a;实现对float基本型数据的类包装。 构造方法&#xff1a; (float num) Float Value()方法…

户用光伏创新技术,引领光伏时代进步

户用光伏近几年由于国家政策支持力度加大&#xff0c;技术也在快速发展&#xff0c;成功引领我国光伏时代的进步&#xff0c;掌握核心技术必将在新能源市场中抢占主导地位&#xff01; 一、制造方面 1.高效低成本晶硅太阳能电池表界面制造技术 这项技术主要涉及晶硅太阳能电池…

CraxsRat7.4 安卓手机远程管理软件

CRAXSRAT 7.4 最新视频 https://v.douyin.com/iFjrw2aD/ 官方网站下载 http://craxsrat.cn/ 不要问我是谁&#xff0c;我是活雷锋。 http://craxsrat.cn/ CraxsRat CraxsRat7 CraxsRat7.1 CraxsRat7.2 CraxsRat7.3 CraxsRat7.4

WPF 窗口添加投影效果Effect

BlurRadius&#xff1a;阴影半径 Color&#xff1a;颜色 Direction&#xff1a;投影方向 ShadowDepth&#xff1a;投影的深度 <Window.Effect><DropShadowEffect BlurRadius"10" Color"#FF858484" Direction"300" ShadowDepth&quo…

数据集下载汇总

国家数据网 https://data.stats.gov.cn/ 国家数据是国家统计局发布统计信息的网站&#xff0c;包含了我国经济、民生、农业、工业、运输、旅游、教育、科技、卫生等多个方面的数据&#xff0c;并且在月度、季度、年度都有覆盖&#xff0c;较为全面和权威&#xff0c;对于社会…

误删数据怎么恢复?四种实用方法全解析

如果您想知道如何恢复计算机上已删除的文件&#xff0c;您需要明确您应用了哪种删除。这完全取决于您如何删除文件。通常&#xff0c;您可以从回收站恢复已删除的文件并检索以前版本的文件。对于这些永久删除的文件&#xff0c;您在计算机上看不到&#xff0c;那么您必须尝试深…

Python绘图-12地理数据可视化

Matplotlib 自 带 4 类别 地理投影&#xff1a; Aitoff, Hammer, Mollweide 及 Lambert 投影&#xff0c;可以 结 合以下四 张 不同 的 图 了解四 种 不同投影 区别 。 12.1Aitoff投影 12.1.1图像呈现 12.1.2绘图代码 import numpy as np # 导入numpy库&#xff0c;用于…

初阶数据结构:排序(学习笔记)

目录 1. 各种排序算法的分类2. 插入排序2.1 直接插入排序2.2 希尔排序 3. 选择排序3.1 选择排序3.2 堆排序4. 交换排序4.1 冒泡排序4.2 快速排序4.2.1 霍尔法&#xff08;hoare&#xff09;4.2.2 挖坑法&#xff08;hole&#xff09;4.4.3 前后指针法4.4.4 补充&#xff1a;非递…

神经网络线性量化方法简介

可点此跳转看全篇 目录 神经网络量化量化的必要性量化方法简介线性对称量化线性非对称量化方法神经网络量化 量化的必要性 NetworkModel size (MB)GFLOPSAlexNet2330.7VGG-1652815.5VGG-1954819.6ResNet-50983.9ResNet-1011707.6ResNet-15223011.3GoogleNet271.6InceptionV38…

Codeforces Round 929 (Div. 3)- ABCDEFG

A:Turtle Puzzle: Rearrange and Negate 思路&#xff1a; 将负的元素全部排到一起&#xff0c;然后对它们符号取反&#xff0c;然后求所有元素的和&#xff0c;此时就是最大值了。 代码&#xff1a; #include<iostream> using namespace std;void solve() {int n;cin&…