heartbeat安装配置手册
- 格式:docx
- 大小:18.24 KB
- 文档页数:3
Heartbeat安装与使用Heartbeat安装安装libnet1.下载libnet,我使用的版本是libnet-0.10.112.进入到libnet目录3.将makfiles中的pork.mak拷贝到外层目录4.执行make5.执行make install可能会出现的错误:1.chat/_coniox.h:42:21: 错误:ncurses.h:没有那个文件或目录解决办法:yum install ncurses ncurses-devel安装Cluster-Glue1.下载Reusable-Cluster-Components-glue--glue-1\[1\].0.7.tar.bz22.解压3.进入到该目录4../autogen.sh5../configure6.make7.make install可能会出现的错误:1.You must have autoconf installed to compile the cluster-glue package解决办法:说明机器上面没有相应的环境yum install autoconf automake autoheader aclocal2.You must have libtool installed to compile the cluster-glue package解决办法:说明机器上面没有相应的环境yum install libtool3../autogen.sh时出现libtoolize: `COPYING.LIB' not found in `/usr/share/libtool/libltdl'解决办法:yum install libtool-ltdl-devel4../configure时出现configure: error: libxml2 config not found解决办法:yum install libxml2 libxml2-devel5../configure时出现configure: error: BZ2 libraries not found解决办法:yum -y install bzip2-devel glib2-devel6.make时出现lib/pils/.libs/libpils.so -lbz2 -lxml2 -lc -lrt -ldl -lglib-2.0 -lltdl./.libs/libplumb.so: undefined reference to `uuid_parse'./.libs/libplumb.so: undefined reference to `uuid_generate'./.libs/libplumb.so: undefined reference to `uuid_copy'./.libs/libplumb.so: undefined reference to `uuid_is_null'./.libs/libplumb.so: undefined reference to `uuid_unparse'./.libs/libplumb.so: undefined reference to `uuid_clear'./.libs/libplumb.so: undefined reference to `uuid_compare'collect2: ld returned 1 exit statusgmake[2]: *** [ipctest] Error 1解决办法:yum install e2fsprogs-devel libuuid-devel7.make时出现error : Operation in progresswarning: failed to load external entity"/release/xsl/current/html/formal.xsl"compilation error: file /release/xsl/current/html/docbook.xsl line 46 element includexsl:include : unable to load /release/xsl/current/html/formal.xsl/release/xsl/current/html/table.xsl:1: parser error : Document isempty/release/xsl/current/html/table.xsl:1: parser error : Start tag expected, '<' not foundcompilation error: file /release/xsl/current/html/docbook.xsl line 47 element includexsl:include : unable to load /release/xsl/current/html/table.xsl解决办法:一些文档需要到互联网上去下,目前为止make过程中除了doc没有安装外,其他的都已经成功安装了,所以该问题可以忽略。
Heartbeat原理及部署 ⼀,Heartbeat简介 ⼆,安装Heartbeat 环境查看 服务器规划IP⽤途主机名192.168.1.101主服务器hdp3192.168.1.102备服务器hdp4 初始配置 禁⽤防⽕墙systemctl disable firewalld 关闭senlinux 设置主机名并设置hosts⽂件 两台主机名不⼀样,hosts⽂件⼀样 # cat /etc/hosts192.168.1.101 hdp3192.168.1.102 hdp4 安装依赖包yum -y install glib2-devel libtool-ltdl-devl net-snmp-devel bzip2-devel ncurses-devel openssl-devel libtool libxml2 libxml2-devel gettext bison flex zlib-devel mailx which libxslt docbook-dtds docbook-style-xsl PyXML shadow-utils opensp autoconf 下载安装包Heartbeat 3.0.6:/heartbeat-STABLE_3_0/archive/958e11be8686.tar.bz2Cluster Glue 1.0.12:/glue/archive/0a7add1d9996.tar.bz2Resource Agents 3.9.6:https:///ClusterLabs/resource-agents/archive/v3.9.6.tar.gz 添加 haclient 组和 hacluster 账户,这个⽤户主要⽤来配置respawn的。
groupadd haclientuseradd -g haclient -M -s /sbin/nologin hacluster 安装Cluster Glue 1.0.12tar -xf 0a7add1d9996.tar.bz2cd Reusable-Cluster-Components-glue--0a7add1d9996/./autogen.sh./configure --prefix=/usr/local/heartbeat LIBS='/lib64/libuuid.so.1'make && make install 安装Resource Agentstar -xf v3.9.6.tar.gzcd resource-agents-3.9.6/./autogen.sh./configure --prefix=/usr/local/heartbeatmake && make install 安装heartbeat-3-0-6tar -xf 958e11be8686.tar.bz2cd Heartbeat-3-0-958e11be8686/#设置,否则安装会报错export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"#删除配置⽂件的最后⼀⾏sed -i '/^#define HA_HBCONF_DIR /d' /usr/local/heartbeat/include/heartbeat/glue_config.h./bootstrap./configure --prefix=/usr/local/heartbeat LIBS='/lib64/libuuid.so.1'make && make install 拷贝配置⽂件cd /usr/local/heartbeat/share/doc/heartbeatcp authkeys ha.cf haresources /usr/local/ heartbeat/etc/ha.d/ 设置配置⽂件权限及软连接cd /usr/local/heartbeat/etc/ha.dchmod 600 authkeysln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/ 编辑配置⽂件 192.168.1.101上的ha.cf⽂件内容如下# cat /usr/local/heartbeat/etc/ha.d/ha.cf# 保存调试信息⽂件debugfile /var/log/ha-debug# ⽇志⽂件logfile /var/log/ha-log# 表⽰使⽤系统⽇志logfacility local0# ⼼跳的时间间隔,单位秒keepalive 1# 超出该时间间隔未收到对⽅节点的⼼跳,则判定对⽅死亡deadtime 30# 超出该时间间隔未收到对⽅节点的⼼跳,则发出警告记录到⽇志中warntime 10# 在某系统上,系统启动或重启之后需要经过⼀段时间⽹络才能正常⼯作,该选项⽤于解决这种情况产⽣的时间间隔,取值⾄少为deadtime的2倍initdead 120# 设置⼴播通信使⽤的端⼝,694为默认使⽤的端⼝号udpport 694# 传播⼼跳的⼴播播⽹卡信息bcast eth0# 设置对⽅机器⼼跳检测的IP# 第⼆列为⽹卡名第三列为⼼跳IP,⽣产中⼼跳需要与数据⽹络分开ucast eth0 192.168.1.102# 在该选项设为on的情况下,⼀旦主节点恢复运⾏,则⾃动获取资源并取代从节点auto_failback off# 配置主从的节点信息node hdp3node hdp4# 如果ping不通该地址,就认为当前断⽹,需要转移vipping 192.168.1.9# 指定与heartbeat⼀同启动和关闭的进程,该进程被⾃动监视,遇到故障则重新启动。
Heartbeat安装与配置分类:Linux之Ubuntu2014-05-08 17:18 1060人阅读评论(0) 收藏举报Heartbeat主备MYSQL1、环境描述服务器A(主) 192.85.1.175服务器B(从) 192.85.1.176Mysql版本:5.1.61系统版本:System OS:centos 5.82.安装heartbeat1)安装heartbeat1.yum -y install heartbeat2)配置说明heartbeat的安装目录为/etc/ha.d目录下,安装完成后,需要三个配置文件,为ha.cf,haresources,authkeys。
此时目录下没有这三个文件,需要创建,我们可以在/usr/share/doc/heartbeat目录里找到ha.cf、haresources、authkeys三个文件,只需将其拷贝到/etc/ha.d目录下,即可*.gz文件,使用gunzip 命令解压3.175服务器配置信息:(1)etc/hosts 文件内容:[html]view plaincopy1.192.85.1.175 primary # Added by NetworkManager(2)ha.cf 文件内容:(主配置文件)[html]view plaincopy1.#2.# There are lots of options in this file. All you have to have is a set3.# of nodes listed {"node ...} one of {serial, bcast, mcast, or ucast},4.# and a value for "auto_failback".5.#6.# ATTENTION: As the configuration file is read line by line,7.# THE ORDER OF DIRECTIVE MATTERS!8.#9.# In particular, make sure that the udpport, serial baud rate10.# etc. are set before the heartbeat media are defined!11.# debug and log file directives go into effect when they12.# are encountered.13.#14.# All will be fine if you keep them ordered as in this example.15.#16.#17.# Note on logging:18.# If all of debugfile, logfile and logfacility are not defined,19.# logging is the same as use_logd yes. In other case, they are20.# respectively effective. if detering the logging to syslog,21.# logfacility must be "none".22.#23.# File to write debug messages to24.debugfile /var/log/ha-debug #调试日志文件25.#26.#27.# File to write other messages to28.#29.logfile /var/log/ha-log #系统运行日志文件30.#31.#32.# Facility to use for syslog()/logger33.#34.logfacility local0 # 日志记录等级35.#36.#37.# A note on specifying "how long" times below...38.#39.# The default time unit is seconds40.# 10 means ten seconds41.#42.# You can also specify them in milliseconds43.# 1500ms means 1.5 seconds44.#45.#46.# keepalive: how long between heartbeats?47.#48.keepalive 2 #心跳频率,2表示2秒;200ms则表示200毫秒49.#50.# deadtime: how long-to-declare-host-dead?51.#52.# If you set this too low you will get the problematic53.# split-brain (or cluster partition) problem.54.# See the FAQ for how to use warntime to tune deadtime.55.#56.deadtime 30 #节点死亡时间,就是过了10秒后还没有收到心跳就认为主节点死亡57.#58.# warntime: how long before issuing "late heartbeat" warning?59.# See the FAQ for how to use warntime to tune deadtime.60.#61.warntime 10 #告警时间62.#63.#64.# Very first dead time (initdead)65.#66.# On some machines/OSes, etc. the network takes a while to come up67.# and start working right after you've been rebooted. As a result68.# we have a separate dead time for when things first come up.69.# It should be at least twice the normal dead time.70.#71.initdead 120 #初始化时间72.#73.#74.# What UDP port to use for bcast/ucast communication?75.#76.udpport 694 #心跳信息传递的udp端口77.78.#79.# What interfaces to broadcast heartbeats over?80.#81.bcast eth0 # Linux #采用udp广播播来通知心跳,建议在备用节点不只一台时使用82.#bcast eth1 eth2 # Linux83.#bcast le0 # Solaris84.#bcast le1 le2 # Solaris85.#86.# Set up a multicast heartbeat medium87.# mcast [dev] [mcast group] [port] [ttl] [loop]88.#89.# [dev] device to send/rcv heartbeats on90.# [mcast group] multicast group to join (class D multicast address91.# 224.0.0.0 - 239.255.255.255)92.# [port] udp port to sendto/rcvfrom (set this value to the93.# same value as "udpport" above)94.# [ttl] the ttl value for outbound heartbeats. this effects95.# how far the multicast packet will propagate. (0-255)96.# Must be greater than zero.97.# [loop] toggles loopback for outbound multicast heartbeats.98.# if enabled, an outbound packet will be looped back and99.# received by the interface it was sent on. (0 or 1)100.# Set this value to zero.101.#102.#103.#bcast eth0 225.0.0.1 694 1 0104.#105.# Set up a unicast / udp heartbeat medium106.# ucast [dev] [peer-ip-addr]107.#108.# [dev] device to send/rcv heartbeats on109.# [peer-ip-addr] IP address of peer to send packets to110.#111.ucast eth0 192.85.1.175112.113.auto_failback on #如果主节点重新恢复过来,主节点将主动将资源抢占过来,如果为off,则只当备用节点当掉后,主节点才取回资源114.115.watchdog /dev/watchdog #看门狗。
/thread-3689681-1-1.html我们下面来实现一个架构,heartbeat+drbd+nfs实现mysql和网站数据的同步,keepalived 实现nginx的高可用,而用nginx和dns轮询实现负载均衡。
架构说明目录规划/usr/local/src/lnmp:用来存放源码工具等等/data:用来存放所有数据和NFS以及DRBD的挂载/data/shell:用来存放所有管理脚本/data/mysql:用来挂载DRBD的mysql资源,以供mysql存放数据库/data/wwwnfs:用来挂载DRBD生成的www资源,以供两个节点挂载到各个节点的/data/www 目录,以供论坛等程序数据使用/data/www:用来挂载NFS资源,用来存放论坛(网站)等程序数据拓扑工作原理内网:1,DRBD网络存储创建出两个资源,一个mysql给mysql数据库同步用,一个www给web(论坛)数据NFS共享挂载用,虚拟出两个虚拟IP,一个是 192.168.1.100,用来连接数据库,一个是192.168.1.200,用来给节点挂载NFS注意:NFS底下挂载了三次:DRBD挂载一次,文件系统挂载一次,客户端挂载一次2,Heartbeat来实现DRBD的HA,同时虚拟出两个内网IP,并管理NFS,MySQL的启动和关闭外网:1,两个节点都用Nginx做均衡器,通过内网调度负载两个节点,实现内部均衡2,DNS配置双IP对应一个域名的方式来实现DNS轮询,实现外网均衡3,Keepalived使用双主(master)配置虚拟出两个虚拟IP:节点一 12.12.12.100和节点二12.12.12.200,同时共外网访问,两个节点互为主从关系,当某个节点挂掉的时候,另外一个节点将同时是两个资源的master,同时拥有两个虚拟IP,实现资源转移。
我们知道DNS的缺点就是生效慢,分配资源不合理,理论上有可能把所有的请求都发送给同一节点,导致均衡不合理导致所有资源不可用,这里我们由于有了NGINX内部负载,就不怕DNS轮询不均衡了,因为NGINX内部有严谨的调度方式,不管那台请求有多少,在内部都能实现理想的调度,这样就能把 DNS负载均衡和NGINX完美结合,是硬件资源得到合理的利用,然后利用keepalive保证了每个节点的可靠性,几乎完美!拓扑图如下:架构实现LNMP架构配置配置LNMp架构需要注意两点:注意一:这里MYSQL都不要初始化,不要启动!后面有专门的配置的注意二:nginx所有端口都改成 8080,因为一会还要安装nginx来做均衡器并对外提供服务,所以不要用默认的80注意三、nginx和php-fpm运行的用户都是www。
安装并配置vCenter 5.0一.准备域环境1.安装Windows Server 2008 R2 插入光盘选择企业版下一步选择“高级”,再选择需要安装的磁盘开始安装安装期间服务器会自动重启首次登陆需要修改密码安装vmware tools(vmware虚拟化环境),选择典型安装安装完毕后重启服务器配置网络激活服务器(联系网络班组开通访问微软的权限)2.安装dc服务使用dcpromo命令一步步安装域控,并添加dns服务注意DNS必须增加反解(vmware所有机器需要解析到正确的FQDN)二.准备数据库环境1.安装或利旧oracle数据库(UTF-8)2.建vpxadmin schema使用系统帐户登录SQL*Plus 会话。
运行脚本,位于vCenter Server 安装软件包的/<installationdirectory>/vpx/dbschema/DB_and_schema_creation_scripts_oracle.txt 文件中。
CREATE TABLESPACE "VPX" DATAFILE 'C:\Oracle\ORADATA\VPX\VPX.dbf' SIZE2048M AUTOEXTEND ON NEXT 16M;对于其他系统安装,更改vpx.dbf 文件的目录路径。
创建一个用户,如vpxAdmin,用于通过ODBC 访问表空间。
CREATE USER vpxadmin IDENTIFIED BY vpxadmin DEFAULT TABLESPACE vpx;可以向该用户授予dba 权限,或者向其授予下列权限。
grant connect to <user>grant resource to <user>grant create view to <user>grant create sequence to <user>grant create table to <user>grant create materialized view to <user>grant execute on dbms_lock to <user>grant execute on dbms_job to <user>grant unlimited tablespace to <user>三.安装及配置vCenter服务器1.安装oracle客户端如果是Windows 2008 Server 服务器,请先修改安装目录内的refhost.xml文件:增加<OPERATING_SYSTEM><VERSION VALUE=”6.1”></OPERATING_SYSTEM>运行setup选择InstantClient编辑位于C:\Oracle\Oraxx\NETWORK\ADMIN 目录下的tnsnames.ora 文件VPX =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521)))(CONNECT_DATA =(SERVICE_NAME = VPX)))2.创建系统DSN开始—管理工具—数据源(ODBC)创建系统DSN3.安装vcenter server插入光盘选择安装vcenter server注意的是选择数据库时请选择刚才建立的oracle数据库使用端口情况(主用)接着配置JVM内存配置,以及极大规模情况下配置安装后注意:对于Oracle Instant 客户端,检查vCenter Server tomcat 目录(<vCenterinstalllocation>\Infrastructure\tomcat\lib)是否存在ojdbc5.jar(不同的oracle版本可能是ojdbc14.jar)如果不存在,从<Install location>\app\Administrator\product\11.1.0\<instance_name>\sqldeveloper\jdbc\lib 下复制4.安装web client server端口配置:安装完成自动打开管理界面网页https://localhost:9443/admin-app/访问此页面需要Adobe Flash Player 10.1以上打开后,首先注册vcenter server四.配置链接模式1.安装oracle客户端2.安装vc模式(以链接模式安装)确保能解析到主用fqdn。
heartbeat使用手册heartbeat使用手册1. 简介Heartbeat是一种开源工具,用来监控和管理分布式系统中的服务可用性和故障恢复。
本文档将详细介绍heartbeat的安装、配置和使用方法。
2. 安装2.1 系统要求- 操作系统:支持Linux、Unix和Windows等常见操作系统。
- 硬件要求:具备足够的计算资源和存储空间。
2.2 和安装- 访问Heartbeat的官方网站,最新版本的安装包。
- 解压安装包并执行安装脚本,按照提示完成安装过程。
3. 配置3.1 配置文件- 在Heartbeat安装目录下找到配置文件heartbeat.cfg。
- 使用编辑器打开文件,根据需求进行配置,包括节点信息、监控项等。
3.2 节点配置- 在配置文件中添加监控节点信息,包括节点名称、IP地址、端口号等。
- 根据需求,可以配置多个节点,以实现高可用和负载均衡。
3.3 监控项配置- 在配置文件中定义要监控的服务和资源,包括各个节点上的服务类型、端口号等。
- 根据需求,可以添加、修改或删除监控项。
4. 使用4.1 启动Heartbeat服务- 执行启动命令,启动Heartbeat服务。
- 根据需要,可以指定配置文件路径和日志文件路径等参数。
4.2 监控和管理服务- 在Web界面或命令行界面上查看和管理节点状态和服务健康状况。
- 根据警报信息,可以及时采取措施进行故障恢复或调整配置。
5. 附件本文档附带以下附件,供参考和进一步了解:- heartbeat.cfg 示例配置文件- 快速入门指南- 故障恢复示例6. 法律名词及注释- Heartbeat: Heartbeat是一个开源的工具,用来监控和管理分布式系统中的服务可用性和故障恢复。
- 节点: 在heartbeat中,节点代表参与集群的机器或实例。
- 监控项: 监控项是需要被Heartbeat监控的服务或资源。
- 高可用: 高可用是指在系统发生故障时,仍能保持服务可用性的能力。
Heartbeat 的基本配置与测试一:H e a r t b e a t简介Heartbeat 项目是Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。
心跳服务和集群通信是高可用集群的两个关键组件,在Heartbeat 项目里,由heartbeat 模块实现了这两个功能。
高可用集群是指一组通过硬件和软件连接起来的独立计算机,它们在用户面前表现为一个单一系统,在这样的一组计算机系统内部的一个或者多个节点停止工作,服务会从故障节点切换到正常工作的节点上运行,不会引起服务中断。
从这个定义可以看出,集群必须检测节点和服务何时失效,何时恢复为可用。
这个任务通常由一组被称为“心跳”的代码完成。
在Linux-HA里这个功能由一个叫做heartbeat的程序完成。
Heartbeat的配置文件位于/etc/ha.d/目录下,共有三个配置文件ha.cf、haresources、authkeys,这三个文件中包含了heartbeat的所有配置信息。
Heartbeat工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分。
把服务监测进程运行在负载均衡器上,用来定期检查服务器是否可用。
如果在指定的时间内没有响应服务接入请求,监测服务就会认为服务器是不可用,这是就会把工作切换到其他可用的机器上,以便继续提供服务。
当检测到主机恢复了,就把服务切换到原来的主机上。
二:安装H e a r t b e a t方德高可信自带有heartbeat-2.99.2-9.1版本,需要将ha.cf、haresourcesauthkeys三个配置文件从/usr/share/doc/packages/heartbeat/目录复制到/etc/ha.d/下三:H e a r t b e a t配置文件3.1 ha.cf 配置文件ha.cf文件是heartbeat的主要配置文件,主要是定义一些heartbeat守护进程运行时需要的参数,这些参数决定heartbeat运行方式# 用于记录heartbeat的调试信息debugfile /var/log/ha-debug# 用于记录heartbeat的日志信息logfile /var/log/ha-log# 如果未定义上述的日志文件,那么日志信息将送往logfacility local0# 发送心跳报文的间隔,默认单位为秒keepalive 2# 用于配置认为对方节点down掉的间隔deadtime 10# 发出最后的心跳警告信息的间隔warntime 30# 网络启动的时间initdead 120# 广播/单播通讯使用的udp端口udpport 694#Linux 心跳所使用的网络接口bcast eth0 # Linux# 用于决定,当拥有该资源的属主恢复之后,资源是否变迁:是迁移到属主上,还是在当前节点上继续运行,直到当前节点出现故障。
Linux平台Apache双机高可用集群+ Tomcat负载均衡集群配置手册在这个配置手册中,使用的操作系统和软件清单如下:操作系统:RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装)软件:jdk-1_5_0_15-linux-amd64.binTomcat5.5.26httpd-2.0.63.tar.gzjakarta-tomcat-connectors-jk2-src-current.tar.gzipvsadm-1.24.tar.gzlibnet.tar.gzheartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。
本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。
jdk-1_5_0_15-linux-amd64.binJAVA环境包使用的是64位1.5版Tomcat版本为公司指定的5.5版本Apache为2.0.63版jakarta-tomcat-connectors-jk2-src-current.tar.gz是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载ipvsadm-1.24.tar.gzlibnet.tar.gz这两个是用于2台Apache服务器虚拟一个IP地址使用heartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm这3个软件是用于2台Apache服务器之间的心跳检测结构图Apache1以以以以以Tomcat1Tomcat2Apache22台Tomcat服务器使用Tomcat软件可以自己做集群,2台Apache服务器需要其他的软件实现虚拟服务器功能,工作站访问虚拟IP地址访问2台Apache服务器,再通过Apache服务器访问Tomcat服务器第3 页总13 页1.安装JAVA环境包1)输入命令:./ jdk-1_5_0_15-linux-amd64.bin执行完毕后,会在当前目录下生成一个JDK-1.5.0_15的文件夹2)在 /usr/local/下新建一个名字为JAVA文件夹,将个JDK-1.5.0_15的文件夹拷入到该文件夹下3)设置环境变量。
Nginx+keepalived+heartbeat双机热备份配置手册正文目录1 双机热备简介 (3)2 双机热备安装与配置 (4)2.1 安装环境和软件版本说明 (4)2.2 系统安装 (4)2.3 JDK环境安装配置 (4)2.4 MYSQL安装配置 (6)2.4.1 基本安装配置 (6)2.4.2 数据库双机互备 (7)2.5 反向代理服务器NGINX的安装配置 (9)2.6 KEEPALIVED安装配置 (13)2.7 HEARTBEAT的安装配置 (15)2.8 APACHE-TOMCAT安装配置 (18)3 CENTOS下安装配置的改动 (20)3.1 NGINX (20)3.2 KEEPALIVED (23)3.3 HEARTBEAT (26)3.4 添加SHELL脚本 (29)1 双机热备简介双机热备及负载均衡配置图如下所示2 双机热备安装与配置2.1 安装环境和软件版本说明系统:Linux Ubuntu 10.10JDK环境:jdk-6u31-linux-i586方向代理服务器Nginx:nginx-0.7.67探测服务器状态软件Keepalived:keepalived-1.1.17Web服务器:Apache-tomcat:apache-tomcat-6.0.35数据库MySQL:mysql-5.1.612.2 系统安装2.3 JDK环境安装配置1 、安装jdk 程序最新版本jdk: jdk-6u31-linux-i586.bin进入usr 目录: cd /usr在当前目录创建目录java : mkdir java将jdk 安装文件复制到java 目录下:cp /usr/software/ jdk-6u31-linux-i586.bin /usr/java给安装程序赋予权限:chmod +x jdk-6u31-linux-i586.bin 执行安装命令:./ jdk-6u31-linux-i586.bin安装成功后,在java 目录下会出现jdk1.6.0_31 的目录。
HeartBeat简单介绍和基本作用:HeartBeat的作用:通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用的服务。
在实际的生产应用场景中,heartbeat的功能和另一个高可用的开源软件keepalived有很多的相同之处,在我们实际的生产业务中也是有区别的。
HeartBeat的工作原理:通过修改Heartbeat的软件的配置文件,可以制定那一台Heartbeat服务器作为主服务器,则另一台将自动成为热备服务器。
然后在热备服务器上配置Heartbeat守护程序来监听来自主服务器的心跳消息。
如果热备服务器在指定时间内为监听到来自主服务器的心跳,就会启动故障转义程序,并取得主服务器上的相关资源服务的所有权,接替主服务器继续不间断的提供服务,从而达到资源以及服务高可用的目的。
以上的描述heartbeat的主备模式,heartbeat还支持主主模式,即两台服务器互为主备,这是他们之间还会互相发送报文来告诉对方自己的当前的状态,如果在指定的时间内未收到对方发送的心跳报文,那么,一方就会认为对方失效或者是已经宕机了,这时每个运行正常的主机就会启动自身的资源接管模块来接管运行在对方主机上的资源或者是服务,继续为用户提供服务。
一般情况下,可以较好的实现一台主机故障后,企业业务能够不间断的持续的提供服务。
注意:所谓的业务不间断,在故障转移期间也是需要切换时间的,heartbeat的切换时间是5-20秒。
切换的常见条件:1)服务器宕机2)Heartbeat服务本故障3)中间的连接线路故障应用服务故障则不会产生切换,可以通过服务宕机把heartbeat 服务停掉。
heartbeat的心跳连接:讲过上面的描述,要部署heartbeat服务,至少需要两台主机才能完成。
那么,要实现高可用服务,这两台主机之间,是如何做到互相通信互相监控的呢/下面是两台heartbeat主机之间通信的一些常用的可行的方法:1)串行电缆,即所谓的串口(首选,缺点是距离不能太远)2)一根以太网电缆量网口直连(生产环境中常用的方式)3)以太网电缆,通过交换机等网络设备连接(次选,原因是增加了故障点,不好排查故障,同时,线路不是专用的心跳线,容易受其他数据传输的影响,导致心跳报文发送问题)Heartbeat裂脑:什么是裂脑?由于两台高可用服务器之间在指定的时间内,无法互相检测到对方心跳而各自启动故障转移功能,取得了资源以及服务的所有权,而此时的两台高可用服务器对都还活着并作正常运行,这样就会导致同一个IP湖综合服务在两端同时启动而发生冲突的严重问题,最严重的就是两台主机同时占用一个VIP的地址,当用户写入数据的时候可能会分别写入到两端,这样可能会导致服务器两端的数据不一致或造成数据的丢失,这种情况就本成为裂脑,也有的人称之为分区集群或者大脑垂直分隔导致裂脑发生的原因:一般来说,裂脑的发生,主要是由以下的几个原因导致的:1)高可用服务器对之间心跳线路故障,导致无法正常的通信。
Suse Linux 11 双机集群配置文档一安装前准备1.两台装有suse 11 sp1操作系统的服务器,每台服务器有两块网卡。
2.Suse 11 sp1系统安装碟或者ISO文件。
3.suse 11 sp1 HA 安装碟或者iso文件SLE-11-SP1-HA-x86_64-GM-Media1.iso二安装Heartbeat通过yast2工具添加heartbeat,选择软件—附加产品如图1:图1附加产品安装添加HA应用url勾选“高可用性”安装三Heartbeat配置下面以浙江移动流量服务器双机热备为例,讲述heartbeat的配置。
1. 网卡设置主服务器:bond0 10.70.238.157/26 bond0:0 10.7.8.1备服务器:bond0 10.70.238.158/26 bond0:0 10.7.8.2浮动IP:10.70.238.159/26(之后将对其进行配置)因浙江移动要求主机双线路,所以服务器上两网卡做了bond,两台服务器的bond0:0口用直通线连接作为心跳线2.主机系统配置(1) 在两台服务器上修改/etc/hosts文件,修改内容如下:10.70.238.157 pc-zjdamglk01.site pc-zjdamglk0110.70.238.158 pc-zjdamglk02.site pc-zjdamglk0210.7.8.1 pc-zjdamglk01.site pc-zjdamglk0110.7.8.2 pc-zjdamglk02.site pc-zjdamglk023. 开启同步服务在主服务器上开启同步服务,配置如下:1、启动YaST 并选择杂项> 群集或在命令行中运行yast2 cluster 启动初始群集配置对话框。
2、在通讯通道类别中,配置用于群集节点间通讯的通道。
此信息会写入/etc/ais/openais.conf 配置文件。
通信通道用10.7.8.0网段,组播地址,端口不变。
1.部署方案参考如上图所示,中间件平台主要包括两大部分:●负载分发层⏹包括两台服务器,通过Heartbeat实现HA,提供浮动IP给客户端,保证了系统不存在单点故障问题⏹负载分发软件采用IBM HTTP Server实现⏹通过IBM HTTP Server配置虚拟主机,实现对不同应用的请求进行分发到不同的后台WAS中间件集群。
●WAS中间件集群⏹包括两台4CPU(每CPU 4Core)服务,每个服务器上通过水平扩展可以启动多个WAS服务器。
⏹基于应用部署要求,为每个应用建立一个集群,逻辑上实现应用之间的隔离。
⏹每个集群可以根据应用的负载,动态分配WAS服务器实例数。
如HR应用访问量较大则分配4个WAS实例。
⏹但最小要保证一个集群至少包括2个WAS实现,并且这两个实例分别在不同的物理服务器上,这样才能保证不出现单点故障。
⏹部署管理器,部署在WAS Server1上。
2.WebSphere 7安装及配置此安装配置说明仅供参考,还需要根据现场实现情况进行调整。
2.1.WAS安装一、四台服务器拓朴结构四台机器IP地址,名称与安装内容其中DM控制台管理用户admin,口令两个web服务器的管理用户也是admin,口令二、安装后验收可打开应用服务器主机的控制管理台,管理用户admin,口令******服务器->集群下建有应用集群服务器->应用服务器下建有两个WEB服务节点共有五个,分别是一个控制节点(一个dmgr节点),两个受控节点(两个app节点),两个非受控节点(两个web节点)集群下各受控节点已同步,并启动服务;两个WEB服务已生成插件、传播插件并启动。
在DMGR控制管理台可直接控制两个WEB的启动与停止。
三、安装前系统检查✓群集安装时,确认所有机子的日期要一致✓确认磁盘空间足够两个应用服务器的安装文件放在/was_install两个WEB服务器的安装文件放在/http_install安装目录都是安装于默认的/opt目录下两个应用服务器安装后生成目录/opt/IBM/WebServer/AppServer两个WEB服务器安装后生成目录/opt/IBM/HTTPServer两个WEB服务器的目录/opt/IBM/HTTPServer/plugins放有插件✓确认管理域之内的所有的机器主机名和ip地址相互能够ping通在安装前,要确保四台机的/etc/hosts文件里面增加四台机的ip与主机名,修改如下**.**.**.1 app1**.**.**.2 app2**.**.**.3 web1**.**.**.4 web2(对于初次安装系统后的主机,因为没有在HOSTS文件中增加此类记录,会导致安装失败,现象是安装后生成的profiles不完整,并且startManager.sh执行失败,启动不了管理服务。
heartbeat安装说明1.1.服务器配置说明在这里使用的是两台完全一样的HP服务器,每台都有3块网卡、在linux下分别是eth0、在这里两台服务器的eth1用于心跳直连、采用的是直连线直连。
也可以采用串口方式。
1.2.安装(1)安装libnet,这是编译Heartbeat HA需要的:tar xzvf libnet.tar.gzcd libnetls./configuremakemake install(2)编译安装Heartbeat HAgroupadd haclientuseradd hacluster -g haclienttar xzvf heartbeat-2.0.3.tar.gzlscd heartbeat-2.0.3ls./ConfigureMe configuremakemake install1.3.配置服务配置在这里要配置四个文件,分别是authkeys、ha.cf、haresources、hosts下面针对这几个文件分别说明。
注:可直接将authkeys、ha.cf、haresources拷到机器上,修改ha.cf里机器对应的机器名和心跳地址,修改haresources里机器对应的虚拟地址即可用,并修改hosts文件即可用。
1.3.1.authkeys在这里使用的是CRC认证方式。
灰色背景部分是配置的内容。
auth 22 crc除此之外,还可以使用md5和sha1认让方式。
两个文件在这里配置是完全一样的。
文件所在:/etc/ha.d/authkeys补充:linuxer_jlu:注释说得很清楚,在这里我还是解释一下,该文件主要是用于集群中两个节点的认证,采用的算法和密钥(如果有的话)在集群中节点上必须相同,目前提供了3种算法:md5,sha1和crc。
其中crc不能够提供认证,它只能够用于校验数据包是否损坏,而sha1,md5需要一个密钥来进行认证,从资源消耗的角度来讲,md5消耗的比较多,sha1次之,因此建议一般使用sha1算法。
HEARTBEAT安装与配置一. 安装前环境设定硬件环境:IBM X3650(两台)软件环境:Cent OS 4.5 heartbeat 2.1.2环境描述:每个服务器分别带有两块以太网卡,(其中一块用于网络通讯,另一块用于心跳功能)。
两个节点的网络设置如下:节点1:主机名为netcomm1,第一块网卡(eth0)的IP地址:10.1.2.20(用于网络通讯) 。
第二块网卡(eth1)的IP地址:10.0.0.1 (用于心跳通讯) 。
节点2:主机名为netcomm2,第一块网卡(eth0)的IP地址:10.1.2.5 (用于网络通讯) 。
第二块网卡(eth1)的IP地址:10.0.0.2 (用于心跳通讯) 。
两台服务器之间用一条串口线连接,作为备用的心跳通讯。
二.安装前网络环境设定node1: 主机名:netcomm1 ( ha1 )eth0: 10.1.2.20//对外IP地址eth1: 10.0.0.1//HA心跳使用地址node2: 主机名:netcomm2 ( ha2 )eth0: 10.1.2.5//对外IP地址eth1: 10.0.0.2//HA心跳使用地址特别注意要检查以下几个文件:/etc/hosts/etc/host.conf/etc/resolv.conf/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1/etc/nsswitch.conf#nano /etc/hostsnetcomm1的hosts内容如下:127.0.0.1 localhost.localdomain localhost10.1.2.20 netcomm1 ha110.0.0.1 ha110.0.0.2 ha210.1.2.5 netcomm2netcomm2的hosts内容如下:127.0.0.1 localhost.localdomain localhost10.1.2.5 netcomm2 ha210.0.0.2 ha210.0.0.1 ha110.1.2.20 netcomm1#nano /etc/host.conforder hosts,bind#nano /etc/resolv.confnameserver X.X.X.X //DNS地址(可以忽略)#nano /etc/sysconfig/networkNETWORKING=yesHOSTNAME=netcomm1 //主机名GA TEWAY=10.1.2.41 //网关GA TEWAY=eth0 //网关使用网卡ONBOOT=YES //启动时加载FORWARD_IPV4=yes //只允许IPV4#nano /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=10.1.2.20NETMASK=255.255.255.0GA TEWAY=10.1.2.41TYPE=EthernetIPV6INIT=no#cat /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1ONBOOT=yesBOOTPROTO=noneIPADDR=10.0.0.1NETMASK=255.255.255.0TYPE=Ethernet[netcomm1] 与[netcomm2] 在上面的配置中,除了/etc/hosts/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1要各自修改外,其他一致。
HP-UX MC安装详细参考手册目录一、配置MC的基本过程 (5)二、关于本文 (6)编写本文的目的 (6)规则定义及说明 (6)三、安装软件 (7)四、准备系统 (7)建立主机信任关系 (7)启动时间同步进程 (7)五、网卡准备 (7)六、准备磁盘 (7)创建逻辑卷(LV)结构 (7)创建root盘的镜像 (7)创建卷组(VG)和逻辑卷(LV) (8)修改卷组属性 (9)在另一台主机上设置VG (9)创建其他卷组结构 (10)所有卷组创建完成后 (10)最后步骤 (11)七、配置CLUSTER (11)生成CLUSTER配置文件模板 (11)编辑CLUSTER配置文件模板 (11)检查CLUSTER配置的正确性 (12)设置自动启动参数 (12)八、配置PACKAGE和SERVICES (13)建立配置文件模板 (13)编辑配置文件模板 (13)建立控制脚本的模板 (14)控制脚本模式设置 (14)编辑控制脚本 (14)检查并分发配置文件 (14)九、管理CLUSTER和PACKAGE (15)管理C LUSTER和节点 (15)启动Cluster (15)在已运行的Cluster中增加一个节点运行 (15)在已运行的Cluster中停止一个节点运行 (15)停止整个Cluster (15)对Cluster进行重新配置 (15)管理P ACKAGE和S ERVICE (16)启动Package (16)停止Package,不切换 (16)移动Package (16)对Package进行重新配置 (16)查看运行情况 (16)十、测试CLUSTER配置 (16)测试P ACKAGE M ANAGER (16)测试C LUSTER M ANAGER (16)测试N ETWORK M ANAGER (17)十一、故障诊断方法 (17)附:一些有用的系统命令 (18)查看硬件配置情况 (18)配置LAN (18)扩充HFS文件系统 (18)移动文件系统 (19)文件系统日常维护 (19)删除CORE文件 (19)将磁盘从一个卷组移到另一个卷组 (19)PV-L INK(物理卷链路)配置 (20)手工启动HP-UX (20)进入ISL界面: (20)进入单用户状态 (20)安装软件时检查SWAGENTD是否启动 (20)软件打包到磁带(SWINSTALL格式) (20)杀死指定名字的进程 (20)检测INFORMIX SERVER状态 (20)一、配置MC的基本过程本表仅供参考:二、关于本文编写本文的目的公司的技术人员,根据该模板均能成功安装配置统一风格、符合FR规范的MC高可用系统,通过本文档,系统管理员可对双机的基本概念有一定的了解;可完成双机的安装配置、日常管理、监控等任务。
⼩程序websocket⼼跳库(websocket-heartbeat-miniprogram)前⾔在16年的时候因为项⽬接触到websocket,⽽后对⼼跳重连做了⼀次总结,写了篇博客,⽽后18年对之前github上的demo代码进⾏了再次开发和开源,最终封装成库。
如下:在2020年也就是今年初,同事建议说可以考虑兼容⼀下⼩程序,⼼想也挺好的。
便有了今天的 websocket-heartbeat-miniprogram,这次基于以前的代码新建了⼀个项⽬,只做⼩程序的版本,因为涉及到各种⼩程序以及相关框架的兼容,觉得还是单独出⼀个包,更专注⼀点。
介绍websocket-heartbeat-miniprogram基于⼩程序的websocket相关API进⾏封装,主要⽬的是保障客户端websocket与服务端连接状态。
该程序有⼼跳检测及⾃动重连机制,当⽹络断开或者后端服务问题造成客户端websocket断开,程序会⾃动尝试重新连接直到再次连接成功。
兼容市⾯上⼤部分⼩程序微信,百度,⽀付宝等,只要都是统⼀的⼩程序weboscket-API规范。
也⽀持⼩程序框架⽐如Taro等。
⽆论如何,业务是需要⼀层⼼跳机制的,否则⼀些情况下会丢失连接导致功能⽆法使⽤。
⽤法安装npm install --save websocket-heartbeat-miniprogram引⼊使⽤import WebsocketHeartbeat from 'websocket-heartbeat-miniprogram';WebsocketHeartbeat({miniprogram: wx,connectSocketParams: {url: 'ws://xxx'}}).then(task => {task.onOpen = () => {//钩⼦函数console.log('open');};task.onClose = () => {//钩⼦函数console.log('close');};task.onError = e => {//钩⼦函数console.log('onError:', e);};task.onMessage = data => {//钩⼦函数console.log('onMessage', data);};task.onReconnect = () => {//钩⼦函数console.log('reconnect...');};task.socketTask.onOpen(data => {//原⽣实例注册函数,重连后丢失console.log('socketTask open');});task.socketTask.onMessage(data => {//原⽣实例注册函数,重连后丢失console.log('socketTask data');});})本程序内部总是使⽤⼩程序connectSocket⽅法进⾏socket连接,如果socket断开,本程序内部会再次执⾏⼩程序的connectSocket⽅法,以此来重新建⽴连接,重连都会建⽴新的⼩程序socket实例。
Heartbeat配置安装手册一、实验目的利用heartbeat搭建双服务器热备份高可用群集。
二、实验环境两台linux服务器,双网卡。
server1: eth0:10.0.0.1 (作为心跳线)eth1:192.168.253.129server2:eth0:10.0.0.2(作为心跳线)eth1:192.168.253.130虚拟IP : 192.168.253.200三、修改/etc/hosts文件1、在server1上加入以下内容:10.0.0.1 server110.0.0.2 server22、在server2上加入以下内容:10.0.0.2 server210.0.0.1 server1注:保证uname –n 的返回结果分别为server1与server2。
四、安装heartbeat之前请先安装libnet(两台服务器都安装)#tar -zxvf libnet.tar.gz#cd libnet#./configure#make && make install五、安装heartbeat(两台服务器都安装)1、两个node分别创建heartbeat相关的用户和组#groupadd haclient#useradd -g haclient hacluster2、安装heartbeat#tar -zxvf heartbeat-2.1.3.tar.gz#cd heartbeat-2.1.3#./ConfigureMe configure#make && make install3、复制配置文件#cp doc/ha.cf /etc/ha.d/#cp doc/authkeys /etc/ha.d/#cp doc/haresources /etc/ha.d/4、编辑/etc/ha.d/ha.cf1、server1上面[root@server1 ~]# cat /etc/ha.d/ha.cf | grep -v '#'logfile /var/log/ha-loglogfacility local0keepalive 2deadtime 20warntime 5initdead 120udpport 694ucast eth0 10.0.0.2auto_failback onnode server1node server2ping 192.168.253.254hopfudge 1deadping 302、server2上面[root@server2 ~]# cat /etc/ha.d/ha.cf | grep -v '#'logfile /var/log/ha-loglogfacility local0keepalive 2deadtime 20warntime 5initdead 120udpport 694ucast eth0 10.0.0.1auto_failback onnode server1node server2ping 192.168.253.254hopfudge 1deadping 305、编辑/etc/ha.d/authkeys(两台服务器一样)1、开放以下两项[root@server1 ~]# cat /etc/ha.d/authkeys | grep -v '#'auth 11 crc2、更改authkeys权限#chmod 600 /etc/ha.d/authkeys6、编辑/etc/ha.d/haresources,加入以下内容(两台服务器一样)[root@server1 ~]# cat /etc/ha.d/haresources | grep -v '#'server1 IPaddr::192.168.253.200/24/eth1 mysqld 注:mysqld为mysql的启动脚本(及在/etc/init.d/下的启动脚本)六、启动heartbeat#/etc/init.d/heartbeat start 或者#service heartbeat start 启动两台服务器上的heartbeat。
七、检测实验结果1、在启动heartbeat前,mysql服务处于停止状态[root@server1 ~]# netstat -nltp|grep mysqld[root@server1 ~]#2、启动heartbeat后,server1上面的mysql处于启动状态,而server2上面mysql依然处于停止状态。
[root@server1 ~]# netstat -nltp|grep mysqldtcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 10678/mysqld[root@server1 ~]#3、启动heartbeat后,server1上面执行ip add 后在eth1里面多出一条记录(红色字体标注),而server2上没有。
[root@server1 ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueuelink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:47:fd:82 brd ff:ff:ff:ff:ff:ffinet 10.0.0.1/24 brd 10.0.0.255 scope global eth0inet6 fe80::20c:29ff:fe47:fd82/64 scope linkvalid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:47:fd:8c brd ff:ff:ff:ff:ff:ffinet 192.168.253.129/24 brd 192.168.253.255 scope global eth1inet 192.168.253.200/24 brd 192.168.253.255 scope global secondary eth1:0inet6 fe80::20c:29ff:fe47:fd8c/64 scope linkvalid_lft forever preferred_lft forever4: sit0: <NOARP> mtu 1480 qdisc nooplink/sit 0.0.0.0 brd 0.0.0.04、停止server1的网卡eth0后,在server2上面执行命令查看接管状态,server2的eth1网卡多出一条记录(红色字体)。
[root@server2 ~]# netstat -nltp|grep mysqldtcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 9374/mysqld[root@server2 ~]#[root@server2 ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueuelink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:a7:61:59 brd ff:ff:ff:ff:ff:ffinet 10.0.0.2/24 brd 10.0.0.255 scope global eth0inet6 fe80::20c:29ff:fea7:6159/64 scope linkvalid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:a7:61:63 brd ff:ff:ff:ff:ff:ffinet 192.168.253.130/24 brd 192.168.253.255 scope global eth1inet 192.168.253.200/24 brd 192.168.253.255 scope global secondary eth1:0inet6 fe80::20c:29ff:fea7:6163/64 scope linkvalid_lft forever preferred_lft forever4: sit0: <NOARP> mtu 1480 qdisc nooplink/sit 0.0.0.0 brd 0.0.0.0八、结论经过检测,试验成功。
当server1启动heartbeat时,将自身的mysql服务启动,并虚拟出IP 192.168.253.200对外网提供服务。
当server1挂点后(断开server1的eth0模拟),server2检测不到来自server1的心跳,一段时间内(ha.cf内设定)server2启动mysql服务并接管服务。
当server1恢复正常后,server1又重新接管服务。