首页 文章 精选 留言 我的

精选列表

搜索[模型层引导],共10000篇文章
优秀的个人博客,低调大师

两种底层数据层操作时的架构方式,你喜欢那种?

第一种,效率较高,也是很多开源项目用的方法,使用了贬型 第二种,比较基础,安全性比较高,讲究面向接口的编程,我所以实体对象都继承自统一的接口 #region 数据底层操作架构一 /// <summary> /// 用户实体 /// </summary> public class User { public string UserName { get; set; } public int Age { get; set; } } public class UserRepository : IRepository<User> { #region IRepository<User> Members public User Get(object id) { User user = new User { }; return user; } public IQueryable<User> GetList() { throw new NotImplementedException(); } #endregion } /// <summary> /// 数据操作统一接口,它提供一个贬型作为参数,但要求贬型必须是类 /// </summary> /// <typeparam name="T"></typeparam> public interface IRepository<T> where T : class { /// <summary> /// 获取实体 /// </summary> /// <param name="id">主键</param> /// <returns></returns> T Get(object id); /// <summary> /// 得到列表 /// </summary> /// <returns></returns> IQueryable<T> GetList(); } #endregion #region 数据底层操作架构二 class User2 : IDataEntity { public string UserName { get; set; } public int Age { get; set; } } /// <summary> /// 数据实体统一接口 /// </summary> public interface IDataEntity { } /// <summary> /// 数据操作统一接口 /// </summary> public interface IRepository2 { /// <summary> /// 获取实体 /// </summary> /// <param name="id">主键</param> /// <returns></returns> IDataEntity Get(object id); /// <summary> /// 得到列表 /// </summary> /// <returns></returns> IQueryable<IDataEntity> GetList(); } public class User2Repository : IRepository2 { #region IRepository2 Members public IDataEntity Get(object id) { throw new NotImplementedException(); } public IQueryable<IDataEntity> GetList() { throw new NotImplementedException(); } #endregion } #endregion

优秀的个人博客,低调大师

HA+LB+NAS:三层架构实现群集高可用和高性能

这篇博客就算是小编前两篇有关服务器群集技术的结合,HA+LB+NAS来实现群集的高可用、高并发(主要是针对web服务器),HA和LB相信读者都很清楚啦,那什么是NAS呢,网络存储技术,简单的说就是讲服务器的文件存储转移到一个专门做存储的介质上,改介质是由瘦OS和大容量硬盘组成的,当前端服务器需要数据时直接从后端介质拿就是了,写数据也是直接写到后端,目前做NAS的硬件有很多啦,做瘦OS的小编觉得OPENFILER比较好用,当然还有freeNAS,之所以叫瘦OS(实质是小linux)是因为它不需要太强大的功能,只需要将数据共享出去就是了,比如说NFS,SAMBA,CIFS等等啦,但是其亮点是有友好的界面管理啦,小编这里直接使用LINUX下的NFS来做NAS啦。。 整体结构图 1.NFS服务器配置 1.1.预装wordpress 注:后端存储需要数据库的支持,所以先安装MySql #tar–zxvfmysql-5.5.15-linux2.6-i686.tar.gz–C/usr/local/ 方便打开mysql目录,给解压目录建立软连接 #cd/usr/local #ln-smysql-5.5.15-linux2.6-i686mysql 安装可以参考/usr/local/INSTALL-BINARY文件 78shell>groupaddmysql 79shell>useradd-r-gmysqlmysql 80shell>cd/usr/local 81shell>tarzxvf/path/to/mysql-VERSION-OS.tar.gz 82shell>ln-sfull-path-to-mysql-VERSION-OSmysql 83shell>cdmysql 84shell>chown-Rmysql. 85shell>chgrp-Rmysql. 86shell>scripts/mysql_install_db--user=mysql 87shell>chown-Rroot. 88shell>chown-Rmysqldata 89#Nextcommandisoptional 90shell>cpsupport-files/my-medium.cnf/etc/my.cnf 91shell>bin/mysqld_safe--user=mysql& 92#Nextcommandisoptional 93shell>cpsupport-files/mysql.server/etc/init.d/mysql.server #groupadd-rmysql #useradd-r-gmysqlmysql–M #chown-Rmysql. #chogrp-Rmysql. #scripts/mysql_install_db--user=mysql #chown-Rroot. #chgrp-Rmysqldata #cpsupport-files/my-medium.cnf/etc/my.cnf #cpsupport-files/mysql.server/etc/init.d/mysqld 更改mysqld的权限 #chmoda+x/etc/init.d/mysqld #chkconfig–addmysqld 配置mysql的环境变量 #vim/etc/profile 44PATH=$PATH:/usr/local/mysql/bin #./etc/profile(.后面加空格) 创建mysql.conf文件并添加库文件路径 #vim/etc/ld.so.conf.d/mysql.conf (添加下面内容) /usr/local/mysql/lib #ldconfig 为头文件建立连接 #cd/usr/local/mysql #ln-sinclude/usr/include/mysql 给root用户密码 #mysqladmin-uroot-ppassword'123456' #servicemysqldrestart 注:其实就是将wordpress的站点文件展开就是了,真正的配置可以在前端的web服务器上完成 #unzipwordpress-3.0.5-zh_CN.zip #cdwordpress-3.0.5-zh_CN #mvwordpress/usr/local/nginx/html/website 创建mybbs数据库 #mysql–uroot–p Enterpassword: mysql>createdatabasemybbs; mysql>grantallonmybbsto‘root’@’192.168.110.10’identifiedby‘123456’; mysql>grantallonmybbsto‘root’@’192.168.110.12’identifiedby‘123456’; mysql>grantallonmybbsto‘root’@’192.168.110.13’identifiedby‘123456’; mysql>flushprivileges; 在/usr/local/nginx/html/website下创建一个隐藏的.test.html用于director对服务器的监控时反馈信息 #cd/usr/local/nginx/html/website #echo‘ok’.test.html 动态网站搭建完成 1.2.服务器端配置 确保服务器端已经安装以下有关nfs的软件包 #rpm-qa|grepnfs nfs-utils-lib-1.0.8-7.6.el5 nfs-utils-1.0.9-42.el5 查看rpc工作状态 #rpcinfo-p programversprotoport 1000002tcp111portmapper 1000002udp111portmapper 1000241udp653status 1000241tcp656status 1000111udp663rquotad 1000112udp663rquotad 1000111tcp666rquotad 1000112tcp666rquotad 1000032udp2049nfs 1000033udp2049nfs 1000034udp2049nfs 1000211udp38515nlockmgr 1000213udp38515nlockmgr 1000214udp38515nlockmgr 1000032tcp2049nfs 1000033tcp2049nfs 1000034tcp2049nfs 1000211tcp34341nlockmgr 1000213tcp34341nlockmgr 1000214tcp34341nlockmgr 1000051udp677mountd 1000051tcp680mountd 1000052udp677mountd 1000052tcp680mountd 1000053udp677mountd 1000053tcp680mountd 把/usr/local/nginx/html/website并修改权限 #chmodo+wt/usr/local/nginx/html/website 编辑共享清单信息 #vim/etc/exports /usr/local/nginx/html/website192.168.110.0/28(rw,sync)(给192.168.110.0/28网段的用户对/usr/local/nginx/html/website有读写权限) #exportfs–r(刷新共享清单) #servicenfsrestart 2.web服务器配置 2.1.web服务器1配置 2.1.1.LAMP环境的搭建 搭建前准备工作 下载一下安装包: httpd-2.4.4 apr-1.4.6 apr-util-1.5.1 pcre采用光盘镜像的rpm安装包 mysql-5.6.10 php-5.4.13 phpMyAdmin-3.5.8-all-languages ZendOptimizer-3.3.0a-linux-glibc21-i386 确保搭建的平台有以下开发组件 DevelopmentLibraries DevelopmentTools LegacySoftwareDevelopment XSoftwareDevelopment 安装apache 源码安装httpd: 安装使用httpd我们必须先安装apr和它的工具apr-util 解压apr和apr-util并进入解压后的目录进行编译安装 #tar–zxvfapr-1.4.6.tar.gz–C/usr/local/src/ #tar–zxvfapr-util-1.5.1.tar.gz–C/usr/local/src/ #cd/usr/local/src/apr-1.4.6 #./configure–prefix=/usr/local/apr #make&&makeinstall #cd/usr/local/src/apr-util-1.5.1 #./configure--with-apr=/usr/local/apr/bin/apr-1-config #make&&makeinstall yum安装pcre和pcre-devel #yuminstallpcre #yuminstallpcre-devel 解压httpd并编译安装 #tar–jxvfhttpd.2.4.4.tar.bz2–C/usr/local/src/ #cd/usr/local/src/httpd.2.4.4 #./configure--prefix=/usr/local/apache--sysconfdir=/etc/httpd--enable-so--enable-ssl--enable-rewrite--with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config--with-pcre--with-z--enable-mpms-shared=all #make&&makeinstall 为头文件目录建一个链接,方便用户能够访问到include文件 #ln-s/usr/local/apache/include/usr/include/apache 方便启动关闭重启apache服务建立httpd控制脚本 #vim/etc/init.d/httpd #!/bin/sh #set-x #description:httpserver #chkconfig:23458860 HTTPD='/usr/local/apache/bin/httpd' CONFFILE='/etc/httpd/httpd.conf' start(){ [-f/var/lock/subsys/httpd]&&echo"apacheisstarted"&&exit echo-n"startingapache......." sleep1 $HTTPD-f$CONFFILE&&RETVAL=0||RETVAL=1 [$RETVAL-eq0]&&touch/var/lock/subsys/httpd&&echo"ok"||echo"fail" } stop(){ [!-f/var/lock/subsys/httpd]&&echo"httpdisstoped......"&&exit echo-n"stopinghttpd......" sleep1 /bin/rm-rf/var/lock/subsys/httpd $HTTPD-kstop&&RETVAL=0||RETVAL=1 [$RETVAL-eq0]&&rm-rf/var/lock/subsys/httpd&&echo"ok"||echo"fail" } case$1in start) start ;; stop) stop ;; restart) stop start ;; *) echo"start|stop|restart" ;; Esac #servicehttpdstart startingapache.......ok 安装mysql #tar-zxvfmysql-5.6.10.tar.gz-C/usr/local/src/ 安装mysql需要cmake,Cmake它相当于./configure 安装cmake #tar-zxvfcmake-2.8.10.2.tar.gz-C/usr/local/src/ #cd/usr/local/src/cmake-2.8.10.2 #./configure--prefix=/usr/local/cmake 执行make&&makeinstall Cmake的可执行文件在/usr/local/cmake/bin目录下为了方便使用cmake,更改/etc/profile文件内容,添加一条PATH值,能直接使用cmke #vim/etc/profile 45PATH=$PATH:/usr/local/cmake/bin 安装mysql #cd/usr/local/src/mysql-5.6.10 #cmake. #make&&makeinstall Mysql默认安装到/usr/local/下,增加mysql组创建用户并更改mysql目录下的所属者和所属组 #cd/usr/local/mysql #groupaddmysql #useradd-r-gmysqlmysql #chown-Rmysql. #chgrp-Rmysql. 初始化mysql #cd/usr/local/mysql #scripts/mysql_install_db--user=mysql 进行权限更改 #chown-Rroot. #chown-Rmysqldata 拷贝/mysql/support-files目录下配置文件到/etc/my.cnf作为新的配置文件 #cd/usr/local/mysql/support-files #cpmy-default.cnf/etc/my.cnf 拷贝mysql.server文件到/etc/init.d/mysqld作为新的控制文件,并给它执行权 #cpmysql.server/etc/init.d/mysqld #chmoda+x/etc/init.d/mysqld 为直接使用mysql命令添加mysql环境变量 #vim/etc/profile 45PATH=$PATH:/usr/local/cmake/bin:/usr/local/mysql/bin 给数据库创建用户和密码 #mysqladmin-uroot-ppassword123456 登录 #mysql-uroot–p Enterpassword: 使系统能够正确找到lib文件,我们需要给它指定正确的lib路径,创建一个mysql.conf在里面写入lib的路径/usr/local/mysql/bin,并对ld.so.cache文件刷新 #vim/etc/ld.so.conf.d/mysql.conf 加入下面内容 /usr/local/mysql/bin #ldconfig(刷新) 再给头文件做一个链接 #ln-s/usr/local/mysql/include/usr/include/mysql 安装php #tar-jxvfphp-5.4.13.tar.bz2-C/usr/local/src/ #cd/usr/local/src/php-5.4.13 #./configure--prefix=/usr/local/php--sysconfdir=/etc--with-apxs2=/usr/local/apache/bin/apxs--with-zlib--with-gd--with-jpeg-dir--with-png-dir--enable-mbstring--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--disable-xml--with-freetype-dir--enable-xml #Make&&makeinstall 添加php的环境路径: #vim/etc/profile 指定php的lib文件路径 #vim/etc/ld.so.conf.d/php.conf 加入以下内容 /usr/local/php/lib #ldconfig(更新) 为头文件建立链接 #cd/usr/local/php #ln-sinclude/usr/include/php 为了让apache能够处理一些php网页,我们要加入一些模块,向httpd.conf文件内加入语句 #vim/etc/httpd/httpd.conf 147LoadModulephp5_modulemodules/libphp5.so 148AddTypeapplication/x-httpd-php.php.phtml 246<IfModuledir_module> 247DirectoryIndexindex.htmlindex.php 248</IfModule> 更改web主站点路径到挂载目录,并创建虚拟主机头 213DocumentRoot"/var/www/website" 514<Virtualhost192.168.110.12:80> 515DocumentRoot/var/www/website 516ServerNamewww.zzdx.com 517ErrorLoglogs/tec_error_log 518CustomLoglogs/tec_access_logcombined 519</VirtualHost> #servicehttpdrestart stopinghttpd......ok startingapache.......ok 2.1.2.Zend加速php #tar-zxvfZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz #cdZendOptimizer-3.3.0a-linux-glibc21-i386 #./install 安装过程(如图2-1-2-1至图2-1-2-7) 图2-1-2-1 图2-1-2-2 图2-1-2-3 指定zend的安装路径 图2-1-2-4 指定zend配置文件安装路径 图2-1-2-5 图2-1-2-6 指定apachectl的路径 图2-1-2-7 2.1.3.安装snmp软件包及相关组件 使监测服务器能够正常监控web服务器 #cd/mnt/cdrom/Server/ #rpm-ivhnet-snmp-5.3.2.2-7.el5.i386.rpm #yuminstallnet-snmp-utils-5.3.2.2-7.el5.i386.rpm 2.1.4添加虚拟端口并更改系统控制文件 添加虚拟端口并配置路由,web服务器回应客户端时使用虚拟端口 #ifconfiglo:0192.168.110.1broadcast192.168.110.1netmask255.255.255.255 #routeadd-host192.168.110.1devlo:0 更改系统控制文件,在接收arp请求时不给予回应以防冲突 #vim/etc/sysctl.conf net.ipv4.conf.lo.arp_ignore=1 net.ipv4.conf.all.arp_ignore=1 net.ipv4.conf.lo.arp_announce=2 net.ipv4.conf.all.arp_announce=2 2.1.5.挂载NFS资源到本地 #vim/etc/fstab 加入下面代码 192.168.110.10:/usr/local/nginx/html/website/var/www/websitenfsrw,soft,intr00 2.1.6.安装wordpress 在NFS服务器上只是将wordpress的站点文件展开了,真正的配置在web站点上,配置过程如图2-1-6-1至图2-1-6-6所示: 图2-1-6-1 图2-1-6-2 图2-1-6-3 图2-1-6-4 图2-1-6-5 图2-1-6-6 2.2web服务器2配置 2.2.1.LAMP环境的搭建 搭建前准备工作 下载一下安装包: httpd-2.4.4 apr-1.4.6 apr-util-1.5.1 pcre采用光盘镜像的rpm安装包 mysql-5.6.10 php-5.4.13 phpMyAdmin-3.5.8-all-languages ZendOptimizer-3.3.0a-linux-glibc21-i386 确保搭建的平台有以下开发组件 DevelopmentLibraries DevelopmentTools LegacySoftwareDevelopment XSoftwareDevelopment 安装apache 源码安装httpd: 安装使用httpd我们必须先安装apr和它的工具apr-util 解压apr和apr-util并进入解压后的目录进行编译安装 #tar–zxvfapr-1.4.6.tar.gz–C/usr/local/src/ #tar–zxvfapr-util-1.5.1.tar.gz–C/usr/local/src/ #cd/usr/local/src/apr-1.4.6 #./configure–prefix=/usr/local/apr #make&&makeinstall #cd/usr/local/src/apr-util-1.5.1 #./configure--with-apr=/usr/local/apr/bin/apr-1-config #make&&makeinstall yum安装pcre和pcre-devel #yuminstallpcre #yuminstallpcre-devel 解压httpd并编译安装 #tar–jxvfhttpd.2.4.4.tar.bz2–C/usr/local/src/ #cd/usr/local/src/httpd.2.4.4 #./configure--prefix=/usr/local/apache--sysconfdir=/etc/httpd--enable-so--enable-ssl--enable-rewrite--with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config--with-pcre--with-z--enable-mpms-shared=all #make&&makeinstall 为头文件目录建一个链接,方便用户能够访问到include文件 #ln-s/usr/local/apache/include/usr/include/apache 方便启动关闭重启apache服务建立httpd控制脚本 #vim/etc/init.d/httpd #!/bin/sh #set-x #description:httpserver #chkconfig:23458860 HTTPD='/usr/local/apache/bin/httpd' CONFFILE='/etc/httpd/httpd.conf' start(){ [-f/var/lock/subsys/httpd]&&echo"apacheisstarted"&&exit echo-n"startingapache......." sleep1 $HTTPD-f$CONFFILE&&RETVAL=0||RETVAL=1 [$RETVAL-eq0]&&touch/var/lock/subsys/httpd&&echo"ok"||echo"fail" } stop(){ [!-f/var/lock/subsys/httpd]&&echo"httpdisstoped......"&&exit echo-n"stopinghttpd......" sleep1 /bin/rm-rf/var/lock/subsys/httpd $HTTPD-kstop&&RETVAL=0||RETVAL=1 [$RETVAL-eq0]&&rm-rf/var/lock/subsys/httpd&&echo"ok"||echo"fail" } case$1in start) start ;; stop) stop ;; restart) stop start ;; *) echo"start|stop|restart" ;; Esac #servicehttpdstart startingapache.......ok 安装mysql #tar-zxvfmysql-5.6.10.tar.gz-C/usr/local/src/ 安装mysql需要cmake,Cmake它相当于./configure 安装cmake #tar-zxvfcmake-2.8.10.2.tar.gz-C/usr/local/src/ #cd/usr/local/src/cmake-2.8.10.2 #./configure--prefix=/usr/local/cmake 执行make&&makeinstall Cmake的可执行文件在/usr/local/cmake/bin目录下为了方便使用cmake,更改/etc/profile文件内容,添加一条PATH值,能直接使用cmke #vim/etc/profile 45PATH=$PATH:/usr/local/cmake/bin 安装mysql #cd/usr/local/src/mysql-5.6.10 #cmake. #make&&makeinstall Mysql默认安装到/usr/local/下,增加mysql组创建用户并更改mysql目录下的所属者和所属组 #cd/usr/local/mysql #groupaddmysql #useradd-r-gmysqlmysql #chown-Rmysql. #chgrp-Rmysql. 初始化mysql #cd/usr/local/mysql #scripts/mysql_install_db--user=mysql 进行权限更改 #chown-Rroot. #chown-Rmysqldata 拷贝/mysql/support-files目录下配置文件到/etc/my.cnf作为新的配置文件 #cd/usr/local/mysql/support-files #cpmy-default.cnf/etc/my.cnf 拷贝mysql.server文件到/etc/init.d/mysqld作为新的控制文件,并给它执行权 #cpmysql.server/etc/init.d/mysqld #chmoda+x/etc/init.d/mysqld 为直接使用mysql命令添加mysql环境变量 #vim/etc/profile 45PATH=$PATH:/usr/local/cmake/bin:/usr/local/mysql/bin 给数据库创建用户和密码 #mysqladmin-uroot-ppassword123456 登录 #mysql-uroot–p Enterpassword: 使系统能够正确找到lib文件,我们需要给它指定正确的lib路径,创建一个mysql.conf在里面写入lib的路径/usr/local/mysql/bin,并对ld.so.cache文件刷新 #vim/etc/ld.so.conf.d/mysql.conf 加入下面内容 /usr/local/mysql/bin #ldconfig(刷新) 再给头文件做一个链接 #ln-s/usr/local/mysql/include/usr/include/mysql 安装php #tar-jxvfphp-5.4.13.tar.bz2-C/usr/local/src/ #cd/usr/local/src/php-5.4.13 #./configure--prefix=/usr/local/php--sysconfdir=/etc--with-apxs2=/usr/local/apache/bin/apxs--with-zlib--with-gd--with-jpeg-dir--with-png-dir--enable-mbstring--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--disable-xml--with-freetype-dir--enable-xml #Make&&makeinstall 添加php的环境路径: #vim/etc/profile 指定php的lib文件路径 #vim/etc/ld.so.conf.d/php.conf 加入以下内容 /usr/local/php/lib #ldconfig(更新) 为头文件建立链接 #cd/usr/local/php #ln-sinclude/usr/include/php 为了让apache能够处理一些php网页,我们要加入一些模块,向httpd.conf文件内加入语句 #vim/etc/httpd/httpd.conf 147LoadModulephp5_modulemodules/libphp5.so 148AddTypeapplication/x-httpd-php.php.phtml 246<IfModuledir_module> 247DirectoryIndexindex.htmlindex.php 248</IfModule> 更改web主站点路径到挂载目录,并创建虚拟主机头 213DocumentRoot"/var/www/website" 514<Virtualhost192.168.110.13:80> 515DocumentRoot/var/www/website 516ServerNamewww.zzdx.com 517ErrorLoglogs/tec_error_log 518CustomLoglogs/tec_access_logcombined 519</VirtualHost> #servicehttpdrestart stopinghttpd......ok startingapache.......ok 2.2.2.Zend加速php #tar-zxvfZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz #cdZendOptimizer-3.3.0a-linux-glibc21-i386 #./install 安装过程如图2-2-2-1至图2-2-2-7 图2-2-2-1 图2-2-2-2 图2-2-2-3 指定zend的安装路径 图2-2-2-4 指定zend配置文件安装路径 图2-2-2-5 图2-2-2-6 指定apachectl的路径 图2-2-2-7 2.2.3.安装snmp软件包及相关组件 使监测服务器能够正常监控web服务器 #cd/mnt/cdrom/Server/ #rpm-ivhnet-snmp-5.3.2.2-7.el5.i386.rpm #yuminstallnet-snmp-utils-5.3.2.2-7.el5.i386.rpm 2.2.4.添加虚拟端口并更改系统控制文件 添加虚拟端口并配置路由,web服务器回应客户端时使用虚拟端口 #ifconfiglo:0192.168.110.1broadcast192.168.110.1netmask255.255.255.255 #routeadd-host192.168.110.1devlo:0 更改系统控制文件,在接收arp请求时不给予回应以防冲突 #vim/etc/sysctl.conf net.ipv4.conf.lo.arp_ignore=1 net.ipv4.conf.all.arp_ignore=1 net.ipv4.conf.lo.arp_announce=2 net.ipv4.conf.all.arp_announce=2 2.2.5.挂载NFS资源到本地 #vim/etc/fstab 加入下面代码 192.168.110.10:/usr/local/nginx/html/website/var/www/websitenfsrw,soft,intr00 3.Director服务器配置 为实现Director关键业务的高可用性,使用高可用性群集HA来完成Director服务器的搭建,HA群集采用主从模式 3.1.准备工作 heartbeat-2.1.4-11.el5.i386.rpm openhpi-libs-2.14.0-5.el5.i386.rpm heartbeat-pils-2.1.4-11.el5.i386.rpm perl-MailTools-2.04-1.el5.rf.noarch.rpm heartbeat-stonith-2.1.4-11.el5.i386.rpm perl-TimeDate-1.16-5.el5.noarch.rpm libnet-1.1.5-1.el5.i386.rpm heartbeat-ldirectord-2.1.4-11.el5.i386.rpm 3.2.软件安装 所有上述软件都放在/heartbeat目录下 #cdheart/ #yumlocalinstall./*--nogpgcheck 这样安装省了很多事,系统会自动解决依赖关系,但是读者还要记着安装完成之后查询一下heartbeat到底产生了哪些文件 其中/usr/share/doc/heartbeat-2.1.4/目录下就存放了heartbeat的样例配置文件 3.3.修改相关配置文件 3.3.1.主服务器配置 接下来的工作是修改主机名,Heartbeat依靠服务器的主机名来识别服务器,因此使用hostname命令得到的结果必须与uname-n结果保持一致。 #vim/etc/sysconfig/network//修改主机名称; HOSTNAME=primary.zzdx.com #hostnameprimary.zzdx.com #vim/etc/hosts//修改主机地址映射; 192.168.110.6primary.zzdx.comprimary 192.168.110.7standby.zzdx.comstandby #cd/etc/ha.d/ #cp/usr/share/doc/heartbeat-2.1.4/ha.cf./ #cp/usr/share/doc/heartbeat-2.1.4/authkeys./ #cp/usr/share/doc/heartbeat-2.1.4/haresources./ #cp/usr/share/doc/heartbeat-2.1.4/heartbeat-ldirectord-2.1.4/ldirectord.cf./ldirectord-192.168.110.1.cf//ldirectord的配置文件 #vimha.cf//定义各节点之间Heartbeat进程如何通信; debugfile/var/log/ha-debug//设置调试日志文件名 logfile/var/log/ha-log//设置其他日志文件名 keepalive2//设定heartbeat之间的时间间隔为2秒; deadtime30//在30秒后宣布节点死亡; warntime10//在日志中发出lateheartbeat警告之前等待的时间,单位为秒; udpport694//使用端口694进行bcast和ucast通信,默认参数; bcasteth1//在eth1接口上使用广播heartbeat-”心跳”; nodeprimary.zzdx.com//定义节点; nodestandby.zzdx.com//定义节点; #ddif=/dev/urandombs=512count=1|opensslmd5//生成节点间域共享密钥; 14df2a6b5b26b510e7d5d5b16b7cc10b #vimauthkeys//定义心跳探测包使用哪种加密方式; auth1 1sha114df2a6b5b26b510e7d5d5b16b7cc10b #chmod600authkeys//仅允许管理员修改文件; #vimharesources//定义资源;文件给出了相应的格式 primary.zzdx.comIPaddr::192.168.110.1/28/eth0/192.168.110.15ldirectord::ldirectord-192.168.110.1.cf #vimldirectord-192.168.110.1.cf//定义director规则 #GlobalDirectives checktimeout=10//ldirectord等待Realserver健康检查完成的时间,单位为秒;任何原因的检查错误或超过此时间限制,ldirector将会将此Realserver从IPVS表中移除; checkinterval=2//每次检查的时间间隔,即检查的频率; autoreload=no//定义ldirectord是否定期每隔一段时间检查此配置文件是否发生改变并自动重新加载此文件; logfile="/var/log/ldirectord-192.168.110.1.log"//日志文件存放位置; quiescent=yes//当某台RealServer出现异常,此项可将其设置为静默状态(即其权重为0)从而不再响应客户端的访问请求; virtual=192.168.110.1:80//定义LVS服务及其使用的VIP和PORT; real=192.168.110.12:80gate1//定义RealServer; real=192.168.110.13:80gate3//定义RealServer; fallback=127.0.0.1:80gate//当IPVS表没有任何可用的Realserver时, 此“地址:端口”作为最后响应的服务。一般指向127.0.0.1,并可以通过一个包含错误信息的页面通知用户服务发生了异常; service=http//基于http服务来测试RealServer; request=".test.html"//测试请求页面; receive="OK"//测试接收字符; scheduler=wlc//定义调度算法; 3.3.2.standby服务器的配置 从服务器的主机名称为standby.zzdx.com,安装heartbeat的方法同主服务器一致。/etc/hosts文件、Heartbeat、ldirectord的配置文件也必须与主机保持一致。因此这里采用将primary上的配置文件直接远程复制过来的方法: #cd/etc/ha.d/ #scp192.168.110.6:/etc/ha.d/ha.cf./ #scp192.168.110.6:/etc/ha.d/authkeys./ #scp192.168.110.6:/etc/ha.d/haresources./ #scp192.168.110.6:/etc/ha.d/ldirectord-192.168.110.1.cf./ #chmod600authkeys 3.3.3.在primary和standby服务器上分别启动heartbeat服务 #serviceheartbeatstart 测试部分小编就不做啦,发现自己最近一阶段非常的懒啊,呵呵,整个一个架构下来相信读者对于群集技术已经有所了解啦,如果还想知道更多,那就需要自己动手好好去摸索一下啦…. 本文转自 chenming421 51CTO博客,原文链接:http://blog.51cto.com/wnqcmq/1212446

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册