当前位置: 首页 > news >正文

大数据之Hadoop部署

文章目录

    • 服务器规划
    • 服务器环境准备
      • 1. 网络测试
      • 2. 安装额外软件包
      • 3. 安装基础工具
      • 4. 关闭防火墙
      • 5. 创建用户并配置权限
      • 6. 创建目录并设置权限
      • 7. 卸载JDK
      • 8. 修改主机名
      • 9. 配置hosts文件
      • 10. 重启服务器
    • 配置免密登录
    • 安装Java
    • 安装Hadoop
      • 1. Hadoop部署
      • 2. 配置Hadoop
      • 3. 格式化Hadoop文件系统
      • 4. 启动Hadoop集群
      • 5. 验证Hadoop集群
    • 注意事项
    • 参考文件

在这里插入图片描述

搭建一个Hadoop集群涉及到多个步骤,包括服务器规划, 服务器环境准备,配置SSH无密码登录,安装Java,安装Hadoop,配置Hadoop,以及格式化和启动Hadoop集群。以下是在三台CentOS系统服务器上搭建Hadoop集群的必要步骤和详细的描述:

服务器规划

  • 准备三台服务器(Hadoop101、Hadoop102、Hadoop103), 确保都已经安装了CentOS 7.9操作系统。
  • 为每台服务器配置静态IP地址,确保它们在同一子网内,并且子网掩码、网关和DNS设置正确。
  • 使得三台服务器之间可以互相ping通。
  • 确保三台服务器都能够访问互联网。
  • 角色规划
    • Hadoop101 作为NameNodeResourceManager,负责集群的文件系统命名空间和资源管理。
    • Hadoop102 作为SecondaryNameNode,辅助NameNode进行元数据备份,不直接处理客户端读写请求。
    • Hadoop101、Hadoop102、Hadoop103 作为DataNodeNodeManager,存储实际的数据块并提供计算能力
Hadoop101Hadoop102Hadoop103
NameNodeSecondaryNameNode-
DataNodeDataNodeDataNode
ResourceManager--
NodeManagerNodeManagerNodeManager

服务器环境准备

对每台服务器做如下检查和配置, 下面是在root用户下进行操作。

1. 网络测试

  • 确保虚拟机可以正常上网。
    ping www.baidu.com
    

2. 安装额外软件包

  • 安装epel-release以获取更多软件包。
    yum install -y epel-release
    

3. 安装基础工具

  • 如果是最小系统版,需要安装以下工具:
    • net-tools:包含ifconfig等网络配置命令。
      yum install -y net-tools
      
    • vim:文本编辑器。
      yum install -y vim
      

4. 关闭防火墙

  • 停止并禁用防火墙服务。
    systemctl stop firewalld
    systemctl disable firewalld.service
    

5. 创建用户并配置权限

  • 创建bigdata用户并设置密码。
    useradd bigdata
    passwd bigdata
    
  • 配置bigdata用户具有root权限,无需密码即可执行sudo命令。
    vim /etc/sudoers
    
    • /etc/sudoers文件中添加:
      bigdata   ALL=(ALL)     NOPASSWD:ALL
      

6. 创建目录并设置权限

  • /opt目录下创建modulesoftware文件夹。
    mkdir /opt/module
    mkdir /opt/software
    
  • 修改文件夹的所有者和所属组为bigdata
    chown bigdata:bigdata /opt/module
    chown bigdata:bigdata /opt/software
    
  • 查看文件夹的所有者和所属组。
    ls -al /opt
    

7. 卸载JDK

  • 如果服务器预装了JDK,执行以下命令卸载:
    rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
    

8. 修改主机名

  • 登录到目标服务器:使用SSH或其他远程登录方式登录到需要修改主机名的服务器。
  • 编辑主机名配置文件:使用文本编辑器(如vim)编辑/etc/hostname文件。
    sudo vim /etc/hostname
    
  • 设置新的主机名:在文件中输入新的主机名,例如hadoop101,然后保存退出。
  • 更新系统识别的主机名:使更改立即生效,可以使用以下命令:
    sudo hostname -F /etc/hostname
    

9. 配置hosts文件

  • 打开hosts文件:编辑/etc/hosts文件,以将IP地址映射到相应的主机名。
    sudo vim /etc/hosts
    
  • 添加或更新条目:在文件中添加或更新映射关系,每条映射占一行,格式为IP地址 空格 主机名。例如:
    192.168.10.101 hadoop101
    192.168.10.102 hadoop102
    192.168.10.102 hadoop103
    
    这里的IP地址替换为自己服务器的IP地址。
  • 确保无重复条目:检查hosts文件以确保没有重复或冲突的条目,这可能会导致网络解析问题。
  • 保存并关闭文件:完成编辑后,保存更改并关闭文本编辑器。

10. 重启服务器

  • 完成配置后,重启服务器以应用更改。
    reboot
    

配置免密登录

为了方便管理,需要在服务器之间使用bigdata用户配置SSH无密码登录。

  1. 切换到bigdata 用户

    su bigdata
    
  2. hadoop101生成SSH密钥对:

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    

    该命令会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)。

  3. hadoop101上执行命令 ssh-copy-id, 将hadoop101公钥复制到每台服务器的~/.ssh/authorized_keys

    ssh-copy-id hadoop101
    ssh-copy-id hadoop102
    ssh-copy-id hadoop103
    

安装Java

下面的操作使用bigdata 用户在 hadoop101上进行操作。

  • 切换到 /opt/software 目录

    cd /opt/software
    
  • 使用 wget 下载 Java 1.8 版本

    wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
    

    请检查链接是否有效,因为Oracle的下载链接可能会变化。

  • 使用 tar 解压文件到 /opt/module 目录

    tar -xzvf jdk-8u301-linux-x64.tar.gz -C /opt/module/
    
  • 生成软链接

    ln -s /opt/module/jdk1.8.0_301 /opt/module/jdk
    
  • 设置 JDK 的环境变量

    • 新建/etc/profile.d/bigdata_env.sh文件

      touch /etc/profile.d/bigdata_env.sh
      
    • 添加如下内容,然后保存(:wq)退出

      #JAVA_HOME
      export JAVA_HOME=/opt/module/jdk
      export PATH=$PATH:$JAVA_HOME/bin
      
    • 让环境变量生效

      source /etc/profile.d/bigdata_env.sh
      
  • 验证安装

    java -version
    echo $JAVA_HOME
    
  • 分发软件和环境变量

    • JAVA软件JAVA软连接环境变量配置文件 分发到hadoop102hadoop103
    # 分发到 hadoop102
    rsync -av "/opt/module/jdk1.8.0_202" "hadoop102:/opt/module"
    rsync -av "/opt/module/jdk" "hadoop102:/opt/module"
    sudo rsync -av "/etc/profile.d/bigdata_env.sh" "hadoop102:/etc/profile.d"
    # 分发到 hadoop103
    rsync -av "/opt/module/jdk1.8.0_202" "hadoop103:/opt/module/"
    rsync -av "/opt/module/jdk" "hadoop103:/opt/module/"
    sudo rsync -av "/etc/profile.d/bigdata_env.sh" "hadoop103:/etc/profile.d"
    

安装Hadoop

1. Hadoop部署

下面的操作使用bigdata 用户在 hadoop101上进行操作。

  • 进入Hadoop安装包路径

    • 打开终端,使用命令 cd /opt/software/ 进入包含Hadoop安装包的目录。
  • 下载Hadoop
    从华为镜像下载Hadoop的tar.gz包,并解压到合适的目录。

    # 下载hadoop3.3.1
    wget https://mirrors.huaweicloud.com/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
    
  • 解压Hadoop安装文件

    • 将Hadoop压缩包解压到/opt/module/目录。
      tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
      
  • 验证解压结果

    • 通过执行命令 ls /opt/module/hadoop-3.1.3 来检查Hadoop目录是否存在,以确认解压操作是否成功。
  • 创建Hadoop软连接

    • 如果解压成功,创建软连接hadoop,以简化路径。
      ln -s /opt/module/hadoop-3.1.3 /opt/module/hadoop
      
  • 编辑环境变量配置文件

    • 首先,使用 pwd 命令获取当前Hadoop安装目录的完整路径。

    • 接着,使用 sudo vim /etc/profile.d/bigdata_env.sh 命令以超级用户权限打开环境变量配置文件进行编辑。

    • 在打开的配置文件中,滚动到文件末尾(使用 Shift + G)。

    • 添加以下行来设置Hadoop的环境变量:

      # HADOOP_HOME
      export HADOOP_HOME=/opt/module/hadoop
      export PATH=$PATH:$HADOOP_HOME/bin
      export PATH=$PATH:$HADOOP_HOME/sbin
      
    • 这些行将Hadoop的bin和sbin目录添加到系统的PATH环境变量中,使得可以在任何位置调用Hadoop的命令。

    • 在Vim编辑器中,使用 :wq 命令保存更改并退出编辑器。

  • 使环境变量生效

    • hadoop101上执行下面的命令
      source /etc/profile.d/bigdata_env.sh
      
  • 验证安装

    • 通过下面命令验证安装是否成功,以及环境变量是否生效。
      hadoop version
      echo $HADOOP_HOME
      
  • 分发软件和环境变量

    • Hadoop软件Hadoop软连接环境变量配置文件 分发到hadoop102hadoop103
      # 分发到 hadoop102
      rsync -av "/opt/module/hadoop-3.1.3" "hadoop102:/opt/module"
      rsync -av "/opt/module/hadoop" "hadoop102:/opt/module"
      sudo rsync -av "/etc/profile.d/bigdata_env.sh" "hadoop102:/etc/profile.d"
      # 分发到 hadoop103
      rsync -av "/opt/module/hadoop-3.1.3" "hadoop103:/opt/module/"
      rsync -av "/opt/module/hadoop" "hadoop103:/opt/module/"
      sudo rsync -av "/etc/profile.d/bigdata_env.sh" "hadoop103:/etc/profile.d"
      

2. 配置Hadoop

进入hadoop配置目录cd /opt/module/hadoop/etc/hadoop/, 修改Hadoop配置文件core-site.xml, hdfs-site.xml, yarn-site.xml, mapred-site.xml, workers ,设置集群模式和相关参数。

  • 文件core-site.xml配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop101:8020</value></property><!-- 指定hadoop数据的存储目录 --><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop/data</value></property><!-- 配置HDFS网页登录使用的静态用户为bigdata --><property><name>hadoop.http.staticuser.user</name><value>bigdata</value></property><!-- 配置该bigdata(superUser)允许通过代理访问的主机节点 --><property><name>hadoop.proxyuser.bigdata.hosts</name><value>*</value></property><!-- 配置该bigdata(superUser)允许通过代理用户所属组 --><property><name>hadoop.proxyuser.bigdata.groups</name><value>*</value></property><!-- 配置该bigdata(superUser)允许通过代理的用户--><property><name>hadoop.proxyuser.bigdata.users</name><value>*</value></property>
    </configuration>
    
  • 文件hdfs-site.xml配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- nn web端访问地址--><property><name>dfs.namenode.http-address</name><value>hadoop101:9870</value></property><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop102:9868</value></property><!-- 测试环境指定HDFS副本的数量1 --><property><name>dfs.replication</name><value>3</value></property>
    </configuration>
    
  • 文件yarn-site.xml配置

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop101</value></property><!-- 环境变量的继承 --><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><!--yarn单个容器允许分配的最大最小内存 --><property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>4096</value></property><!-- yarn容器允许管理的物理内存大小 --><property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value></property><!-- 关闭yarn对物理内存和虚拟内存的限制检查 --><property><name>yarn.nodemanager.pmem-check-enabled</name><value>true</value></property><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property>
    </configuration>
    
  • 文件mapred-site.xml配置

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property>
    </configuration>
    
  • 文件workers配置

    hadoop101
    hadoop102
    hadoop103
    
  • 分发配置文件

    • 将配置文件分发到hadoop102hadoop103
      # 分发到 hadoop102
      rsync -av "/opt/module/hadoop/etc/hadoop" "hadoop102:/opt/module/hadoop/etc/"
      # 分发到 hadoop103
      rsync -av "/opt/module/hadoop/etc/hadoop" "hadoop103:/opt/module/hadoop/etc/"
      

3. 格式化Hadoop文件系统

  • 在NameNode服务器上(hadoop101)格式化Hadoop文件系统。

    hdfs namenode -format
    

4. 启动Hadoop集群

  • 启动Hadoop集群的所有守护进程。

    start-dfs.sh
    start-yarn.sh
    

5. 验证Hadoop集群

  • 使用jps命令检查Java进程,确认Hadoop守护进程是否启动。

    jps
    # hadoop101 上启动以下进程
    6084 DataNode
    6552 NodeManager
    6426 ResourceManager
    5935 NameNode
    # hadoop102 上启动以下进程
    30834 ResourceManager
    28487 SecondaryNameNode
    28695 NodeManager
    28379 DataNode
    # hadoop103 上启动以下进程
    2466 NodeManager
    2340 DataNode
    
  • 页面查看

    • hdfs 页面地址 http://hadoop101:9870
      在这里插入图片描述

    • yarn 页面地址 http://hadoop101:8088

    在这里插入图片描述

注意事项

  • 企业开发中,单个服务器的防火墙通常是关闭的,但公司整体会设置安全的防火墙。

参考文件

Java | 华为镜像仓库

相关文章:

大数据之Hadoop部署

文章目录 服务器规划服务器环境准备1. 网络测试2. 安装额外软件包3. 安装基础工具4. 关闭防火墙5. 创建用户并配置权限6. 创建目录并设置权限7. 卸载JDK8. 修改主机名9. 配置hosts文件10. 重启服务器 配置免密登录安装Java安装Hadoop1. Hadoop部署2. 配置Hadoop3. 格式化Hadoop…...

Java异常处理中的“throw”与“throws”的区别

在Java中&#xff0c;throw 和 throws 是两个用于处理异常的关键词&#xff0c;它们的使用场景和目的有所不同 1. throw throw 关键字用于在Java程序中显式地抛出一个异常。当你检测到某些条件&#xff08;通常是错误条件&#xff09;时&#xff0c;你可以使用 throw 来抛出一…...

英语智汇学习系统

目 录 1 软件概述 1.1 项目研究背景及意义 2 系统相关技术 2.1 HTML、WXSS、JAVASCRIPT技术 2.2 Vanilla框架 2.3 uni-app框架 2.4 MYSQL数据库 3 需求分析 3.1 可行性分析 3.2 功能需求分析 3.3 系统用户及用例分析 3.4 非功能需求分析 3.5 数据流图…...

ExtractAItoTEXT 提取Adobe illustrator AI文件中的文字到文本文件翻译并写回到Adobe illustrator AI文件

Extract Text from Adobe illustrator to text for translate and write back to Adobe illustrator after translate in text file. Originally script from marceloliaohotmail.com during his work in SDL. Updated by me. 从Adobe illustrator中提取文本以进行翻译&#x…...

ms17-010 ms12-020 ms-08-067

MS17-010是一个由微软发布的安全公告编号&#xff0c;它指代了一个严重级别的安全漏洞&#xff0c;该漏洞存在于Microsoft Windows的Server Message Block 1.0 (SMBv1)协议处理中。这个漏洞被命名为“永恒之蓝”&#xff08;EternalBlue&#xff09;&#xff0c;因为它最初是由…...

【海思Hi3403V100】多目拼接相机套板硬件规划方案

海思Hi3403V100 是专业超高清智能网络摄像头 SoC。该芯片最高支持四路 sensor 输入&#xff0c;支持最高 4K60fps 的 ISP 图像处理能力&#xff0c;支持 3F 、WDR、多级降噪、六轴防抖、硬件拼接、多光谱融合等多种传统图像增强和处理算法&#xff0c;支持通过AI 算法对输入图像…...

AI的赚钱风向,彻底变了!

从2023年3月起&#xff0c;生成式AI技术的浪潮席卷全球&#xff0c;让不少人开始焦虑中国AI技术与美国的差距。然而&#xff0c;最近的趋势显示&#xff0c;AI创业的盈利模式已经发生了根本性的变化。今年&#xff0c;我们见证了AIGC&#xff08;人工智能生成内容&#xff09;企…...

服务器重启后jenkins任务内容不见了,并且新建任务也不见了

服务器centos7.4 背景&#xff1a;服务器异常重启后&#xff0c;jenkins上面的任务只剩下一些前端项目&#xff0c;后端的任务都不展示了&#xff0c;jenkins版本是Jenkins 2.346.3 解决方案&#xff1a;根据显示&#xff0c;jenkins很多的插件引用失败&#xff0c;显示需要升…...

如何选择合适的WordPress主机?

选择合适的WordPress主机需要考虑多个因素&#xff0c;包括性能、速度、存储空间、带宽、硬件配置、操作系统、支持的软件版本以及安全性等。以下是一些详细的建议&#xff1a; 性能和速度&#xff1a;选择一个能够提供快速加载速度和稳定性能的主机至关重要。快速加载的网站不…...

面试突击:Java 集合知识体系梳理

本文已收录于&#xff1a;https://github.com/danmuking/all-in-one&#xff08;持续更新&#xff09; 前言 哈喽&#xff0c;大家好&#xff0c;我是 DanMu。在 Java 开发中&#xff0c;集合类对象绝对是被使用最频繁的对象之一。因此&#xff0c;深入了解集合类对象的底层数…...

AI智能管理系统设计文档

AI智能管理系统设计文档 1. 引言 本设计文档旨在开发一套全面的AI智能管理系统&#xff0c;以优化生产运营效率和决策质量。该系统将利用先进的AI技术和数据分析能力&#xff0c;提供自动化流程控制、预测性维护、智能决策支持等功能。 2. 需求分析与目标设定 2.1 业务需求…...

干涉阵型成图参数记录【robust】

robust 这个玩意经常忘记&#xff0c;就是取2的时候是更加显示大尺度的结构&#xff0c;取-2更加显示小尺度结果&#xff0c;一般取0就是正常就好了...

React Native工程运行时下载gradle超时问题

React Native工程在运行Android的时候会下载gradle&#xff0c;但是由于众所周知的问题&#xff0c;总是下载失败&#xff0c;这时可以通过修改 <APP_ROOT>/android/wrapper/gradle-wrapper.properties 文件中 distributionUrl 参数使用国内 gradle 镜像来提高下载速度。…...

本地离线模型搭建指南-LLaMA-Factory训练框架及工具

搭建一个本地中文大语言模型&#xff08;LLM&#xff09;涉及多个关键步骤&#xff0c;从选择模型底座&#xff0c;到运行机器和框架&#xff0c;再到具体的架构实现和训练方式。以下是一个详细的指南&#xff0c;帮助你从零开始构建和运行一个中文大语言模型。 本地离线模型搭…...

数智化金融采购系统特点

数智化金融采购系统是郑州信源公司结合众多金融行业采购特点&#xff0c;采用流程优化再造的理念&#xff0c;为银行、保险、证券、交易所等金额机构打造的细分行业产品&#xff0c;助力金融行业采购合规管理、风险防范、成本管理和效率提升。 系统特点 1、全业务覆盖&#x…...

使用 SwiftUI 为 macOS 创建类似于 App Store Connect 的选择器

文章目录 前言创建选择器组件使用选择器组件总结前言 最近,我一直在为我的应用开发一个全新的界面,它可以让你查看 TestFlight 上所有可用的构建,并允许你将它们添加到测试群组中。 作为这项工作的一部分,我需要创建一个组件,允许用户从特定构建中添加和删除测试群组。我…...

Python26 Lambda表达式

1.什么是lambda表达式 lambda 是 Python 中的一个关键字&#xff0c;用于定义简单的匿名函数。与 def 关键字定义的标准函数不同&#xff0c;lambda 函数主要用于需要一个函数对象作为参数的简短操作。lambda 函数的设计哲学是简洁&#xff0c;因此它只能包含一条表达式&#…...

2024年数据、自动化与智能计算国际学术会议(ICDAIC 2024)

全称&#xff1a;2024年数据、自动化与智能计算国际学术会议&#xff08;ICDAIC 2024&#xff09; 会议网址:http://www.icdaic.com 会议地点: 厦门 投稿邮箱&#xff1a;icdaicsub-conf.com投稿标题&#xff1a;ArticleTEL。投稿时请在邮件正文备注&#xff1a;学生投稿&#…...

cuda 学习笔记4

一 基本函数 在GPU上开辟空间&#xff0c;无论定义的数据是float还是int ,还是****gpu_int,分配空间的函数都是下面固定的形式 (void**)& 1.函数定义&#xff0c;global void 是配套使用的&#xff0c;是在GPU上定义&#xff0c;也就是GPU上执行&#xff0c;CPU上调用的函数…...

ZSWatch 开源项目介绍

前言 因为时不时逛 GitHub 会发现一些比较不错的开源项目&#xff0c;突发奇想想做一个专题&#xff0c;专门记录开源项目&#xff0c;内容不限于组件、框架以及 DIY 作品&#xff0c;希望能坚持下去&#xff0c;与此同时&#xff0c;也会选取其中的开源项目做专题分析。希望这…...

Ansible-综合练习-生产案例

斌的招儿 网上教程大多都是官网模板化的教程和文档&#xff0c;这里小斌用自己实际生产环境使用的例子给大家做一个详解。涉及到一整套ansible的使用&#xff0c;对于roles的使用&#xff0c;也仅涉及到tasks和files目录&#xff0c;方便大家快速上手并规范化管理。 0.环境配置…...

lombok关于构造器的注解的坑【避坑】

文章目录 背景问题问题解决 背景 平时&#xff0c;我们不定义构造器时&#xff0c;会自动创建一个无参的构造器。 当我们提供了任意有参构造器后&#xff0c;将不再自动创建无参构造器。 问题 为了方便创建对象并同时赋值&#xff0c;使用了全参构造器的注解NoArgsConstruct…...

指针并不是用来存储数据的,而是用来存储数据在内存中地址(内存操作/函数指针/指针函数)

推荐&#xff1a;1、4、5号书籍 1. 基本概念 首先&#xff0c;让小明了解指针的基本概念&#xff1a; 指针的定义&#xff1a;指针是一个变量&#xff0c;它存储的是另一个变量的地址。指针的声明&#xff1a;例如&#xff0c;int *p表示一个指向整数的指针变量p。 2. 形象…...

iso21434认证的意义

ISO 21434认证对于汽车行业具有深远的意义&#xff0c;主要体现在以下几个方面&#xff1a; 确保汽车网络安全&#xff1a;ISO 21434认证旨在确保汽车在设计和制造过程中能够抵御潜在的网络威胁和攻击。通过遵循该标准&#xff0c;汽车制造商能够开发出具备可靠网络安全能力的…...

分页处理封装+分页查询题目列表

文章目录 1.sun-club-common封装分页1.com/sunxiansheng/subject/common/eneity/PageInfo.java2.com/sunxiansheng/subject/common/eneity/PageResult.java 2.sun-club-application-controller1.SubjectInfoDTO.java 继承PageInfo并新增字段2.SubjectController.java 3.sun-clu…...

每天一个项目管理概念之WBS

项目管理中的工作分解结构&#xff08;Work Breakdown Structure&#xff0c;简称WBS&#xff09;是规划和管理项目的核心工具之一&#xff0c;它通过将复杂的项目任务细分为更小、更易管理的部分来提高项目执行的效率与效果。WBS不仅有助于明确项目范围&#xff0c;还为时间管…...

linux安装mysql8并查看密码

1. **下载RPM包**&#xff1a; wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 2. **安装RPM包**&#xff1a; sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm 3. **更新YUM缓存**&#xff1a; sudo yum makecache 4. **安装…...

[渗透测试] 任意文件读取漏洞

任意文件读取漏洞 概述 漏洞成因 存在读取文件的功能&#xff08;Web应用开放了文件读取功能&#xff09;读取文件的路径客户端可控&#xff08;完全控制或者影响文件路径&#xff09;没有对文件路径进行校验或者校验不严格导致被绕过输出文件内容 漏洞危害 下载服务器中的…...

sudo: /etc/init.d/ssh: command not found

在 WSL 中尝试启动 SSH 服务时遇到 sudo: /etc/init.d/ssh: command not found 错误 安装 OpenSSH 服务器 更新软件包列表 sudo apt update安装 OpenSSH 服务器 sudo apt install openssh-server启动 SSH 服务 在 WSL 2 上,服务管理与传统 Linux 系统有所不同。你可以手动启动…...

秋招倒计时?到底需要准备到什么程度?

秋招倒计时&#xff1f;需要准备到什么程度&#xff1f; 秋招&#xff0c;面向全国的毕业生&#xff0c;招聘的激烈程度可想而知&#xff01;按照往年时间&#xff0c;秋招通常从八月初开始&#xff0c;九月黄金期&#xff0c;十月中后期。距今刚好差不多60天&#xff0c;时间其…...

6.26.4.1 基于交叉视角变换的未配准医学图像多视角分析

1. 介绍 许多医学成像任务使用来自多个视图或模式的数据&#xff0c;但很难有效地将这些数据结合起来。虽然多模态图像通常可以在神经网络中作为多个输入通道进行配准和处理&#xff0c;但来自不同视图的图像可能难以正确配准(例如&#xff0c;[2])。因此&#xff0c;大多数多视…...

62.指针和二维数组(2)

一.指针和二维数组 1.如a是一个二维数组&#xff0c;则数组中的第i行可以看作是一个一维数组&#xff0c;这个一维数组的数组名是a[i]。 2.a[i]代表二维数组中第i行的首个元素的地址&#xff0c;即a[i][0]的地址。 二.进一步思考 二维数组可以看作是数组的数组&#xff0c;本…...

学生表的DDL和DML

DDL -- 创建学生表 CREATE TABLE students (student_id INT PRIMARY KEY AUTO_INCREMENT,studentname VARCHAR(50),age INT,gender VARCHAR(10) );-- 创建课程表 CREATE TABLE courses (course_id INT PRIMARY KEY AUTO_INCREMENT,course_name VARCHAR(50) );-- 创建教师表 CR…...

视觉灵感的探索和分享平台

做设计没灵感&#xff1f;大脑一片空白&#xff1f;灵感是创作的源泉&#xff0c;也是作品的灵魂所在。工作中缺少灵感&#xff0c;这是每个设计师都会经历的苦恼&#xff0c;那当我们灵感匮乏的时候&#xff0c;该怎么办呢&#xff1f;别急&#xff0c;即时设计、SurfCG、Lapa…...

使用 Reqable 在 MuMu 模拟器进行App抓包(https)

1、为什么要抓包&#xff1f; 用开发手机应用时&#xff0c;查看接口数据不能像在浏览器中可以直接通过network查看&#xff0c;只能借助抓包工具来抓包&#xff0c;还有一些线上应用我们也只能通过抓包来排查具体的问题。 2、抓包工具 实现抓包&#xff0c;需要一个抓包工具…...

RedisConnectionException: Unable to connect to localhost/<unresolved>:6379

方法一&#xff1a;删除配置密码选项 一般是因为你在启动redsi服务的时候没有以指定配置文件启动 把application.yml文件中的redis密码注释掉 方法二 以指定配置文件启动 这样就不用删除yml文件中密码的选项了 在redis,windows.conf 中找到requirepass&#xff0c;删除掉前…...

poi word写入图片

直接使用的百度结果&#xff0c;经过测试可行 1.pom增加jar <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.3</version></dependency><dependency><groupId>org.apach…...

【监控】2.Grafana的安装

在 macOS 上部署 Grafana 和 Prometheus 来监控 Java 服务是一个非常实用的操作。以下是详细的步骤&#xff0c;包括如何安装和配置 Prometheus、Grafana 以及在 Java 服务中集成 Prometheus 的客户端库来收集指标数据。 1. 安装 Grafana 1.1 使用 Homebrew 安装 Grafana br…...

Java入门教程(上)

Java入门教程&#xff08;上&#xff09; Java是一种流行的面向对象编程语言&#xff0c;以其简洁、可移植和强大的特性&#xff0c;被广泛应用于各种软件开发领域。对于初学者来说&#xff0c;掌握Java的基础知识和编程技巧是非常重要的。本文将带你从零开始学习Java&#xf…...

【Linux】Linux下使用套接字进行网络编程

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 用于网络应用开…...

强化学习-Q-learning、SARSA和PPO等算法

强化学习 强化学习是一种机器学习方法&#xff0c;它关注智能体如何通过与环境的交互来最大化期望的累积奖励。在这个过程中&#xff0c;智能体不断尝试不同的行为策略&#xff0c;并根据结果调整策略&#xff0c;以提高长期的性能。以下是几种常见的强化学习算法&#xff1a;…...

HarmonyOS SDK助力鸿蒙原生应用“易感知、易理解、易操作”

6月21-23日&#xff0c;华为开发者大会&#xff08;HDC 2024&#xff09;盛大开幕。6月23日上午&#xff0c;《HarmonyOS开放能力&#xff0c;使能应用原生易用体验》分论坛成功举办&#xff0c;大会邀请了多位华为技术专家深度解读如何通过根技术、开放能力、场景化控件等亮点…...

Java基础入门day72

day72 mybatis mybatis的实现方式 三种实现方式&#xff1a; 纯xml方式&#xff0c;namespace随便写&#xff0c;id随便写&#xff0c;只要保证整个项目namespaceid唯一即可 xml接口的方式&#xff0c;namespace必须是接口的全路径&#xff0c;id必须是接口的方法名&#xf…...

文本编辑命令和正则表达式

一、 编辑文本的命令 正则表达式匹配的是文本内容&#xff0c;Linux的文本三剑客&#xff0c;都是针对文本内容。 文本三剑客 grep&#xff1a;过滤文本内容 sed&#xff1a;针对文本内容进行增删改查 &#xff08;本文不相关&#xff09; awk&#xff1a;按行取列 &#x…...

云手机群控功能讲解

接触云手机之前&#xff0c;很多企业或者个人卖家都对群控有浓厚的兴趣&#xff0c;云手机群控具体是什么呢&#xff1f;云手机群控&#xff0c;顾名思义&#xff0c;是指能够同时对多台云手机进行集中控制和管理的功能。打破了传统单台手机操作的限制&#xff0c;实现了规模化…...

gdb用法

创建文件 // main.cpp文件 // 稳态误差 void pid_test_wentaiwucha() {float p 1.5;int t 1; // t 1s;int target 5; // 5m/sfloat output 0;float radis 3; // 稳态误差std::cout << "output: " << std::endl;fo…...

聊一聊UDF/UDTF/UDAF是什么,开发要点及如何使用?

背景介绍 UDF来源于Hive&#xff0c;Hive可以允许用户编写自己定义的函数UDF&#xff0c;然后在查询中进行使用。星环Inceptor中的UDF开发规范与Hive相同&#xff0c;目前有3种UDF&#xff1a; A. UDF--以单个数据行为参数&#xff0c;输出单个数据行&#xff1b; UDF&#…...

配置Nginx二级域名

一、环境 &#xff08;一&#xff09;配置 1.服务器 linux CentOS 2.反向代理 Nginx 3.开放端口 云服务器开放端口80和443 二、域名备案 &#xff08;一&#xff09;腾讯云 1.腾讯云域名备案流程 备注&#xff1a;一级域名备案后&#xff0c;二级域名可以不用再备案&a…...

LeetCode——判断回文数

给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 是回文&#xff0c;而 …...

shell:使用结构化语句(for、while循环)

1. for命令 下面是bash shell中for命令的基本格式。 for var in list docommands done每次for命令遍历值列表&#xff0c;它都会将列表中的下个值赋给$test变量。$test变量可以像for 命令语句中的其他脚本变量一样使用。在最后一次迭代后&#xff0c;$test变量的值会在shell脚…...