HA双机热备的实现(heartbeat)

HA双机热备典型功能——HA典型基础配置 注意:进行HA 的配置, 硬件和软件版本需满足如下要求: 1) 防火墙硬件型号相同; 2) 同型号硬件需要为相同的硬件版本,内存容量,CPU 型号,硬盘容量等相同; 3) 相同的软件版本版本; 4) 设备的所有接口不能工作在 DHCP,PPPOE 模式下。没有使用的接口的IP地址模式也需要选择为“自定义”; 阅读详情
     双机热备的实现

环境:

主节点:node1   node1.test.com      eth0:192.168.0.20  eth1:192.168.1.20

从节点:node2   node2.test.com      eth0:192.168.0.99  eth1:192.168.1.99

测试机:192.168.0.55

一、安装前的准备

++以下是在node1上的操作:

首先修改/etc/hosts文件,保持两个节点改文件相同。如下:

[root@node1 ~]#vim /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1       localhost.localdomain   localhost

::1             localhost6.localdomain6 localhost6

192.168.0.99    node2.test.com  node2   

192.168.0.20    node1.test.com  node1   

192.168.1.99    node2.test.com  node2   

192.168.1.20    node1.test.com  node1

  

拷贝至node2

[root@node1 ~]# scp  /etc/hosts 192.168.0.99:/etc/

安装httpd服务

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

[root@node1 ~]# echo "node1 test page" > /var/www/html/index.html 

[root@node1 ~]# service httpd start

Starting httpd:                                            [  OK  ]

[root@node1 ~]# 

测试是否可用

关闭httpd服务禁止开机启动

[root@node1 ~]# service httpd stop

Stopping httpd:                                            [  OK  ]

[root@node1 ~]# chkconfig httpd off

[root@node1 ~]# 

在node2上按照以上步骤进行操作

安装httpd服务

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

[root@node2 ~]# echo "node2 test page" > /var/www/html/index.html 

[root@node2 ~]# service httpd start

Starting httpd:                                            [  OK  ]

[root@node2 ~]# 

 

测试是否可用

关闭httpd服务禁止开机启动

[root@node12~]# service httpd stop

Stopping httpd:                                            [  OK  ]

[root@node2~]# chkconfig httpd off

[root@node2 ~]# 

二、安装、配置heartbeat

heartbeat需要安装的软件包如下:                      

heartbeat-pils-2.1.4-10.el5.i386.rpm

heartbeat-stonith-2.1.4-10.el5.i386.rpm

heartbeat-2.1.4-9.el5.i386.rpm            

heartbeat-devel-2.1.4-9.el5.i386.rpm      

heartbeat-gui-2.1.4-9.el5.i386.rpm        

libnet-1.1.4-3.el5.i386.rpm

heartbeat-ldirectord-2.1.4-9.el5.i386.rpm  

perl-MailTools-1.77-1.el5.noarch.rpm

将以上安装包全部安装

1、安装heartbeat

 

 

 

[root@node1 ~]# yum -y --nogpgcheck localinstall *.rpm

 

[root@node2 ~]# yum -y --nogpgcheck localinstall *.rpm

 

2、拷贝三个文件到/etc/ha.d/

[root@node1 ~]# cp /usr/share/doc/heartbeat-2.1.4/authkeys  /etc/ha.d/

[root@node1 ~]# cp /usr/share/doc/heartbeat-2.1.4/ha.cf   /etc/ha.d/

[root@node1 ~]# cp /usr/share/doc/heartbeat-2.1.4/haresources  /etc/ha.d/

[root@node1 ha.d]# ls

authkeys  ha.cf  harc  haresources  rc.d  README.config  resource.d  shellfuncs

[root@node1 ha.d]# 

3、编辑主配置文件

[root@node1 ha.d]# vim  ha.cf           #打开以下各行或保证有如下行

debugfile /var/log/ha-debug           #调试日志(调试时建议打开)

logfile /var/log/ha-log            #heartbeat的日志文件

keepalive 2:               #心跳的时间间隔,默认时间单位为秒

deadtime 30:          #超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。

warntime 10:       #超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。

initdead 120:  #在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作, 

           #该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。

udpport 694   #设置广播通信使用的端口,694为默认使用的端口号。

bcast eth1: #设置广播通信所使用的网络接口卡。(我们这里设置为eth1,专门用来探测心 

          #跳)

auto_failback on    #是否允许主节点恢复时,自动将资源从从节点获取。这里on为开启

node    node1   #用于指定主从节点

node    node2

4、编辑 haresources 

资源文件,指定主节点,VIP,启动的服务等

格式:node-name network-config <resource-group>

node-name指定双机系统的主节点

network-config用于网络设置,包括指定VIP、子网掩码、广播地址

resource-group 指定使用VIP向外提供的服务,可以为多个

[root@node1 ha.d]# vim haresources 

  node1  192.168.0.100    httpd        #在最后一行添加

5、编辑authkeys文件

[root@node1 ha.d]#vim  authkeys  #其中authkeys用于两个节点用来验证的文件,其中有三   

auth 3                           #种算法如下:

#1 crc

#2 sha1 HI!      #三种算法安全性逐渐增强,我们这里选择的md5,Hello为密码,也可以  

3 md5 Hello!     #自己使用生成的md5密码。

               

[root@node1 ha.d] chmod 600 authkeys         #一定保证authkeys的权限模型为600

6、将三个文件拷贝到node2

[root@node1 ha.d]# scp  authkeys  haresources  ha.cf  192.168.0.99:/etc/ha.d/

7、记得拷贝httpd脚本到/etc/ha.d/resource.d/,以便更快的查找到。

[root@node1 ha.d]# cp /etc/init.d/httpd  resource.d/

[root@node2 ~]# cp /etc/init.d/httpd  /etc/ha.d/resource.d/

三、实验的测试

1、启动heartbeat (先主节点后从节点)

[root@node1 ~]# service heartbeat start

[root@node2 ~]# service heartbeat start

2、查看服务

[root@node1 ~]# netstat  -tnlp | grep :80 

tcp           0      0 :::80           :::*         LISTEN      17058/httpd         

[root@node1 ~]# netstat  -tunlp | grep :694

udp          0       0 0.0.0.0:694     0.0.0.0:*               17200/heartbeat: wr 

[root@node1 ~]# 

3、查看ip(VIP)这里出现了eth0:0 是我们指定的VIP

[root@node1 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:75:13:19  

          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe75:1319/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:38036 errors:0 dropped:0 overruns:0 frame:0

          TX packets:246490 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:3743400 (3.5 MiB)  TX bytes:341326043 (325.5 MiB)

          Interrupt:169 Base address:0x2000 

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:75:13:19  

          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          Interrupt:169 Base address:0x2000 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:75:13:23  

          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0

4、访问测试

 

 

 

四、模拟宕机(断开node1网卡)

 我在断开网卡后2秒查看node2如下:

1、查看ip(VIP)

[root@node2 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:50:06:DD  

          inet addr:192.168.0.99  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe50:6dd/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:278657 errors:0 dropped:0 overruns:0 frame:0

          TX packets:122244 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:346575843 (330.5 MiB)  TX bytes:13084319 (12.4 MiB)

          Interrupt:169 Base address:0x2000 

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:50:06:DD  

          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          Interrupt:169 Base address:0x2000 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:50:06:E7  

          inet addr:192.168.1.99  Bcast:192.168.1.255  Mask:255.255.255.0

2、查看端口

[root@node2 ~]# netstat  -tnlp | grep :80

tcp        0      0 0.0.0.0:802         0.0.0.0:*      LISTEN      1892/rpc.statd      

tcp        0      0 :::80                :::*          LISTEN      16765/httpd         

[root@node2 ~]# netstat  -tunlp | grep :694

udp         0    0        0.0.0.0:694         0.0.0.0:*      16397/heartbeat: wr 

[root@node2 ~]# 

3、访问测试

 

 

五、模拟恢复(重新接上node1网线)

等待一段时间后资源又回到了node1上 (略去不写,因为与三中的内容一致)

访问如下:

 




本文出自 “一份存档” 博客,请务必保留此出处http://linuxbpm.blog.51cto.com/1823930/386687


HA双机热备典型功能——HA工作模式和设备配置要求 集群中的所有防火墙必须工作在同一个模式下。可以对运行中的HA集群进行模式的修改,但会造成一定的延时,因为集群需要重新协商并选取新的主设备。A-P模式提供了备机保护。HA集群中由一台主设备,和一台以上到从设备组成。 阅读详情

相关推荐

PyTorch实战:手把手教你用QAT量化感知训练拯救模型精度(附避坑指南)

本文详细介绍了如何使用PyTorch进行QAT量化感知训练,以提升模型在边缘设备上的推理精度。通过核心原理讲解、实战代码示例和避坑指南,帮助开发者掌握从环境配置、模型训练到边缘部署的全流程,有效解决传统量化方法导致的精度损失问题。

c7d8e的博客 325

使用Heartbeat实现双机热备

使用Heartbeat实现”双机热备”或者称为“双机互备”heartbeat的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未受到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。heartbeat的两台...

dawuafang 866

Ubuntu AX200 iwlwifi-cc-46.3cfab8da.0.tgz无法下载的解决办法

AX200 iwlwifi-cc-46.3cfab8da.0.tgz 无法下载网页出问题使用 其他方法来进行但是前提还是有网络。

chen20170325的博客 1038

【高级篇 / HA】(5.2) ❀ 01. HA 高可用性 - 双机热备 ❀ FortiGate 防火墙

双机热备特指基于高可用系统中的两台设备的热备(或高可用),设备可以包括交换机、防火墙、服务器等,因两机高可用在国内使用较多,故得名双机热备。双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台设备处于某种业务的激活状态(即Active状态),另一台设备处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台设备上互为主备状态(即Active-Standby和Standby-Activ

防火墙技术专栏 2万+

Kettle 连接 Oracle 数据库全流程指南

例如:C:\Oracle\product\19.0.0\dbhome_1\jdbc\lib\ojdbc8.jar 2. 替换 Kettle 驱动文件 将驱动文件复制到 Kettle 的 目录: 删除旧版本驱动:如 ojdbc14.jar 只能保留一个oracle驱动 重启 Kettle 以加载新驱动 二、配置数据库连接 1. 启动 Kettle 并新建转换 运行 (Windows)或 (Linux)。 新建转换(Transformation),添加 “表输入” 步骤,双击进入配置。 2.

qq_44724453的博客 3479

【QNX+Android虚拟化方案】01 - 芯片介绍

【QNX+Android虚拟化方案】01 - 芯片介绍

|~~~热爱生活、努力学习的小伙汁~~~| 2943

heartbeat+浮动IP 实现HA——http 、mysql、nfs的双机热备

预备知识 .虚拟IP 虚拟IP地址(VIP) 是一个不与特定计算机或一个计算机中的网络接口卡(NIC)相连的IP地址。数据包被发送到这个VIP地址,但是所有的数据还是经过真实的网络接口。VIPs大部分用于连接冗余;一个VIP地址也可能在一台计算机或NIC发生故障时可用,交由另一个可选计算机或NIC响应连接。虚拟IP地址的例子如:一个Loopback(无电路IP地址)作为不与在主机或路由器中...

李思苇 2727

升级conda时出现Malformed version string invalid chars错误解决方案

但有时,当你使用“conda upgrade”的命令时,你可能会遇到一个错误,提示你的环境解析失败,出现“Malformed version string invalid chars”错误消息。如果以上两个步骤都没有解决你的问题,那么你可以考虑更新conda的依赖项。如果你的conda版本已经是最新的,那么你需要清理conda的缓存。最后,如果以上方法都无法解决问题,你可以尝试使用pip进行更新。如果你的conda版本过旧,你需要先更新conda。首先,你需要确认你当前使用的conda版本。

BUG?不存在的! 1409

HA应用之 -- heartbeat

一、Heartbeat是什么? Heartbeat是Linux-HA开源项目发布的高可靠应用环境集群服务的核心软件。从1998年创建以来到现在, 历经了V1、V2、V3等多个版本,在全球开源HA领域具有举足轻重的知名度, 应用日益广泛, 并且得到了众多主流Linux操作系统厂商的支持。在Linux-HA中heartbeat负责节点健康信息检测、可靠的节点间通讯和...

weixin_33875839的博客 206

【华为OD机试真题】282、求满足条件的最长子串的长度 | 机试真题+思路参考+代码分析 (C++、Java、Py、C语言、JS)

题目描述 >给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求: >  1、只包含1个字母(a~ z,A~Z), 其余必须是数字; 2、字母可以在子 串中的任意位置; >  如果找不到满足要求的子串,如全是字母或全是数字,则返回-1

KJ.JK 1万+

Word2vec核心模型精讲:CBOW与Skip-gram

Word2vec是Google提出的词向量模型,通过CBOW和Skip-gram两种神经网络架构将词汇映射到低维向量空间。CBOW通过上下文预测中心词,训练速度快但高频词表现更好;Skip-gram则相反,通过中心词预测上下文,适合处理生僻词。为解决softmax计算效率问题,Word2vec引入基于哈夫曼树的Hierarchical Softmax优化技术,将复杂度从O(V)降至O(logV)。文章详细解析了两种模型的原理差异,并演示了哈夫曼树的构造过程及其在词向量训练中的关键作用,这种结合词频的优

Trisyp的博客 528

linux上的 heartbeat 双机热备服务架设

linux上的 heartbeat 双机热备服务架设【一】 安装前环境设定==========================================================两台主机硬件环境(不必完全一致):CPU: Xeon 3G *2 (EM64T)MEM: 2GNIC:  Intel 1G *2eth0: 对外IPeth1: 对内IP(HA专用)两台主机的eth1使用双机对联

狼的足迹 681

华为OD机试真题2026双机位C卷 Java&Go 实现【用户入网定期复评】

用户开立支付账户,在开户完成后立即对用户进行一次风险模型评级,输出一个评分风险,评分范围1-100,等区间的分为5个等级,1-19为等级1,20-39为等级2,40-59为等级3,60-79为等级4,80-100为等级5,系统每天会任务对全量入网用户进行计算复评时间,输出评分给出新的风险等级。复评规则如下:

MISAYAONE的博客 146

使用HeartBeat实现高可用HA的配置过程详解

使用HeartBeat实现高可用HA的配置过程详解 一、写在前面     HA即(high available)高可用,又被叫做双机热备,用于关键性业务。简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器继续提供服务。常见的实现高可用的开源软件有 heartbeat 和 keepalived。     这样,一台 web 服务

Jason的专栏 494

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Heartbeat安装与配置

1、环境描述   服务器A(主) 192.85.1.175   服务器B(从) 192.85.1.176   Mysql版本:5.1.61        系统版本:System OS:ubuntu 10.10 X86 2.安装heartbeat   1)安装heartbeat    2)配置说明     heartbeat的安装目录为/etc/ha.d目录下,     

JenMinZhang的专栏 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

1.1-HA集群配置-1

HA 即(high available)高可用,又被叫做双机热备,用于关键性业务。简单理解就是,有两台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 B 机器继续提供服务。常用实现高可用的开源软件有 heartbeat 和 keepalived,其中keepalived 有负载均衡的功能。下面我们使用 heartbeat 来做 HA ...

weixin_34194551的博客 102

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

MySQL配置HeartBeat实现心跳监控和浮动IP

1. 初始化环境配置 /sbin/chkconfig --add mysqld /sbin/chkconfig mysqld on ln -s /usr/local/mysql/bin/mysql /sbin/mysql ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin echo "/usr/local/mysql/lib/...

haiker 511

centos_32最小化安装HA配置

系统要求 2个网卡CentOS-6.3-i386最小化安装系统,2台机器的主备网卡都接到交换机上   主机设置ip vi etc/sysconfig/network-scrpits/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="static" HWADDR="00:0C:29:02:C7:A1" IPADDR="192.168.1.200" NETMAS

Mark的专栏 3517

Heartbeat的编译安装配置

一、准备工作Heartbeat 3.0.6:1#wgethttp://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/958e11be8686.tar.bz2Cluster Glue 1.0.12:1#wgethttp://hg.linux-ha.org/glue/archive/0a7add1d9996.tar.bz2Res...

weixin_33861800的博客 290

linux 做双机热备

1.1 首先下载libnet.tar.gz,heartbeat-2.0.4.tar.gz1.2 按顺序现装libnet再装heartbeat都是源码包,解压开后分别执行:./configure ;make ;make install;安装完毕。1.3 软件的配置Heartbeat软件的安装目录为/usr/local/etc/ha.d,其中的README.config对配置文件进行了说明,共有三个主

宏轩JAVA技术专栏 2109

杂记 HA(High available)--Heartbeat高可用性集群(双机热备)

杂记 HA(High available)–Heartbeat高可用性集群(双机热备) 1.理解:两台服务器A和B ,当A提供服务,B闲置待命,当A服务宕机,会自动切换至B机器继续提供服务。当主机恢复正常后,按照使用者设定的自动或手动切换到主机上运行,数据一致性通过共享存储系统解决。 2.实现该功能的软件有:Heartbeat , keepalived(具有负载均衡的能力) 3.结构图 参考文献...

qq_28404829的博客 253

HA集群配置

一、什么是HA集群? HA即(high available)高可用,又叫做双机热备,用于关键性业务,简单理解就是,有两台机器A和B,正常提供服务的是A机器,B机器待命,当A机器停止服务后,会切换到B机器继续提供服务.常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能.二、heartbeat的工作原理heartbeat...

weixin_34114823的博客 285
上一篇: 2009-03-17 13:32 HP小机常见故障及解决办法
下一篇: IBM http Server 和 WebSphere 配置 SSL 一些需要注意的地方
OilAlways
博客等级 码龄17年 57粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值