一篇搞定CDH 5.x 核心概念与集群部署

news2024/11/23 20:07:51

一、概述

1.1 Hadoop发行商

Apache:开源免费

CDH: Clouder公司研发。只支持64位操作系统。更加详细信息后面会介绍。

HDP: Hortonworks公司研发。

1.2 公司常用版本及介绍

apache   ->   cdh    |   hdp

常见问题:

apache与cdh的比较??为什么选择了cdh???

Cm4 : coluder manager 4.X

Cm5:coluder manager 5.3.x ---- 5.13.x

Cm6:

Cdh:

需要安装基础组件介绍:

Zookeeper:

Hdfs:

Yarn:

Hive:

Hue:

HBase:

Oozie:

1.3 集群种类和规模介绍

开发: 5台左右;内存通常单台64g、128g;cpu通常8、12、24等cpu

测试:(小公司中少有),一般也5台左右;内存通常单台64g、128g;cpu通常8、12、24等cpu

生产:公司会根据实际业务配置,5-数百台服务;内存通常单台64g、128g;cpu通常8、12、24等cpu

1.4 cdh相关概念介绍

cdh 5.13.x的文档官网地址:+

Cloudera Enterprise 5.13.x Documentation

Cloudera的介绍:

 

通过这个文档我们能看出来,cloudera是什么?有哪些产品?我们主要部署两个:一个是CM,一个是CDH。这两个也是他的主要产品之一。

Cm的介绍:

 

 

注意:agent需要在每一个机子上去安装。

 

Cdh的介绍:

 

 

二、环境准备

2.1 安装cm 和 cdh的方法大概有如下:

1. tar 包

    http://archive.cloudera.com/cm5/cm/5/

http://archive.cloudera.com/cdh5/cdh/5/

2. rpm 包

    http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.13.2/

http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/

3. parcels 包

cdh 4.1.2 以后才有的

官方推荐的安装方式

Cloudera Manager进行安装

2.2 环境介绍

Centos 6.9 

主:8G  从:4G

2.3 需求和版本支持 

cdh和cm所支持的操作系统:

 

cdh和cm所支持的jdk版本:

 

Cm和hue支持的浏览器:

 Cm server的磁盘内存和python的需求:

需要依赖的iproute包:

Cdh所需要的网络需求:

 

需要的host映射文件格式和ssh免登陆需求:

Selinux和防火墙需求:

2.4 准备工作

禁Selinux:(不关闭安装cm第一步就出错)

禁用selinuxvi /etc/selinux/config,按照图示修改:(重启生效) 

查看selinux 的状态

/usr/sbin/sestatus -v

disabled 即关闭状态

 

如果没关闭,则用如下命令关闭,不用重启机器。实在不行重启机器。

setenforce 0

[root@hadoop01 ~]# /usr/sbin/sestatus -v

SELinux status:                 disabled

卸载自带open JDK

$ sudo rpm -qa|grep java

$ sudo rpm -e --nodeps *.jdk

能出来如下即可:怎么安装都可以

[root@hadoop01 ~]# which java

/usr/local/jdk1.7.0_79/bin/java

[root@hadoop01 ~]# java -version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

相互设置ssh免密登陆(所有节点):

[root@hadoop01 ~]# ssh-keygen -t rsa     一路回车

[root@hadoop01 ~]# ssh-copy-id hadoop01

[root@hadoop01 ~]# ssh-copy-id hadoop02

[root@hadoop01 ~]# ssh-copy-id hadoop03

[root@hadoop02 ~]# ssh-keygen -t rsa

[root@hadoop02 ~]# ssh-copy-id hadoop01

[root@hadoop02 ~]# ssh-copy-id hadoop02

[root@hadoop02 ~]# ssh-copy-id hadoop03

[root@hadoop03 ~]# ssh-keygen -t rsa

[root@hadoop03 ~]# ssh-copy-id hadoop01

[root@hadoop03 ~]# ssh-copy-id hadoop02

[root@hadoop03 ~]# ssh-copy-id hadoop03

安装配置MySQL(主节点)

通过yum install mysql-server安装mysql服务器(怎么安装都行)。chkconfig mysqld on设置开机启动,并service mysql start启动mysql服务,并根据提示设置root的初试密码:mysqladmin -u root password 'root'。

mysql -uroot -pxxxx进入mysql命令行,创建以下数据库:

#hive

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#activity monitor

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

# Oozie

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#Hue

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#授权root用户在主节点拥有所有数据库的访问权限

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

flush privileges;

ntpd 安装:(保证每个节点时间同步)

安装这个组件主要是用来做时间同步(每个节点)

集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下:

master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。

所有datanode节点以master节点为基础同步时间。

所有节点安装相关组件:yum install ntp。完成后,所有配置开机启动:chkconfig ntpd on,检查是否设置成功:chkconfig --list ntpd其中2-5为on状态就代表成功。

主节点:

# vi /etc/ntp.conf

#server 210.72.145.44     #这是中国国家授时中心的IP   (不可用,可搜索国内常用ntp服务器ip

server s2b.time.edu.cn   #这个是清华大学ntp服务器ip之一   保证可用即可

启动:service ntpd start

开机启动:chkconfig ntpd on

查看NTP服务的运行状况: watch ntpq -p

其他节点:hadoop02  hadoop03 做如上步骤后启动即可

然后启动:service ntpd start

设置文件打开数量和用户最大进程数(可选)

文件打开数量

ulimit -a

用户最大进程数

ulimit -u

设置

sudo vi /etc/security/limits.conf

内容:

soft nofile 65535

hard nofile 65535

soft nproc 32000

hard nproc 32000

三、CMS安装

安装Cloudera Manager Server 和Agent

主节点解压安装

cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.13.2和cloudera目录放到/opt目录下。

[root@qfnode01 ~]# tar -zxvf /home/cdh5.1.3.2-cms5.13.2/cloudera-manager-el6-cm5.13.2_x86_64.tar.gz -C /opt/

为Cloudera Manager 5建立数据库

首先需要去MySql的官网下载JDBC驱动,http://dev.mysql.com/downloads/connector/j/,解压后,找到mysql-connector-java-5.1.6-bin.jar,放到/opt/cm-5.13.2/share/cmf/lib/中。

[root@qfnode01 ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cm-5.13.2/share/cmf/lib/

在主节点初始化CM5的数据库:

[root@qfnode01 ~]# /opt/cm-5.13.2/share/cmf/schema/scm_prepare_database.sh mysql cm -hqfnode01 -uroot -proot --scm-host qfnode01 scm scm scm

Agent配置

修改/opt/cm-5.13.2/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

[root@qfnode01 ~]# vi /opt/cm-5.13.2/etc/cloudera-scm-agent/config.ini

serverhost = qfnode01

同步Agent到其他节点

scp -r /opt/cm-5.13.2/ qfnode01:/opt/

scp -r /opt/cm-5.13.2/ qfnode02:/opt/

scp -r /opt/cm-5.13.2/ qfnode03:/opt/

scp -r /opt/cm-5.13.2/ qfnode04:/opt/

scp -r /opt/cm-5.13.2/ qfnode05:/opt/

在所有节点创建cloudera-scm用户:

useradd --system --home=/opt/cm-5.13.2/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

准备Parcels,用以安装CDH5

将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中。

如果没有对应目录,则自己创建:(原则上只在主节点即可)

[root@qfnode02 ~]# mkdir -p /opt/cloudera/parcel-repo/

相关的文件如下:

CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel

CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1

manifest.json

[root@qfnode01 ~]# cp /home/cdh5.1.3.2-cms5.13.2/CDH-5.13.2-1.cdh5.13.2.p0.3-el6.parcel /opt/cloudera/parcel-repo/

[root@qfnode01 ~]# cp /home/cdh5.1.3.2-cms5.13.2/CDH-5.13.2-1.cdh5.13.2.p0.3-el6.parcel.sha /opt/cloudera/parcel-repo/

[root@qfnode01 ~]# cp /home/cdh5.1.3.2-cms5.13.2/manifest.json /opt/cloudera/parcel-repo/

最后将CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1,重命名为CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1文件。

相关启动脚本

通过[root@qfnode01 ~]# /opt/cm-5.13.2/etc/init.d/cloudera-scm-server start启动服务端。

通过[root@qfnode01 ~]# /opt/cm-5.13.2/etc/init.d/cloudera-scm-agent start启动Agent服务。

我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。

CDH5的安装配置

Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。

Cms的架构图:

Cloudera manager server (CMS)想管理集群,则需要有自己的小弟cloudare agent,这里相当于主从架构,cms推荐将自己的这台服务器也作为agent,所以我们需要在自己的hadoop01

、hadoop02、hadoop03上安装agent。(然后使用cms界面操作即可)

cms浏览器操作:

这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:

 

四、CMS安装CDH

 

下载本地的parcel包和分配到别的机子:(请注意一定要找你自己下载的pracle包名,找错联网下载)

点击继续,如下是环境检测错误,不同版本错误不一样:

如下的图是以前安装cdh5.3.6检测环境问题:

 

常见问题 1:

已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响: qfnode0[1-5]

在每一台主机上执行如下的语句

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo "never > /sys/kernel/mm/transparent_hugepage/defrag" > /etc/rc.local

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" > /etc/rc.local

常见问题 2:

个别主机正确地解析了自己的主机名称。

查询存在冲突的初始脚本时发现以下错误。利用‘chkconfig’来禁用初始脚本以避免 Cloudera Manager 管理的后台程序存在冲突。通常,您可以继续进行安装,但重启后,由于冲突流程启动可能失败。

将头两行去掉

将域名和主机名调换位置

将dns配置成本地网关

同时如果为局域网,建议在/etc/hosts中别配置域名

常见问题 3:

Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:qfnode0[1-5]

在每一台主机上执行:

sysctl -w vm.swappiness=0

echo "vm.swappiness=0"  >> /etc/sysctl.conf

修正后的结果:

根据自己需求选择安装大数据组件(kafka需要自己下载对应pracle安装):

选择安装的服务或者将已经分配的服务重新分配主机(zk的服务推荐3台): 

最终服务和主机分配关系:

为hive、Activity Monitor、oozie和 hue设置数据库名、用户名和密码: (最好测试连接通过才继续)

 

群集设置默认即可,也可修改。我选默认(一般是数据目录的设置,如果普通用户需要足够权限):

 

点击继续,群集设置,首次执行命令:

常见错误 1:

 

解决方法:去对应的服务器中查看是否有对应的目录,没有则创建,有就不用管

[root@qfnode04~]#ll /var/log/cloudera-scm-firehose/mgmt-cmf-mgmt-HOSTMONITOR-qfnode 04.log.out

常见错误2:

 

给对应的目录赋权限

[root@qfnode04~]#chmod 777 /var/lib/cloudera-scm-eventserver/version/event_schema.versio n

常见错误3:

 

查看对应服务器中是否有该目录,没有则创建,有则不管

[root@qfnode04~]# ll /var/lib/cloudera-host-monitor/ts/ts_entity_metadata/

注意如果错误2和错误3按上述的方法不能解决,那就直接删除其根目录

[root@qfnode04~]#rm -rf /var/lib/cloudera-*    (可以把下图红框中的三个目录删除重新运行一遍)

 

常见错误4:

 

解决方法:hive、oozie、hue都需要MySQL的驱动包,所以cp到有对应服务的安装目录的lib包下面即可

[root@qfnode04~]#cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.13.2-1.cdh5.13.2.p0.3/lib/hive/lib/

[root@qfnode04~]#cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.13.2-1.cdh5.13.2.p0.3/lib/oozie/lib/

[root@qfnode04~]#cp /home/mysql-connector-java-5.1.6-bin.jar /var/lib/oozie/

[root@qfnode04~]#cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.13.2-1.cdh5.13.2.p0.3/lib/hue/lib/

因为环境不一样,错误就不一样,把所有的错误解决后就可以得到如下结果,如图 所示:

 

点击继续,最终安装完成:

 

进入首页显示如下(点击箭头所指的地方可以查看到具体的错误):

每一个服务前的小圆圈颜色意思为:

红色为错误,需要解决

黄色为风险,可解决可不解决

绿色为正常,不需要处理

 

错误如下:

 

初步推断错误全部是因为五台机子的时钟不同步造成。

 

然后将报错服务器的ntp重新设置(也可以使用别的方式设置):

[root@qfnode04 ~]# vi /etc/ntp.conf

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

restrict 10.0.88.0 mask 255.255.255.0 nomodify      #增加该段

# Please consider joining the pool (http://www.pool.ntp.org/join.html).  #将如下四行解注释

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

然后保存退出重启ntpd即可。

[root@qfnode04 ~]# service ntpd restart

最终安装完成还是有hue的问题,分别点开问题如下两幅图:

 

解决方法:

需要提前安装httpd和mod_ssl

[root@qfnode04 ~]# yum -y install httpd

[root@qfnode04 ~]# yum -y install mod_ssl

运行一小会又出现zookeeper的错误:不良 : Canary 测试建立与 ZooKeeper 服务的连接或者客户端会话失败。

 

解决方法:

修改zookeeper最大连接数60为1000,zookeeper不报错。

 找到zk只能够的配置,再找到该属性修改即可。

最终解决完所有的错误应该是这个样子:

 

五、测试

5.1 Hdfs的测试

测试:最好切换的hdfs用户或者关闭权限。我的hdfs稍微有问题,没有home目录。

测试hdfs:

bash-4.1$sudo vi /home/words

bash-4.1$hdfs dfs -put /home/words /

bash-4.1$hdfs dfs -cat /words

测试mapreduce:

bash-4.1$ ls /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.13.2.jar

bash-4.1$ yarn jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.13.2.jar wordcount /words /out/00

bash-4.1$hdfs dfs -cat /out/00/part-r-00000

5.2 Hive的测试

bash-4.1$ hive

hive>create table if not exists t1(id string);

hive> load data local inpath '/home/words' into table t1;

hive> select * from t1;

OK

hello world

hi world

hadoop spark cdh nice

good good good

Time taken: 0.698 seconds, Fetched: 4 row(s)

hive> select count(id) from t1;     看看hive产生的mr是否能跑

Total jobs = 1

Launching Job 1 out of 1

Number of reduce tasks determined at compile time: 1

................

OK

4

Time taken: 35.851 seconds, Fetched: 1 row(s)

5.3 Hbase的测试

bash-4.1$ hbase shell

17/12/20 23:20:45 INFO Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available

HBase Shell; enter 'help<RETURN>' for list of supported commands.

Type "exit<RETURN>" to leave the HBase Shell

Version 0.98.6-cdh5.3.6, rUnknown, Tue Jul 28 15:19:46 PDT 2015

hbase(main):001:0> create 'test','cf1'

0 row(s) in 4.2150 seconds

=> Hbase::Table - test

hbase(main):006:0> put 'test','rk1','cf1:name','zs'

0 row(s) in 0.1320 seconds

hbase(main):007:0> put 'test','rk1','cf1:sex','1'

0 row(s) in 0.0160 seconds

hbase(main):008:0> put 'test','rk1','cf1:age','28'

0 row(s) in 0.0110 seconds

hbase(main):009:0> scan 'test'

ROW                       COLUMN+CELL                                                             

 rk1                      column=cf1:age, timestamp=1513783403310, value=28                       

 rk1                      column=cf1:name, timestamp=1513783385065, value=zs                      

 rk1                      column=cf1:sex, timestamp=1513783394462, value=1                        

1 row(s) in 0.0440 seconds

查看hdfs的web ui监控:

 查看yarn的web ui监控和historyserver的监控:

 

5.4 Hue的测试

Hue 的web ui监控: 第一次登陆随便输入用户名和密码,记住即可

 

需要简单的配置:新手直接全部默认即可

 

来一个简单的对应的hive的查询:

配置:

在每一个组件的配置去查找即可。如:

 

5.5 Oozie的测试

Oozie是一个工作流调度器,而cdh安装好后不能直接在浏览器中使用。

 我们还需要下载对应的Ext js包放到oozie对应的目录中去。

Ext js 2.2的下载地址:http://archive.cloudera.com/gplextras/misc/ext-2.2.zip

解压ext js 2.2 的zip包:

[root@hadoop01 ~]# cd /opt/cloudera/parcels/CDH/lib/oozie/libext/

[root@hadoop01 libext]# unzip /home/ext-2.2.zip

[root@qfnode01 libext]# chown oozie:oozie -R ./ext-2.2/

再次去查看oozie的web ui

5.6 用户的测试

用户管理: 管理--->用户--->添加用户/改密码

添加后:

 

退出admin登录:  注意cdh用户只能读,不能修改、配置、安装、卸载等。

 

再次向群集中添加服务:

修改集群名:

选择添加服务:   这里只能添加单个服务

六、升级高可用(HA)

6.1 NameNode的HA

 

找到namenode的服务-----> 操作----->启用High Avaliablity

继续即可配置

高可用的命名空间名字随便命名即可,建议使用默认值nameservice1。

 

点击选择一个namenode的主机:

 

选择journalNode的主机,建议至少3个且为基数个:

继续下一步的配置,建议把journalnode数据共享目录的配置给配置上,默认为空:

继续进行启用 HDFS 的 High Availability:

 

失败格式化已经存在的namenode的节点:因为目录存在数据存在,可以选择手动格式化以前的数据,然后再删除datanode的数据,如果是一开始就搭建HA就不会失败咯。详细信息如下:

 

如果对于已经使用很久,突然想升级Namenode的HA,则不用担心,虽然格式化失败,但是后面任然会同步元数据,如下:

等所有的检测和启动完成后,点击继续即可。

完成启动NameNode的HA配置:

 

测试NameNode是否可用:

 

关闭活动的NameNode服务:

 

证明已经失败转移过来,然后再查看是否能进行hdfs的文件读写操作;然后再启动hadoop01的Namenode再关闭hadoop02的namenode试试能否进行正常切换。

[root@hadoop01 ~] hdfs dfs -put /home/helloworld.sh /

[root@hadoop01 ~]  hdfs dfs -cat /helloworld.sh

#!/bin/bash

echo "hello world" >> /home/helloworld

证明可以失败转移后可以进行正常读写,然后再来回关闭namenode试试是否可用即可。

注意:

对于已经使用很久单namenode,突然升级HA,则可以新加入的namenode节点上使用如下按钮或者初始化元数据按钮来同步元数据(要求需要停止备用namenode、元素据目录为空):

6.2 ResourceManager的HA

点击启动High Avaliability:

 

点击选择一个主机,选择hadoop02为备用rm服务主机:

 

点击确定然后再点击继续:

然后对环境进行检测,只有三项检测,如果三项检测都是没有异常,点击完成即可(忘记截完成的图啦)。

 

停掉活动的rm:

 

证明是已经失败转移(来回切换几次试试可以失败转移),然后再运行几个mr的job作业即可。

bash-4.1$yarn jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /words /out/01

解决如上的两个问题:

 

手动批量将hive的元数据信息中的库和表指向的hdfs中的目录修改成HA的即可。

到此,hadoop的hdfs模块和yarn模块的HA已经升级完成.........

而hbase的备份master和hiveserver2建议安装时配置多个。

注意:升级后其它组件的完全性测试,不能影响其它组件。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在国内怎么玩chatgpt,有可行的gpt游玩攻略么

首先你想玩chatgpt&#xff0c;你要明白一点这是一个国外的软件&#xff0c;所以你懂的&#xff0c;如果你不会魔法&#xff0c;那么就必须要改其他途径去探索游玩咯。今天我们就来探讨一下国内怎么玩chatgpt&#xff0c;可行的gpt游玩攻略。 一.Chatgpt的版本 我们先来认识一…

61 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库用户

文章目录 61 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库用户61.1 创建用户示例 61.2 查看用户示例 61.3 修改用户61.3.1 修改用户名61.3.2 修改用户示例61.3.3 修改用户密码61.3.4 修改用户密码示例 61.4 删除用户示例 61.5 用户授权示例 61.6 删除用户权限示例 61…

看完这篇文章你就彻底懂啦{保姆级讲解}-----(面试刷题链表相交) 2023.4.24

目录 前言面试题&#xff08;链表相交&#xff09;—&#xff08;保姆级别讲解&#xff09;分析题目&#xff1a;链表相交代码&#xff1a;算法思想 结束语 前言 本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删除即可&#xff0c;撰写本文章主要目的在于记录自…

LVS负载均衡—DR模式

DR模式的特点 &#xff08;1&#xff09;Director Server&#xff08;调度器&#xff09; 和 Real Server&#xff08;节点服务器&#xff09; 必须在同一个物理网络中。 &#xff08;2&#xff09;Real Server可以使用私有地址&#xff0c;也可以使用公网地址。如果使用公网…

零代码平台如何帮助服装企业实现数字化转型?

随着互联网的不断发展&#xff0c;数字化转型已经成为各行各业必须跨越的一道坎&#xff0c;而服装行业也不例外。 但是&#xff0c;服装行业相对于其他行业来说&#xff0c;数字化转型面临着更多的挑战&#xff1a; 生产环节复杂&#xff1a;服装制造涉及到复杂的生产工序&a…

问题定位及解决方案

1.视频沉浸页快速滑动后&#xff0c;必现不能向下划动 复现步骤&#xff1a; 进入视频沉浸页&#xff0c;快速向下划动&#xff0c;滑动到第一页最后一个时&#xff0c;不能再向下划动。 解决步骤&#xff1a; 1.确定请求API&#xff1a; mtop.aliexpress.ugc.feed.video.lis…

Vivado关联第三方编辑器的方法

​Vivado是一个非常强大的工具&#xff0c;但是在一些方面可能不能完全满足我们的需求&#xff0c;比如代码编辑器的功能。幸运的是&#xff0c;Vivado允许我们关联第三方编辑器来扩展其代码编辑器的功能。在本文将介绍如何配置Vivado与第三方编辑器一起使用&#xff0c;并提供…

Pulsar幂等性开发的设计文档

PIP: https://github.com/apache/pulsar/issues/19744 具体设计 每个TC维护一个Map<ClientName,List> terminatedTxnMetaMap&#xff0c;维护每个客户端最新N个事务的状态&#xff0c;事务结束前&#xff0c;会把事务元数据写入这个List里&#xff0c;同时写入一个Compa…

高分辨率光学遥感图像水体分类综述2022.03

本文是Water body classification from high-resolution optical remote sensing imagery: Achievements and perspectives的学习笔记。 相关资源被作者整理到&#xff1a;这里 文章目录 Introduction基本知识 挑战和机遇挑战1. 有限的光谱信息和小场景覆盖2. 形状、大小和分布…

开放原子训练营(第三季)RT-Thread Nano学习营北京站

开放原子训练营&#xff08;第三季&#xff09;RT-Thread Nano学习营北京站学习心得 文章目录 开放原子训练营&#xff08;第三季&#xff09;RT-Thread Nano学习营北京站学习心得RT-Thread简介会议议程介绍RT-Thread Nano介绍RT-Thread Nano实操训练总结 RT-Thread简介 RT-Th…

【网络安全】XXE--XML外部实体注入

XXE XXE定义XML初识菜鸟xml概念初识DTD解答疑虑1&#xff1a;&#xff01;DOCTYPE是干什么用的疑虑2&#xff1a;&#xff01;ELEMENT是干什么用的疑虑3&#xff1a;#PCDATA是干什么用的疑虑4&#xff1a;为什么元素要再次声明类型 内部实体和外部实体的区别内部实体外部实体通…

【Spring篇】DI相关内容

&#x1f353;系列专栏:Spring系列专栏 &#x1f349;个人主页:个人主页 目录 一、setter注入 1.环境准备 2.注入引用数据类型 3.注入简单数据类型 二、构造器注入 1.环境准备 2.构造器注入引用数据类型 3.构造器注入多个引用数据类型 4.构造器注入多个简单数据类型 …

OAuth2学习(实操OAuth微信登录)

文章目录 前言1 OAuth2基本概念2 网站应用微信登录2.1 大概流程2.2 前期准备2.3 将微信登录二维码内嵌到自己页面2.3.1 后端接口编写(向前端提供参数)2.3.2 前端显示二维码页面 2.4 编写回调接口2.4.1 回调接口根据code获取access_token 这个令牌2.4.2 回调接口根据access_toke…

大数据分析工具Power BI(十三):制作占比分析图表

文章目录 制作占比分析图表 一、饼图 二、环形图 三、树状图

赛题解析 | kaggle百万奖金新赛--图书墨水检测大赛

整理自kaggle平台 比赛题目 Vesuvius Challenge - Ink Detection kaggle-图书墨水检测 比赛背景 赫库兰尼姆卷轴中使用的墨水在X射线扫描中不容易显示出来。但我们发现机器学习模型可以检测到它。幸运的是&#xff0c;我们有地面实况数据。自从近300年前发现赫库兰尼姆Papyr…

【K8S系列】深入解析Service

序言 Dont count the days. Make the days count 不要数着日子。让日子过得有意义 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 Kubernetes (k8s) 是一个容器编排平…

React 组件 API

常用 React 组件 API&#xff1a; 设置状态&#xff1a;setState替换状态&#xff1a;replaceState设置属性&#xff1a;setProps替换属性&#xff1a;replaceProps强制更新&#xff1a;forceUpdate获取DOM节点&#xff1a;findDOMNode判断组件挂载状态&#xff1a;isMounted …

基础自动化测试脚本开发——Loadrunner网页系统两种创建关联函数的方法详解

前言 许多的系统都采用SessionID或SeqID等方法来标识不同的任务和数据报&#xff0c;应用在每次运行时发送的数据并不完全相同。所以&#xff0c;为了让脚本能够支持测试的需求&#xff0c;就必然要用某种机制对脚本的数据进行关联了。总之一句话&#xff1a;通过关联可以在测试…

AOD实践,modis数据下载,modis数据处理

modis数据下载-数据读取-重投影-拼接-均值 一、数据下载 1、Cygwin安装 Cygwin安装教程&#xff1a;https://blog.csdn.net/u010356768/article/details/90756742 1.2 数据采集 现提供遥感数据下载服务&#xff0c;主要是NASA数据&#xff0c;数据下载网站包括&#xff1a…

炸裂的 AutoGPT,鱼皮教你免费用!

大家好&#xff0c;我是鱼皮&#xff0c;继前段时间爆火的 ChatGPT 后&#xff0c;又一个炸裂的开源项目 Auto-GPT 出现了。 仅在最近 10 天&#xff0c;这个项目就收获了 8 万多个 star&#xff0c;目前总 star 数超过 10 万&#xff01; 那 Auto-GPT 到底是个什么玩意&#x…