一篇文章带你学会Hadoop-3.3.4集群部署

这篇具有很好参考价值的文章主要介绍了一篇文章带你学会Hadoop-3.3.4集群部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

目录

​编辑

一、Hadoop集群部署

二、基础设施配置

2.1 设置网络

 2.1.1 设置主机名称

2.1.2 设置hosts配置文件

2.1.3 关闭防火墙

 2.1.4 关闭selinux

 2.1.5 更换语言环境

 2.1.6 更换时区

 2.1.7 ssh免密

2.1.7.1 生成.ssh文件夹

2.1.7.2 进入文件夹

2.1.7.3 生成密码和私钥

2.1.7.4 免密授权

三、软件安装

3.1 jdk 安装

3.1.1 解压jdk

3.1.2 移动解压目录

3.1.3 配置jdk,设置环境变量

3.1.4 修改系统默认JDK

3.1.4.1 查看系统当前默认配置

3.1.4.2 把自己安装的JDK加入系统备选中

3.1.4.3 将自己的JDK作为java首选

3.1.5 检查环境使用的JDK

3.1.6 分发JDK到其他节点

3.1.6.1 分发JDK

3.1.6.2 分发环境变量文件

3.1.7 分发环境生效

3.2 安装zookeeper 集群

3.2.1 解压

3.2.2 移动解压目录

3.2.3 配置zookeeper

3.2.3.1 拷贝生成zoo.cfg

3.2.3.2 建立zookeeper 目录

3.2.3.3 修改zoo.cfg文件

3.2.3.4 创建myid文件

3.2.3.5 设置环境变量

3.2.3.6 分发zookeeper

3.2.3.7 分发环境变量文件

3.2.3.8 生效环境

3.2.3.9 启动zookeeper

3.3 安装hadoop

3.3.1 解压hadoop

3.3.2 移动解压目录

3.3.3 配置hadoop

3.3.3.1 设置Hadoop JAVA_HOME

3.3.3.2 设置YARN JAVA_HOME

3.3.3.3 设置core-site.xml文件

3.3.3.4 设置hdfs-site.xml 文件

3.3.3.5 设置mapred-site.xml 文件

3.3.3.6 设置yarn-site.xml文件

3.3.3.7 修改workers文件

3.3.3.8 修改 start-dfs.sh 和stop-dfs.sh 文件

3.3.3.9 修改start-yarn.sh和stop-yarn.sh文件

3.3.4 分发复制到其他节点

3.4.4.1 分发Hadoop文件

3.4.4.2 分发/etc/profile 文件

3.4.5 启动hadoop集群

3.4.5.1 初始化namenode

3.4.5.2 初始化zk中的ha状态

3.4.5.3 启动整个集群

3.3.5 集群验证及简单使用

3.3.5.1 查看yarn 集群状态

3.3.5.2 查看namenode集群状态

3.3.5.3 访问hdfs 集群页面

3.3.5.4 访问yarn 集群页面

3.3.5.5 简单使用

3.3.5.5.1 创建bigdata 目录

3.3.5.5.2 创建 /user/root目录


一、Hadoop集群部署

系统环境描述:本教程基于CentOS 8.0版本虚拟机

机器节点信息:

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

软件版本:

jdk-8u211-linux-x64.tar.gz

apache-zookeeper-3.8.2-bin.tar.gz

hadoop-3.3.4.tar.gz

提示:如果想入门hadoop,特别是集群部署,hadoop涉及的角色还是比较多的,建议先从总体架构抓起,先熟悉总体架构,再熟悉HA部署模式的相关理论和知识,然后再跟着部署的过程中就会有豁然开朗的感觉,印象也会比较深刻,推荐先看下我前面的hadoop系列的理论文章YARN框架和其工作原理流程介绍_夜夜流光相皎洁_小宁的博客-CSDN博客、HDFS介绍_夜夜流光相皎洁_小宁的博客-CSDN博客、MapReduce介绍_夜夜流光相皎洁_小宁的博客-CSDN博客

二、基础设施配置

2.1 设置网络

 2.1.1 设置主机名称

分别登录进入 192.168.31.215、192.168.31.8、192.168.31.9、192.168.31.167、192.168.31.154等节点服务器,执行命令:

hostnamectl set-hostname master

hostnamectl set-hostname node1

hostnamectl set-hostname node2

hostnamectl set-hostname node3

hostnamectl set-hostname node4

2.1.2 设置hosts配置文件

vi /etc/hosts

192.168.31.215  master
192.168.31.8    node1
192.168.31.9    node2
192.168.31.167  node3
192.168.31.154  node4

2.1.3 关闭防火墙

systemctl stop firewalld
systemctl stop iptables

#永久关闭防火墙

systemctl disable firewalld

 2.1.4 关闭selinux

#临时关闭
setenforce 0
#永久关闭

vim /etc/selinux/config 然后设置 SELINUX=disabled

 2.1.5 更换语言环境

dnf install glibc-langpack-zh.x86_64
echo LANG=zh_CN.UTF-8 > /etc/locale.conf
source /etc/locale.conf

 2.1.6 更换时区

timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
timedatectl

 2.1.7 ssh免密

2.1.7.1 生成.ssh文件夹

ssh  localhost

2.1.7.2 进入文件夹

cd  /root/.ssh/

2.1.7.3 生成密码和私钥

ssh-keygen -t rsa

一路按回车键就行

2.1.7.4 免密授权

ssh-copy-id root@master

说明:在本环境中,我们需要将master的密钥,发送给其他node1、node2、node3、node4节点,其中,
master和node1要相互免密,原因是:1)启动start-dfs.sh脚本的机器需要将公钥分发给别的节点
2)在HA模式下,每一个NN身边会启动ZKFC,ZKFC会用免密的方式控制自己和其他NN节点的NN状态

三、软件安装

3.1 jdk 安装

3.1.1 解压jdk

tar -zxvf jdk-8u211-linux-x64.tar.gz

3.1.2 移动解压目录

mv jdk1.8.0_211/ /usr/local/

3.1.3 配置jdk,设置环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_211
export PATH=$PATH:${JAVA_HOME}/bin
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

3.1.4 修改系统默认JDK

因为我安装的CentOS 8.0 操作系统,默认安装了自带的open jdk,显然不满足我们的需要,我又不想卸载open jdk,所以才选择使用update-alternatives来管理JDK,如果你们的环境没有多版本jdk 管理需求,可忽略本步骤。

3.1.4.1 查看系统当前默认配置

输入命令:update-alternatives --display java

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

3.1.4.2 把自己安装的JDK加入系统备选中

update-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_211/bin/java 1800265

-- 提示: 1800265为执行update-alternatives --display java 后看到的系统默认jdk的权限编号

3.1.4.3 将自己的JDK作为java首选

update-alternatives --config java

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

然后输入+2 回车。

3.1.5 检查环境使用的JDK

java -version

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

成功配置了我们自己安装的java版本

3.1.6 分发JDK到其他节点

3.1.6.1 分发JDK

scp -r /usr/local/jdk1.8.0_211/ root@node1:/usr/local/
scp -r /usr/local/jdk1.8.0_211/ root@node2:/usr/local/
scp -r /usr/local/jdk1.8.0_211/ root@node3:/usr/local/
scp -r /usr/local/jdk1.8.0_211/ root@node4:/usr/local/

3.1.6.2 分发环境变量文件

scp /etc/profile root@node1:/etc/profile
scp /etc/profile root@node2:/etc/profile
scp /etc/profile root@node3:/etc/profile
scp /etc/profile root@node4:/etc/profile

3.1.7 分发环境生效

node1、node2、node3、node4虚拟机上执行 source /etc/profile 使环境生效
提示:如果虚拟机默认了JDK,需要执行3.1.4小节的命令,切换系统默认JDK为你自己安装的JDK

3.2 安装zookeeper 集群

3.2.1 解压

tar -zxvf apache-zookeeper-3.8.2-bin.tar.gz

3.2.2 移动解压目录

mv apache-zookeeper-3.8.2-bin /usr/local/

3.2.3 配置zookeeper

3.2.3.1 拷贝生成zoo.cfg

cd /usr/local/apache-zookeeper-3.8.2-bin/conf

cp zoo_sample.cfg zoo.cfg

3.2.3.2 建立zookeeper 目录

cd /usr/local/apache-zookeeper-3.8.2-bin/

mkdir zkdata
mkdir logs

3.2.3.3 修改zoo.cfg文件

vim zoo.cfg

--zoo.cfg 添加内容:
dataDir=/usr/local/apache-zookeeper-3.8.2-bin/zkdata
dataLogDir=/usr/local/apache-zookeeper-3.8.2-bin/logs
server.1=node2:2888:3888
server.2=node3:2888:3888
server.3=node4:2888:3888

3.2.3.4 创建myid文件

node2、node3、node4虚拟机,分别在/usr/local/apache-zookeeper-3.8.2-bin/zkdata目录下创建myid
echo 1 > myid  //node2
echo 2 > myid  //node3
echo 3 > myid  //node4

3.2.3.5 设置环境变量

vim /etc/profile

export ZK_HOME=/usr/local/apache-zookeeper-3.8.2-bin
export PATH=$PATH:$ZK_HOME/bin

3.2.3.6 分发zookeeper

scp -r /usr/local/apache-zookeeper-3.8.2-bin/ root@node3:/usr/local/
scp -r /usr/local/apache-zookeeper-3.8.2-bin/ root@node4:/usr/local/

3.2.3.7 分发环境变量文件

scp /etc/profile root@node3:/etc/profile
scp /etc/profile root@node4:/etc/profile

3.2.3.8 生效环境

注意三台虚拟机分贝执行source /etc/profile 使环境生效

3.2.3.9 启动zookeeper

分别在node2、node3、node4节点启动zookeeper 服务
命令:zkServer.sh start

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

通过ps -ef|grep zookeeper 指令,我们查看到我们的zookeeper已经启动成功。

3.3 安装hadoop

3.3.1 解压hadoop

tar -zxvf hadoop-3.3.4.tar.gz

3.3.2 移动解压目录

mv hadoop-3.3.4/ /usr/local/

3.3.3 配置hadoop

3.3.3.1 设置Hadoop JAVA_HOME

cd /usr/local/hadoop-3.3.4/etc/hadoop

vim hadoop-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_211

3.3.3.2 设置YARN JAVA_HOME

vim yarn-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_211

3.3.3.3 设置core-site.xml文件

vim core-site.xml

<property>
	<name>fs.defaultFS</name>
	<value>hdfs://mycluster</value>
</property>

<property>
	<name>hadoop.tmp.dir</name>
	<value>/usr/local/hadoop-3.3.4/tmp</value>
</property>

<property>
	<name>ha.zookeeper.quorum</name>
	<value>node2:2181,node3:2181,node4:2181</value>
</property>

<property>
	<name>hadoop.proxyuser.root.hosts</name>
	<value>*</value>
</property>

<property>
	<name>hadoop.proxyuser.root.groups</name>
	<value>*</value>
</property>
3.3.3.4 设置hdfs-site.xml 文件

vim hdfs-site.xml

<property>
	<name>dfs.replication</name>
	<value>3</value>
</property>

<property>
	<name>dfs.namenode.name.dir</name>
	<value>/usr/local/hadoop-3.3.4/ha/dfs/name</value>
</property>

<property>
	<name>dfs.datanode.data.dir</name>
	<value>/usr/local/hadoop-3.3.4/ha/dfs/data</value>
</property>

<property>
	<name>dfs.namenode.checkpoint.dir</name>
	<value>/usr/local/hadoop-3.3.4/ha/dfs/secondary</value>
</property>

<!-- 以下是  一对多,逻辑到物理节点的映射 -->

<property>
	<name>dfs.nameservices</name>
	<value>mycluster</value>
</property>

<property>
	<name>dfs.ha.namenodes.mycluster</name>
	<value>nn1,nn2</value>
</property>

<property>
	<name>dfs.namenode.rpc-address.mycluster.nn1</name>
	<value>master:9000</value>
</property>

<property>
	<name>dfs.namenode.http-address.mycluster.nn1</name>
	<value>master:50070</value>
</property>

<property>
	<name>dfs.namenode.rpc-address.mycluster.nn2</name>
	<value>node1:9000</value>
</property>

<property>
	<name>dfs.namenode.http-address.mycluster.nn2</name>
	<value>node1:50070</value>
</property>

<!--节点宕机超时设置,默认10分钟+30秒,dfs.namenode.heartbeat.recheck-interval 单位是毫秒,dfs.heartbeat.interval单位是秒 -->
<property>
	<name>dfs.namenode.heartbeat.recheck-interval</name>
	<value>50000</value>
</property>
<property>
	<name>dfs.heartbeat.interval</name>
	<value>3</value>
</property>


<!-- 以下是JN在哪里启动,数据存那个磁盘 -->
<property>
	<name>dfs.namenode.shared.edits.dir</name>
	<value>qjournal://master:8485;node1:8485;node3:8485/mycluster</value>
</property>
<property>
	<name>dfs.journalnode.edits.dir</name>
	<value>/usr/local/hadoop-3.3.4/ha/dfs/jn</value>
</property>

<!-- HA角色切换的代理类和实现方法,我们用的ssh免密 -->

<property>
	<name>dfs.client.failover.proxy.provider.mycluster</name>
	<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!--HA模式下,要设置 shell(true) 这个值,不然namenode active节点宕机后,standby不会切换 -->
<property>
	<name>dfs.ha.fencing.methods</name>
	<value>sshfence</value>
                <value>shell(true)</value>
</property>
<property>
	<name>dfs.ha.fencing.ssh.private-key-files</name>
	<value>/root/.ssh/id_dsa</value>
</property>

<property>
	<name>dfs.ha.fencing.ssh.connect-timeout</name>
	<value>30000</value>
</property>

<!-- 开启自动化: 启动zkfc -->
<property>
	<name>dfs.ha.automatic-failover.enabled</name>
	<value>true</value>
</property>

<!-- 开启webhdfs -->
<property>
	<name>dfs.webhdfs.enabled</name>
	<value>true</value>
</property>
3.3.3.5 设置mapred-site.xml 文件

vim mapred-site.xml

<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

<property>
	<name>yarn.app.mapreduce.am.env</name>
	<value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.3.4</value>
</property>

<property>
	<name>mapreduce.map.env</name>
	<value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.3.4</value>
</property>

<property>
	<name>mapreduce.reduce.env</name>
	<value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.3.4</value>
</property>

<property>
	<name>mapreduce.map.memory.mb</name>
	<value>2048</value>
</property>

<property>
	<name>mapreduce.reduce.memory.mb</name>
	<value>2048</value>
</property>

<property>
	<name>mapreduce.map.java.opts</name>
	<value>-Xmx1024m</value>
</property>

<property>
	<name>mapreduce.reduce.java.opts</name>
	<value>-Xmx1024m</value>
</property>
3.3.3.6 设置yarn-site.xml文件

vim yarn-site.xml

<property>
	<name>yarn.resourcemanager.ha.enabled</name>
	<value>true</value>
</property>

<property>
	<name>yarn.resourcemanager.zk-address</name>
	<value>node2:2181,node3:2181,node4:2181</value>
</property>

<property>
	<name>yarn.resourcemanager.cluster-id</name>
	<value>ningzhaosheng</value>
</property>

<property>
	<name>yarn.resourcemanager.ha.rm-ids</name>
	<value>rm1,rm2</value>
</property>

<property>
	<name>yarn.resourcemanager.hostname.rm1</name>
	<value>node3</value>
</property>
<!-- 指定rm1 的web端地址-->
<property>
	<name>yarn.resourcemanager.webapp.address.rm1</name>
	<value>node3:8088</value>
</property>
<!--指定rm1的内部通讯地址 -->

<property>
	<name>yarn.resourcemanager.address.rm1</name>
	<value>node3:8032</value>
</property>

<property>
	<name>yarn.resourcemanager.hostname.rm2</name>
	<value>node4</value>
</property>
<!-- 指定rm2 的web端地址-->
<property>
	<name>yarn.resourcemanager.webapp.address.rm2</name>
	<value>node4:8088</value>
</property>
<!--指定rm2的内部通讯地址 -->

<property>
	<name>yarn.resourcemanager.address.rm2</name>
	<value>node4:8032</value>
</property>

<property>
	<name>yarn.resourcemanager.recovery.enabled</name>
	<value>true</value>
</property>

<property>
	<name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
	<value>true</value>
</property>

<property>
	<name>yarn.resourcemanager.store.class</name>
	<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>

<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

<property>
	<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
	<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

<property>
	<name>yarn.nodemanager.resource.memory-mb</name>
	<value>4096</value>
</property>
3.3.3.7 修改workers文件

vim workers

#添加hostname
master
node1
node2
node3
node4
3.3.3.8 修改 start-dfs.sh 和stop-dfs.sh 文件

start-dfs.sh、stop-dfs.sh文件头部加入:

HDFS_ZKFC_USER=root
HDFS_JOURNALNODE_USER=root
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

3.3.3.9 修改start-yarn.sh和stop-yarn.sh文件

start-yarn.sh、stop-yarn.sh文件头部加入:
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=root
YARN_NODEMANAGER_USER=root

3.3.4 分发复制到其他节点

3.4.4.1 分发Hadoop文件

scp -r /usr/local/hadoop-3.3.4/ root@node1:/usr/local/
scp -r /usr/local/hadoop-3.3.4/ root@node2:/usr/local/
scp -r /usr/local/hadoop-3.3.4/ root@node3:/usr/local/
scp -r /usr/local/hadoop-3.3.4/ root@node4:/usr/local/

3.4.4.2 分发/etc/profile 文件

scp /etc/profile root@node1:/etc/profile

scp /etc/profile root@node2:/etc/profile

scp /etc/profile root@node3:/etc/profile

scp /etc/profile root@node4:/etc/profile

注意:分发环境配置文件后,记得在各节点执行:source /etc/profile使环境配置生效

3.4.5 启动hadoop集群

3.4.5.1 初始化namenode

hdfs namenode -format

提示:初次启动需要,后续重启服务不再需要

3.4.5.2 初始化zk中的ha状态

hdfs zkfc  -formatZK

提示:初次启动需要,后续重启服务不再需要

3.4.5.3 启动整个集群

start-all.sh start

3.3.5 集群验证及简单使用

3.3.5.1 查看yarn 集群状态

yarn rmadmin -getServiceState rm1
yarn rmadmin -getServiceState rm2

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

查看状态显示,一个active状态,一个standby状态,启动正常。

3.3.5.2 查看namenode集群状态

hdfs haadmin -ns mycluster -getAllServiceState

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

查看状态显示,一个active状态,一个standby状态,符合预期,启动正常。

3.3.5.3 访问hdfs 集群页面

http://master:50070/

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

通过页面访问到了hadoop集群页面,且显示我们的节点都在线,启动正常。

3.3.5.4 访问yarn 集群页面

http://node3:8088/cluster

一篇文章带你学会Hadoop-3.3.4集群部署,# hadoop,大数据,hadoop,大数据,分布式,yarn,mapreduce

成功访问到了yarn调度集群页面,yarn启动正常。

3.3.5.5 简单使用
3.3.5.5.1 创建bigdata 目录

hdfs dfs -mkdir /bigdata

3.3.5.5.2 创建 /user/root目录

hdfs dfs -mkdir  -p  /user/root

今天Hadoop3.3.4集群部署的相关内容就分享到这里,如果帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!文章来源地址https://www.toymoban.com/news/detail-727700.html

到了这里,关于一篇文章带你学会Hadoop-3.3.4集群部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C++】类和对象(中)一篇文章带你学会六大默认成员函数

    如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。 默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。 对于下面的date类: 对于Date类,可以通过

    2024年03月12日
    浏览(36)
  • 《C语言初阶篇》循环语句还没搞懂?这篇文章带你轻松学会循环语句!

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,又是新的一天开始了,今天给大家带来的循环语句的全面讲解!    ⛳️ 历时一天终于给肝出来了,本文详细讲解了wh

    2024年02月15日
    浏览(35)
  • 一篇文章学会高级IO

    IO是数据在传输时的一种动作描述,分为输入数据(I)和输出数据(O)两种动作。和一般而言,IO都需要维护一个收发数据的缓冲区,例如read、recv函数和write、send函数,它们的数据缓冲区都是由系统帮助创建的。对于C语言中常用到的scanf函数和printf函数,同样不需要用户自

    2024年02月05日
    浏览(54)
  • 一篇文章学会C#的正则表达式

    https://blog.csdn.net/qq_38507850/article/details/79179128 正则表达式 一句话概括就是用来对字符串根据自己的规则进行匹配的,可以匹配(返回)出符合自己要求的匹配结果,有人说字符串类的函数也可以,确实是这样,但是字符串的函数对于字符串更多的是处理层面,且不是那么的灵活

    2024年02月10日
    浏览(35)
  • 【微服务】6、一篇文章学会使用 SpringCloud 的网关

    📗 身份认证、权限校验 📗 服务路由、负载均衡 📗 请求限流 📝 在 SpringCloud 中有两种网关的技术实现 ✏️ gateway (比 zuul 新) ✏️ zuul ✒️ Zuul 是基于 Servlet 实现的,属于阻塞式编程 ✒️ Gateway 是基于 Spring5 中提供的 WebFlux 实现的。属于响应式编程,具有更好的性能

    2023年04月17日
    浏览(23)
  • 一篇文章,带你彻底掌握接口测试!

    一、什么是接口测试? 所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、安全以及性能方面的要求。 二、为什么要

    2024年02月10日
    浏览(35)
  • b树(一篇文章带你 理解 )

    目录 一、引言 二、B树的基本定义 三、B树的性质与操作 1 查找操作 2 插入操作 3 删除操作 四、B树的应用场景 1 数据库索引 2 文件系统 3 网络路由表 五、哪些数据库系统不使用B树进行索引 1 列式数据库 2 图形数据库 3 内存数据库 4 NoSQL数据库 5 分布式数据库 六、总结 在计算

    2024年03月17日
    浏览(38)
  • 一篇文章带你入门HBase

    本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 目录 HBase特性 Hadoop的限制 基本概念 NameSpace Table RowKey Column TimeStamp Cell 存储结构 HBase 数据访问形式 架构体系 HBase组件 HBase读写流程 读流程 写流程 MemStore Flush 参数说明 StoreFile Compaction 参数说明 触发过程

    2024年02月08日
    浏览(42)
  • 一篇文章学会YooAsset资源热更新的初始化

    官方文档 在ProjectSetting里找到这个,这么填 package.openupm.cn https://package.openupm.cn com.tuyoogame.yooasset 然后在PackageManager里,选择MyRegistry ,导入YooAsset 本文只探讨到1.4.17,再高不支持了,本文全部代码均已验证正确 在使用这些东西之前,我们需要在Project面板右键,选择YooAsset/Cr

    2024年02月09日
    浏览(26)
  • 轻松学会Java导出word,一篇文章就够了!

    很多小伙伴在工作中,可能又这样一个需求:根据word模板去填充数据,变成我们想要的word文档,这是很多刚进入职场的小白都会碰到的需求。 当遇上这种需求,我们可以通过这篇文章要讲的 poi-tl 来做处理。 我们先在指定的位置创建一个测试文档。我这边直接在springboot中的

    2024年02月07日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包