Heartbeat安装

安装Heartbeat前的准备
Heartbeat集群必须的硬件
从下图看出,构建一个Heartbeat集群系统必须的硬件设备有:

节点服务器;
网络和网卡;
共享磁盘。
节点服务器
安装Heartbeat至少需要两台主机,并且对主机的要求不高,普通的PC服务器即可满足要求。当然,也可以在虚拟机上安装Heartbeat,现在 Heartbeat可以很好地运行在Linux系统下,很多Linux发行版本都自带了Heartbeat套件,同时,还可以运行在FreeBSD和 Solaris操作系统上。
网卡和网络
Heartbeat集群中的每个主机应有一块网卡和一个空闲串口。网卡用于连接公用网络,串口可以通过串口线。例如modem电线来实现连接,用于心跳监 控节点间的状态。如果没有空闲串口的话,每个主机也可以通过两块网卡来实现HA,其中一块网卡用于连接公用网络,另一块网卡通过以太网交叉线与两个节点相 连接。
注意 以太网交叉线和串口电线都能用于心跳监控,串口电线传输Heartbeat信号相对较好,如有条件,尽量使用串口线代替以太网交叉线作为节点间的心跳检测设备。
Heartbeat支持3种类型的网络,即公用网络(public network)、私用网络(private network)和串行网络(serial network)。
公用网络连接多个节点,并且允许客户端访问集群中的服务节点;私用网络提供两个节点之间点到点的访问,但是不允许客户端访问,可以通过以太网交叉线构建一 个私用网络,以供节点间相互通信;串行网络也是一个点到点的连接,一般使用串行网络来传输控制信息和心跳监控。串行网络可以是一条RS232串口线。
共享磁盘
共享磁盘是一个数据存储设备,HA集群中的所有节点都需要连接到这个存储设备上,在这个共享的存储设备上一般放置的是公用的、关键的数据和程序,一方面可以共享数据给所有节点使用,另一方面也保证了数据的安全性。
Heartbeat支持两种对共享磁盘的访问方式:独占访问和共享访问。在独占访问方式下,保持活动的节点独立使用磁盘设备,只有当活动节点释放了磁盘设 备,其他节点才能接管磁盘进行使用。在共享访问方式下,集群所有节点都可以同时使用磁盘设备。当某个节点出现故障时,其他节点无需接管磁盘。共享访问方式 需要集群文件系统的支持。
2.操作系统规划
这里统一采用Red Hat Enterprise Linux Server release 5.4操作系统。每个节点服务器都有两块网卡,一块用作连接公用网络,另一块通过以太网交叉线连接两个节点,作为心跳监控。共享磁盘由一个磁盘阵列设备提 供,两个节点共享一个磁盘分区。磁盘分区对应的硬件标识为/dev/sdb5,挂载点为/webdata,文件系统类型为ext3。
网络以及IP地址规划如下表所示。

| 节 点 类 型  |IP 地址规划  | 主 机 名 |类型 |
| :------------ |:---------------:|:-----:| -----:|
| 主用节点     | eth0 : 192.168.60.132 | node1 | Public IP|
| eth1 : 10.1.1.1     | priv1        |   private IP | |
| eth0:0 : 192.168.60.200 | 无       | Virtual IP | |
| 备用节点| eth0 : 192.168.60.133   | eth0 : 192.168.60.133| eth0 : 192.168.60.133|
| eth1 : 10.1.1.2| priv1   | private IP | |




从上表可知,eth0网络设备用于连接公用网络,eth1网络设备用于连接私用网络,而eth0:0网络设备是HA集群虚拟出来的服务IP地址,用于对外提供应用程序服务。基本的拓扑结构如图






获取Heartbeat
Heartbeat到目前为止发行了三个主版本,即Heartbeat 1.x、Heartbeat 2.x和Heartbeat 3.x。Heartbeat 1.x仅仅允许创建两个节点的集群,提供基本的高可用性failover服务。Heartbeat 2.x提供了增强的特性,允许创建多个节点的集群,又支持模块结构的配置方法-集群资源管理器(Cluster Rescource Manager-CRM),CRM可以支持最多16个节点。Heartbeat 3.x大家暂且认为是Heartbeat 2.x的修订版。这里我们选择Heartbeat 2.0.7版本进行介绍。
Heartbeat的下载地址为http://linux-ha.org/download/index.html,找到Heartbeat 2.0.7版本,下载类似heartbeat-2.0.8.tar.gz的源代码包即可。此外在安装Heartbeat时需要同时安装Libnet工具 包。Libnet是一个高层次的API工具,可以从http://www.packetfactory.net/libnet/下载到,现在的稳定版本是 1.1.2.1,下载后的包名为libnet.tar.gz。
安装Heartbeat
接下来需要在两个节点安装Heartbeat,安装过程很简单,只需解压编译、安装即可,这里不再详述。在两个节点执行相同的操作,下面是在node1上的安装过程:

安装下列rpm包

#rpm -ivh pam-devel-0.99.6.2-6.el5.x86_64.rpm
# rpm -ivh python-devel-2.4.3-27.el5.x86_64.rpm
# rpm -ivh gcc-4.1.2-46.el5.x86_64.rpm
# rpm -ivh glibc-devel-2.5-42.x86_64.rpm
# rpm -ivh libgomp-4.4.0-6.el5.x86_64.rpm
# rpm -ivh glib-1.2.10-20.el5.x86_64.rpm
# rpm -ivh glib-devel-1.2.10-20.el5.x86_64.rpm
# rpm -ivh glibc-headers-2.5-42.x86_64.rpm
# rpm -ivh glibc-devel-2.5-42.x86_64.rpm
# rpm -ivh libxslt-1.1.17-2.el5_2.2.x86_64.rpm
# rpm -ivh libxslt-devel-1.1.17-2.el5_2.2.x86_64.rpm
# rpm -ivh libxslt-python-1.1.17-2.el5_2.2.x86_64.rpm
# rpm -ivh tkinter-2.4.3-27.el5.x86_64.rpm
# rpm -ivh elfutils-0.137-3.el5.x86_64.rpm
# rpm -ivh lm_sensors-2.10.7-4.el5.x86_64.rpm
# rpm -ivh lm_sensors-devel-2.10.7-4.el5.x86_64.rpm
# rpm -ivh tix-8.4.0-11.fc6.x86_64.rpm
# rpm -ivh tix-devel-8.4.0-11.fc6.x86_64.rpm
# rpm -ivh tix-doc-8.4.0-11.fc6.x86_64.rpm
# rpm -ivh perl-Compress-Zlib-1.42-1.fc6.x86_64.rpm
# rpm -ivh perl-libwww-perl-5.805-1.1.1.noarch.rpm
# rpm -ivh perl-HTML-Tagset-3.10-2.1.1.noarch.rpm
# rpm -ivh perl-XML-NamespaceSupport-1.09-1.2.1.noarch.rpm
# rpm -ivh perl-XML-SAX-0.14-5.noarch.rpm
# rpm -ivh perl-Net-SSLeay-1.30-4.fc6.x86_64.rpm
# rpm -ivh perl-IO-Socket-SSL-1.01-1.fc6.noarch.rpm
# rpm -ivh perl-Digest-SHA1-2.11-1.2.1.x86_64.rpm
# rpm -ivh perl-Digest-HMAC-1.01-15.noarch.rpm
# rpm -ivh glib2-2.12.3-4.el5_3.1.x86_64.rpm
# rpm -ivh glib2-devel-2.12.3-4.el5_3.1.x86_64.rpm
# rpm -ivh bzip2-1.0.3-4.el5_2.x86_64.rpm
# rpm -ivh bzip2-devel-1.0.3-4.el5_2.x86_64.rpm
# rpm -ivh ncurses-5.5-24.20060715.x86_64.rpm
# rpm -ivh ncurses-devel-5.5-24.20060715.x86_64.rpm
# rpm -ivh imake-1.0.2-3.x86_64.rpm
# rpm -ivh autoconf-2.59-12.noarch.rpm
# rpm -ivh flex-2.5.4a-41.fc6.x86_64.rpm
# rpm -ivh beecrypt-4.1.2-10.1.1.x86_64.rpm
# rpm -ivh beecrypt-devel-4.1.2-10.1.1.x86_64.rpm
# rpm -ivh --nodeps elfutils-devel-0.137-3.el5.x86_64.rpm
# rpm -ivh elfutils-devel-static-0.137-3.el5.x86_64.rpm
# rpm -ivh net-snmp-5.3.2.2-7.el5.x86_64.rpm
# rpm -ivh net-snmp-devel-5.3.2.2-7.el5.x86_64.rpm
# rpm -ivh net-snmp-perl-5.3.2.2-7.el5.x86_64.rpm
# rpm -ivh net-snmp-utils-5.3.2.2-7.el5.x86_64.rpm
# rpm -ivh perl-LDAP-0.33-3.fc6.noarch.rpm
# rpm -ivh perl-Authen-SASL-2.15-1.el5.rf.noarch.rpm
# rpm -ivh perl-Mail-IMAPClient-2.2.9-1.2.el5.rf.noarch.rpm
# rpm -ivh perl-Parse-RecDescent-1.94-1.el5.rf.noarch.rpm
# rpm -ivh libnet-1.1.2.1-2.2.el5.rf.x86_64.rpm
#rpm -ivh openssl-0.9.8e-12.el5.i686.rpm
#rpm -ivh wpa_supplicant-0.5.10-8.el5.i386.rpm

创建所需的用户和组
# groupadd -g 90 haclient
# useradd –g haclient –u 90 –s /bin/false –M hacluster
进行预编译、设置编译环境
#cd /root/heartbeat-2.0.7
# ./ConfigureMe configure --disable-swig –disable-snmp-subagent
进行编译
#make
编译安装

#make install
#cp doc/ha.cf doc/haresources doc/authkeys /etc/ha.d/
#cp ldirectord/ldirectord.cf /etc/ha.d/
#groupadd -g 694 haclient
#useradd -u 694 -g haclient hacluster

查看/etc/hosts文件配置

#more /etc/hosts  
192.168.60.132   node1  
192.168.60.133   node2  
10.1.1.1             priv1  
10.1.1.2             priv2

配置主节点Heartbeat

Heartbeat的主要配置文件有ha.cf、haresources和 authkeys。在Heartbeat安装后,默认并没有这3个文件,可以从官方网站下载得到,也可以直接从解压的源码目录中找到。在上面的安装过程 中,我们已经将这3个文件放到了/etc/ha.d目录下,下面分别详细介绍。
主配置文件(/etc/ha.d/ha.cf)
下面对ha.cf文件的每个选项进行详细介绍,其中"#"号后面的内容是对选项的注释说明。
#debugfile /var/log/ha-debug    #用于记录 heartbeat 的调试信息,这里不开启
logfile /var/log/ha-log                #指名heartbeat的日志存放位置。

logfacility   local0                       #如果未定义上述的日志文件,那么日志信息将送往local0(对应的#/var/log/messages),如果这 3 个日志文件都未定义,那么 heartbeat 默认情况下 将在/var/log 下建立 ha-debug 和 ha-log 来记录 相应的日志信息。
bcast eth1                                 #指明心跳使用以太网广播方式,并且是在eth1接口上 进行 广播。  
keepalive 2                                #发送心跳报文的间隔,默认单位为秒,如果你毫秒为单位, 那么需要在后面跟 ms 单位,如 1500ms 即代表 1.5s
deadtime 30                              #指定若备用节点在30秒内没有收到主节点的心跳信 号,则立即接管主节点的服务资源。

warntime 10                              #指定心跳延迟的时间为10秒。当10秒钟内备份节点不能接收到主节点的心跳信号时,就会往日志中写入一 个警告日志,但此时不会切换服务。发出最后的心跳 警 告 信息的间隔。
initdead 120                               #在某些系统上,系统启动或重启之后需要经过一段时 间 网络才能正常工作,该选项用于解决这种情况产生 的时 间间隔。取值至少为deadtime的两倍。  
udpport 694                                #设置广播/单播通信使用的端口,694为默认使用的端口号

#baud 19200                              #设置串行通信的波特率。这里不启用
#serial /dev/ttyS0                       #选择串行通信设备,用于双机使用串口线连接的情 况。如果双机使用以太网连接,则应该关闭该选 项。  
#ucast eth0 192.168.60.132        #采用网卡eth0的udp单播来组织心跳,后面跟的
IP地址应为双机对方的IP地址。  
#mcast eth0 225.0.0.1 694 1 0    #采用网卡eth0的Udp组播来组织心跳,如果采用组 播通讯,在这里可以设置组播通讯所使用的接口,绑定 的组播 ip 地#址(在 224.0.0.0 - 239.255.255.255 间),通讯端口,ttl(time to live)所能经过路由的跳数,是否允许环回(也就是本地发出的数据包时候还接收) 一般在备用节点不止一台时使用。Bcast、ucast和mcast分别代表广播、单播和组播,是组织心跳的三种方式,任选其一即可。   
auto_failback off                         #用来定义当主节点恢复后,是否将服务自动切回。如 果不想启用,请设置为off,默认为on。heartbeat 的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为on 的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点;如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节 点。  
#stonith baytech /etc/ha.d/conf/stonith.baytech   #stonith的主要作用是使出现问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争用一个资源的情形发生。保证共享数据的安全性和完整性。  
#watchdog /dev/watchdog         #该选项是可选配置,是通过Heartbeat来监控系统的 运行状态。使用该特性,需要在内核中载入"softdog" 内核模块,用来生成实际的设备文件,如果系统中没 有这个内核模块,就需要指定此模块,重新编译内 核。编译完成输入"insmod softdog"加载该模块。 然后输入"grep misc /proc/devices"(应为10),输 入"cat /proc/misc |grep watchdog"(应为 130)。最后,生成设备文件:"mknod /dev/watchdog c 10 130" 。即可使用此功能。  
node node1                                #主节点主机名,可以通过命令"uanme -n"查看。  
node node2                                #备用节点主机名。  
ping 192.168.60.1                       #选择ping的节点,ping节点选择的越好,HA集群就 越强壮,可以选择固定的路由器作为ping节点,或者 应用服务器但是 最好不要选择集群中的成员作为ping 节点,ping节点 仅仅用来测试网络连接。如果指定了多个ping节点如

ping 192.168.0.1 192.168.0.2

那么只有当能ping通所有ping节点 时才认为网络是连通的,否则则认为不连通
#ping_group group1 172.16.103.254 172.16.103.212 #ping_group就是同时ping 多个ip,只有所有的ip都无法ping通时,ipfail才会执 行切换的动作,保证了不会是因为被ping的ip出了问 题而产生误切换。 注意,ping_group不能和ping 同时使用
respawn hacluster /usr/lib/heartbeat/ipfail #该选项是可选配置, 意思 是以 hacluster 这 个用户身份运行/usr/lib/heartbeat/ ipfail 这个 插件 respawn列出与heartbeat一起启动和关闭的 进 程,该进程一般是和heartbeat集成的插件,这些 进程遇到故障可以自动重新启动。最常用的进程是 ipfail,此进程用于检测和处理网络故障,需要配合 ping或者ping_group语句,其中指定的ping node 来检测网络的连通性。在v2版本中,ipfail和crm有 冲突,不能同时使用,如果启用crm的情况下,可以 使用pingd插件代替ipfail


apiauth ipfail gid=haclient uid=hacluster   #指定对客户端 api 的访问控制,缺省为不可 访问,这里指定了 有权限访问 ipfail用户和组。 apiauth的语法如下
apiauth apigroupname [uid=uid1,uid2 ...] [gid=gid1,gid2 ...]

示例
apiauth  ping gid=haclient uid=alanr,root
在指定api访问权限时,可以指定具有访问权限的组或者用户,也可以同时指定组和用户。当进行同时指定时,只要用户是所指定的组或者用户中的其中一员即可访问api库。

也可以配置api默认用户组,命令如下

apiauth default  gid=haclient
当配置了默认用户组时,其他所有api授权命令失效且该用户组中的成员可以访问任何api库

如果不在ha.cf文件指定api库的访问权限,则默认的访问权限如下

service       default apiauth
ipfail    uid=hacluster
ccm    gid=haclient
ping    gid=haclient
cl_status    gid=haclient
lha-snmpagent    uid=root
crm    uid=hacluster
#crm respawn                           #是否开启Cluster Resource Manager(集群资源 管 理)功能这里不开启。 注意这里,还可以使用crm on或者 crm yes的写法,有些文档上说crm on的写 法如果cib.xml文件配置错误,会导致heartbeat重 启服务器 , 这点笔者没有遇到过,请读者自行尝试 。 注 意,当使用crm时,默认会自动使用下列命令


apiauth  stonithd uid=root
apiauth  crmd  uid=hacluster
apiauth  cib  uid=hacluster        
respawn hacluster       ccm
respawn hacluster       cib
respawn root            stonithd
respawn root            lrmd
respawn hacluster    crmd



关于上述命令,和ipfail插件命令的意义相同,这里不再赘述

#autojoin   none                           #该选项作用是将知道集权节点间密钥的服务器自动加入节点。autojoin有三个选项none,other,any他们各自的意义为

none:不使用autojoin功能

other:ha.cf文件中列出来的节点应自动加入集群,没有列出来的就无法自动加入集群

any:任何节点都可以自动加入集群


#hopfudge 1                                #设置串口的心跳信息最少的被转发次数,默认值为1

#deadping 30                               #设置的用来ping的节点的死亡时间,当超过该时间时则认为该节点网络无法连通,如果该值设置太小将导致系统过快的认为节点死亡。如果设置过大,则会延误系统判定时间。
#realtime off                                #允许/禁止实时执行将Heartbeat设置为高优先级,缺省为 on
#msgfmt   classic/netstring           #网线中的信息格式,可以是 classic 或 netstring

classic:利用base64库将二进制值转换为string值在网线中传输,该选项为默认选项。

netstring:在网线中直接传输二进制值,该选项由于不需要转换效率更高。
#use_logd yes/no                         #是否使用记录监控和日志的功能相似。虽然官方建议开启该选项,但是处于管理习惯,笔者没有开启该选项。
#conn_logd_time 60                     #如果前一个连接失败了,我们再次连接到记录监控器的间隔。
#compression bz2                        #配置压缩模块它可以为 zlib 或 bz2,可以通过查看/usr/lib/heartbeat/plugins/HBcompress/目录下的文件以确定是否有相应的库。一般在CPU空闲且网络资源紧张的情况下启用该选项。
#compression_threshold 2             #配置压缩的限度这个值决定压缩一个信息的限度,例如:如果限度为1,那么任何大于 1KB 的消息都会被压缩,缺省为2 (KB)
资源文件(/etc/ha.d/haresources)
Haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等集群资源,文件每一行可以包含一个或多个资源脚本名,资源之间使用空格隔开,参数之间使用两个冒号隔开,在两个HA节点上该文件必须完全一致,此文件的一般格式为:
                  node-name network  <resource-group>
node-name表示主节点的主机名,必须和ha.cf文件中指定的节点名一致。network用于设定集群的IP地址、子网掩码和网络设备标识等。需 要注意的是,这里指定的IP地址就是集群对外服务的IP地址,resource-group用来指定需要Heartbeat托管的服务,也就是这些服务可 以由Heartbeat来启动和关闭。如果要托管这些服务,就必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放到/etc /init.d/或者/etc/ha.d/resource.d/目录下,Heartbeat会根据脚本的名称自动去/etc/init.d或者/etc /ha.d/resource.d/目录下找到相应脚步进行启动或关闭操作。
下面对配置方法进行具体说明:
node1 IPaddr::192.168.60.200/24/eth0/  Filesystem::/dev/sdb5::/webdata::ext3  httpd cp.sh db2::db2inst1 其中,node1是HA集群的主节点,IPaddr为heartbeat自带的一个执行脚步,Heartbeat首先将执行/etc/ha.d /resource.d/IPaddr 192.168.60.200/24 start的操作,也就是虚拟出一个子网掩码为255.255.255.0,IP为192.168.60.200的地址。此IP为Heartbeat对外 提供服务的网络地址,同时指定此IP使用的网络接口为eth0。接着,Heartbeat将执行共享磁盘分区的挂载操 作,"Filesystem::/dev/sdb5::/webdata::ext3"相当于在命令行下执行mount操作,即"mount -t ext3 /dev/sdb5 /webdata",然后启动httpd,接下列执行cp.sh这个脚本文件之后以db2inst1的身份启动db2。

其中cp.sh必须放置在/etc/ha.d/resource.d/或/etc/init.d/目录中,该脚本内容如下

cp /etc/ha.d/db2nodes.cfg /home/db2inst1/sqllib/db2nodes.cfg
注意主节点和备份节点中资源文件haresources要完全一样。
认证文件(/etc/ha.d/authkeys)
authkeys文件用于设定Heartbeat的认证方式,共有3种可用的认证方式,即crc、md5和sha1。3种认证方式的安全性依次提高,但是 占用的系统资源也依次增加。如果Heartbeat集群运行在安全的网络上,可以使用crc方式;如果HA每个节点的硬件配置很高,建议使用sha1,这 种认证方式安全级别最高;如果是处于网络安全和系统资源之间,可以使用md5认证方式。这里我们使用crc认证方式,设置如下:
auth 1  
1 crc  
#2 sha1 sha1_any_password  
#3 md5 md5_any_password
需要说明的一点是:无论auth后面指定的是什么数字,在下一行必须作为关键字再次出现,例如指定了"auth 6",下面一定要有一行"6 认证类型"。
最后确保这个文件的权限是600(即-rw-------)。


配置备份节点的Heartbeat
在备份节点上也需要安装Heartbeat,安装方式与在主节点安装过程一样,这里不再重述。依次安装libnet和heartbeat源码包,安装完毕,在备份节点上使用scp命令把主节点配置文件传输到备份节点。
#scp -r node1:/etc/ha.d/*  /etc/ha.d/
其中,node1是主节点的主机名。
设置主节点和备份节点时间同步
在双机高可用集群中,主节点和备份节点的系统时间也非常重要,因为节点之间的监控都是通过设定时间来实现的。主备节点之间的系统时间相差在10秒以内是正 常的,如果节点之间时间相差太大,就有可能造成HA环境的故障。解决时间同步的办法有两个:一个办法是找一个时间服务器,两个节点通过ntpdate命令 定时与时间服务器进行时间校准;另一个办法是让集群中的主节点作为ntp时间服务器,让备份节点定时去主节点进行时间校验。


启动Heartbeat

在主备节点上执行

#/etc/init.d/heartbeat start

如果需要设置开机启动Heartbeat服务

#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc0.d/K05heartbeat  
#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc3.d/S75heartbeat  
#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc5.d/S75heartbeat  
#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc6.d/K05heartbeat

或者

#chkconfig --level 0356 heartbeat on




感谢SanMeng的耐心指导

参考至:http://www.linux-ha.org/ha.cf

           http://book.51cto.com/art/200912/168034.htm

           http://www.linux-ha.org/ipfail


           http://hi.baidu.com/liheng_2009/blog/item/182e723a0c3436f9b211c79c.html

本文原创,转载请注明出处、作者



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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ansible企业级实战(Markdown)

ansible经典实战 一、配置文件解释二、实战2.1 脚本分发 && 使用copy生成新文件2.2 列出所有被管理主机list2.3 基于key验证来避免每次输入密码2.3.1 机器密码不一样的解决方案 2.4 fetch 抓取被控制端的文件2.4.1 fetch 如何抓取多个文件&#xff1f; 2.5 file 模块设…

【Python】词云之 wordcloud库 全解析

有用的话&#xff0c;欢迎姗莲✨✨✨✨✨✨✨✨✨✨✨✨✨ 目录 一基础用法二、WordCloud类 形参说明2.1 常用参数2.11 字体 font_path2.12 画布尺寸 width、hight2.13 比例&#xff08;缩放&#xff09;scale2.14 颜色(表) colormap2.15 颜色函数 color_func2.16 词语组合频率…

【云炬COMSOL模型】自己做的激光超声的COSMOL模型

模拟结果 表面温度 等值线 表面应力 模型设置 全局定义 几何 材料 固体传热物理场 固体力学物理场 多物理场 网格 研究&计算日志 2e-06 - out- 1.43e-06 - out- 1.44e-06 - out- 1.45e-06 - out- 1.46e-06 …

uniapp生成商品分享海报

uniapp用canvas生成一个分享商品的海报 文章目录 前言一、展示效果二、使用步骤1.HTML部分2.CSS部分3.JS部分 总结 前言 uniapp用canvas生成一个分享商品的海报&#xff0c;因为用到了uni.downloadFile这个API&#xff0c;所以要注意图片在H5端跨域的问题。 以下是本篇文章正…

postman错误提示“Current request is not a multipart request”

今天在写业务进行批量上传文件时&#xff0c;用postman测试发现报500错误----Current request is not a multipart request&#xff0c;翻译了一下大概意思是 当前请求不是多部分请求&#xff0c;所以就很纳闷。今天特意记录一下 首先我们上传文件时&#xff0c;在postman里面…

如何为豆瓣FM写一个chrome的歌词插件

对于喜欢豆瓣FM的同学来说&#xff0c;没有歌词是件令人苦恼的事&#xff0c;下面我就来总结下怎样为豆瓣FM写一个chrome的歌词插件。 --------------------------------- 1.需要的技能 首先&#xff0c;你要会javascript&#xff0c;其次你要掌握一点chrome的hack&#xff…

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计

项目简介 在过去几十年&#xff0c;风景园林经历了从“刀耕火种”的完全手绘设计时代到当下比较流行的参数化设计时代&#xff0c;过去的每一轮技术革新都让风景园林作品的表现形式产生了巨大的改变。随着计算机图像技术的发展&#xff0c;我们有更多的建模和渲染软件辅助提升图…

有哪些中西合璧的建筑设计?

所谓中西合璧&#xff0c;中即中华文化&#xff0c;体系繁多&#xff0c;源远流长&#xff0c;浩如烟海&#xff0c;是世界三大文化体系之一&#xff0c;在历史上曾是东亚文化的中心&#xff0c;一度影响欧洲&#xff1b;西即西方文化&#xff0c;西方物质文明和精神文明&#…

独家 | ChatGPT可以解决分级和分类这样的简单机器学习任务

作者&#xff1a;Damir Yalalov 翻译&#xff1a;陈超 校对&#xff1a;赵茹萱本文约1100字&#xff0c;建议阅读5分钟 本文介绍了ChatGPT如何解决简单的机器学习任务并给出了鸢尾花分类和城市预测两个案例。 一句话概括&#xff1a; ChatGPT可以帮助你完成简单的机器学习任务…

决定AI大模型胜负的关键:解读数据在未来竞争中的角色

随着人工智能的迅猛发展&#xff0c;高质量数据的重要性已愈发明显。以大型语言模型为例&#xff0c;近年来的飞跃式进展在很大程度上依赖于高质量和丰富的训练数据集。相比于GPT-2&#xff0c;GPT-3在模型架构上的改变微乎其微&#xff0c;更大的精力是投入到了收集更大、更高…

RWKV 语言模型:具有 Transformer 优点的 RNN

RWKV 语言模型&#xff0c;这是一个具有巨大潜力的开源大型语言模型。由于 ChatGPT 和一般的大型语言模型最近受到了很多关注。在这篇文章中&#xff0c;我将尝试解释与大多数语言模型&#xff08;transformer&#xff09;相比&#xff0c;RWKV 有何特别之处。 RWKV 可视化 浅谈…

重磅活动!线下报名 | 大模型为什么是AI领域的“兵家必争之地”?

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 离我们自己的“ChatGPT”还有多远&#xff1f; GPT-4 , game changer OR game over&#xff1f; Copilot究竟是打工人的福音还是噩梦&#xff1f; AI TIME今年将持续推出AIGC大咖思辨的线下活动&#xff01;AIG…

火爆首发 | 微软工程师解密全球火出圈的AI科技ChatGPT

首期“支点加速营前沿技术研习社”线上直播课开启报名啦&#xff01; 本次课程由苏州人工智能产业创新中心、图灵社区联合主办&#xff0c;苏州国际科技园和蒲公英孵化器协办&#xff0c;微软&#xff08;亚洲&#xff09;互联网工程院提供技术支持。 与此同时&#xff0c;课程…

百度文心大模型 3.5 斩获7个满分、三个第一;苹果正在测试 AppleGPT 产品;谷歌给员工断网,降低网络攻击风险|极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#…

如何抢演唱会门票,AI给你一套超强攻略

有的歌手的演唱会门票不会放在一个平台&#xff0c;以应该提前做好攻略&#xff0c;那么对于我这种新手小白该如何抢到票呢&#xff0c;其实我们可以通过AI去找到解决办法 1、打开多御浏览器、找到ChatGPT进入页面 二、提前准备好你想去看谁谁的演唱会&#xff0c;他会给你分析…

1天生成100个chatgpt提问prompt提示语,逆向提示语工程引爆创作火花!ChatGPT超级写手机器人助你创作惊艳之作!

1天生产出1000套提问模版&#xff0c;逆向提示语工程引爆创作火花&#xff01;ChatGPT超级写手机器人助你创作惊艳之作&#xff01; 创作内容时&#xff0c;找不到合适的提示词是个巨大困扰。 这限制了我们的创作潜力&#xff0c;无法生成满意的内容。 你是否渴望一种创作工具&…

特斯拉Tesla Model 3整体架构解析

一辆特斯拉 Model 3型车在硬件改造后解体 Sensors for ADAS applications 特斯拉 Model 3型设计的传感器组件包括&#xff1a;8个摄像头&#xff0c;可在250米半径内提供汽车周围360度的可视性&#xff1b;12个超声波传感器&#xff0c;可完成这一视觉系统。它们共同允许在一定…

清华 ChatGLM-6B 中文对话模型部署简易教程

本文目录 一、前言二、下载三、部署3.1 配置环境3.2 启动 demo 程序3.2.1 启动 cli_demo.py3.2.2 启动 web_demo.py 四、【最新】ChatGLM-6B-int4 版本教程4.1 下载4.2 配置环境4.3 启动 demo 程序 五、华为 CodeLab 免费 GPU 平台部署 ChatGLM-6B-int4&#xff08;CPU版&#…

关于OpenAI的登录问题

关于OpenAI的登录问题 记录一点关于使用OpenAI的问题 文章目录 关于OpenAI的登录问题错误场景错误原因解决方案 错误场景 当我们通过微软账号登录进OpenAI时&#xff0c;发现了这样的错误提示&#xff1a; 错误原因 目前只有用谷歌的Gmail邮箱才可以登录&#xff0c;或者直…

面向结构化数据的文本生成技术研究

来自&#xff1a;DataFunTalk 进NLP群—>加入NLP交流群 导读今天讨论的是面向结构化数据的文本生成技术研究&#xff0c;这是现在AIGC特别火的场景之一。这种技术不同于传统的文本生成&#xff0c;它的输入是一种比较特殊的结构&#xff0c;比如几百条不同的三元组或者很多种…