1. 重庆云诚科技 > 互联网资讯 >

〔服务器集群搭建教程〕linux服务器集群搭建

导读Linux 搭建JBOSS EAP集群,启动Slaver时报错,连接不到主机;体育爱好者提供:【远山碧】 ,解答(服务器集群搭建教程)的问题,如果问题解决,可以关注本站!贡献者回答Mongodb集群搭建过...

本篇文章给大家谈谈服务器集群搭建教程,以及linux服务器集群搭建对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

Linux 搭建JBOSS EAP集群,启动Slaver时报错,连接不到主机;

体育爱好者提供:【远山碧】 ,解答(服务器集群搭建教程)的问题,如果问题解决,可以关注本站!

贡献者回答Mongodb集群搭建过程及常见错误

Replica Sets

MongoDB 支持在多个机器中通过异步复制达到故障转移和实现冗余。多机器中同一时刻只 有一台是用于写操作。正是由于这个情况,为 MongoDB 提供了数据一致性的保障。担当 Primary 角色的机器能把读操作分发给 slave。

Replica Sets的结构非常类似一个集群。因 为它确实跟集群实现的作用是一样的, 其中一个节点如果出现故障, 其它节点马上会将业务接过来而无须停机操作。

下面以本机为例介绍一下集群的部署过程,以及部署过程中常见的注意点及错误

本例环境是Linux操作系统,mongodb版本:mongodb-linux-x86_64-2.6.1.tgz,Vmwre虚拟机,虚拟机IP:192.168.169.129,集群以本机不同端口模拟三台服务器。

1.集群主要分为三个节点master主节点,slaver备用节点,arbiter仲裁节点

建立数据文件夹

1

2

3

mkdir -p /mongodb/data/master

mkdir -p /mongodb/data/slaver

mkdir -p /mongodb/data/arbiter

ps:三个目录分别对应主,备,仲裁节点

2.建立配置文件夹

1)master.conf

打开编辑器:

1

vi /etc/master.conf

按i 输入下列配置

1

2

3

4

5

6

7

dbpath=/home/mongodb/data/master

logpath=/home/mongodb/log/master.log

logappend=true

replSet=rep1

port=10000

fork=true

journal=true

完成之后按esc 》》 : >>wq>>回车

2)slaver.conf

编辑器打开和保存按上边的步骤,下边只写详细内容

1

2

3

4

5

6

7

dbpath=/home/mongodb/data/slaver

logpath=/home/mongodb/log/slaver.log

logappend=true

replSet=rep1

port=10001

fork=true

journal=true

3)arbiter.conf

1

2

3

4

5

6

7

8

dbpath=/home/mongodb/data/arbiter

logpath=/home/mongodb/log/arbiter.log

logappend=true

replSet=rep1

port=10002

fork=true

journal=true

smallfiles=true

参数解释:

dbpath:数据存放目录

logpath:日志存放路径

logappend:以追加的方式记录日志

replSet:replica set的名字

port:mongodb进程所使用的端口号,默认为27017

fork:以后台方式运行进程

journal:写日志

smallfiles:当提示空间不够时添加此参数

其他参数

pidfilepath:进程文件,方便停止mongodb

directoryperdb:为每一个数据库按照数据库名建立文件夹存放

bind_ip:mongodb所绑定的ip地址

oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%

noprealloc:不预先分配存储

3.启动Mongodb

1

cd /home/mongodb/bin

启动服务

1

2

3

4

5

./mongod -f /etc/master.conf

./mongod -f /etc/slaver.conf

./mongod -f /etc/arbiter.conf

有这样的提示说明启动成功

如果是下列的提示说明启动失败

启动失败的原因有很多,检查完配置文件,如果没有错误,可打开相应的配置文件查看详细的错误信息

cat /etc/master.conf

最常见的一个错误就是磁盘空间不足,会提示这样的错误

因为Mongodb的日志文件是成2g的增长,所以所需空间比较大,这时你可以在配置文件里添加这样的一个配置

smallfiles=true。

全部三个服务全部启动成功之后

4.配置主(master),备(slaver),仲裁(arbiter)节点

可以通过客户端连接mongodb,也可以直接在三个节点中选择一个连接mongodb。

./mongo 192.168.169.129:10000 #ip和port是某个节点的地址

>use admin

>cfg={ _id:"rep1", members:[ {_id:0,host:'192.168.169.129:10000',priority:2}, {_id:1,host:'192.168.169.129:10001',priority:1},

{_id:2,host:'192.168.169.129:10002',arbiterOnly:true}] };

>rs.initiate(cfg) #使配置生效

{

"set" : "rep1",

"date" : ISODate("2014-09-05T02:44:43Z"),

"myState" : 1,

"members" : [

{

"_id" : 0,

"name" : "192.168.169.129:10000",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"uptime" : 200,

"optime" : Timestamp(1357285565000, 1),

"optimeDate" : ISODate("2013-01-04T07:46:05Z"),

"self" : true

},

{

"_id" : 1,

"name" : "192.168.169.129:10001",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 200,

"optime" : Timestamp(1357285565000, 1),

"optimeDate" : ISODate("2013-01-04T07:46:05Z"),

"lastHeartbeat" : ISODate("2013-01-05T02:44:42Z"),

"pingMs" : 0

},

{

"_id" : 2,

"name" : "192.168.169.129:10002",

"health" : 1,

"state" : 7,

"stateStr" : "ARBITER",

"uptime" : 200,

"lastHeartbeat" : ISODate("2013-01-05T02:44:42Z"),

"pingMs" : 0

}

],

"ok" : 1

}

配置过程中可能还会出现其他的一些错误,不过都可以去查看相应的日志文件,去解决。

上文就是重庆云诚科技小编解疑贡献者:(远山碧)回答的关于“Linux 搭建JBOSS EAP集群,启动Slaver时报错,连接不到主机;”的问题了,不知是否已经解决你的问题?如果没有,下一篇内容可能是你想要的答案,接下来继续解答下文用户【嗳指间沙】分析的“如何利用Linux和GFS打造集群存储”的一些相关疑问做出分析与解答,如果能找到你的答案,可以关注本站。

Linux 搭建JBOSS EAP集群,启动Slaver时报错,连接不到主机;

如何利用Linux和GFS打造集群存储

体育爱好者提供:【嗳指间沙】 ,解答(服务器集群搭建教程)的问题,如果问题解决,可以关注本站!

贡献者回答负载均衡是一项困难的任务。我们经常需要通过NFS(网络文件系统)或其他机制来为数据提供中心地址,从而共享文件系统。虽然你的安全机制可能可以让你免于Web服务器节点的故障,但是你仍然需要通过中央存储节点来共享数据。

通过GFS(全局文件系统)——Linux的一个免费集群文件系统——你可以创建一个不需要依赖其他服务器的真正稳定的集群。在这篇文章中,我们将展示如何正确地设置GFS.

从概念上来说,一个集群文件系统可以允许多个操作系统载入同一个文件系统并可以在同一时间内向同一文件系统写入数据。现在有许多集群文件系统,包括Sun的Lustre,Oracle的OCFS(Oracle集群文件系统),以及Linux的GFS.

有许多方法可以让一个块设备同时被多个服务器所使用。你可以分区出一个对多个服务器都可视的SAN(存储局域网)LUN(逻辑单元号),设置好相应的iSCSI(互联网小型计算机系统接口),或使用DRBD(分布式复制块设备)在两台服务器之间复制一个分区。在使用DRBD的时候,你将需要在主/主节点中设置好DRBD以使用GFS.

GFS要求

运行GFS意味着你在运行一个集群。目前为止,运行GFS的最简单的手段就是使用Red Hat Cluster Suite(RHCS:Red Hat集群套件)。这个套件在CentOS中就有。此外,还需要下面这些包:cman——集群管理器;lvm2-cluster——使LVM(逻辑卷管理器)可以支持集群的CLVM(集群逻辑卷管理器)包;kmod-gfs——GFS内核模块;最后是gfs-utils.

集群管理器(cman)包含必要的工具,比如分布式锁管理器。除非你希望花时间来确认各种不同的分发版本是如何采用cman的,否则我们强烈推荐使用CentOS或RHEL.同时,你还将获得RH(Red Hat)所维护的各种最新版本的集群服务,此外你还可以获得一个比较稳定的环境。

Fencing(阻绝)机制是绝对必要的。一些指导性文章建议将阻绝模式设定成"手动",因为阻绝设置有可能比较复杂。阻绝意味在集群中进行隔离,或马上中断某些危险节点的运作。如果集群无法阻绝某个发生故障的节点,那么你的GFS将会出现很多问题,因此不要跳过这个步骤。

创建集群设置

你可以通过/etc/cluster/里面的cluster.conf完成大部分的集群设置。我不建议使用各种集群管理应用程序来创建这个设置文件。即使是完全支持的RHEL应用程序,比如两个月前发布的Conga,也经常会创建一些无效的cluster.conf文件,并且无法被必要的服务所解析。

下面是一个cluster.conf文件的例子。这个设置文件采用漂亮的XML格式,其内容非常直接。首先,我们对集群进行命名,我们将这个集群称作"Web.1".

先跳过fence daemon选项,下一个部分就是集群主体的设置内容。你需要在clusternodes部分定义两个节点。设置文件将同时存放在两个节点上,这样这两个节点就都知道彼此的情况。

集群内的每个节点都声明其阻绝方式的名称是独一无二的。在clusternames结束标签下面,我们看到fencedevice部分定义了每个节点如何阻绝其他节点的方式。使用一个支持IPMI(智能平台管理接口)的服务器是最好的方式,而且其设置也是相当简单。你只要将IPMI的地点以及登录方式告诉IP就可以了。为了避免在cluster.conf中留下密码,你可以将它指向一个由根所拥有的脚本并由这个脚本来返回密码。

我们还要指出的是我们在设置中定义了两个节点。这是必须的,因为通常来说,除非大部分节点都同意自己的状态,否则集群无法达到"Quorate"状态。如果只有两个节点的话,没有肯定多数,因此这种方式让集群只能在两个节点下工作,而不能只在只有一个节点的情况下工作。这是设置基本集群的必要方式。

在每个节点上运行"service cman start",系统应该可以开始正常运作。你可以检查"clustat"或"cman nodes"来确认节点是否良好运行。如果有哪个必要的部分没有启动,那么集群将不会显示"Quorate"状态。

GFS设置

首先,我们需要设置CLVM,这样我们才可以通过GFS使用LVM.激活CLVM只要在lvm.conf中设定"locking type=3"就可以了。

然后,就像平常一样创建一个LVM卷组和卷,但是使用的是共享的块设备。如果你使用的是DRBD,你将有可能使用/dev/drbd0.我创建了一个物理卷,然后创建一个名为vg01的卷组,然后创建一个名为web1的逻辑卷,这个卷在:/dev/vg01/web1.

最后,我们需要创建文件系统:

gfs_mkfs -t web1:mygfs -p lock_dlm -j 2 /dev/vg01/web1

-t中给定的名称必须是集群的名称,然后后面是你给这个文件系统所起的名字。只有web1集群的成员才可以载入这个文件系统。然后,设定分布式锁管理器的锁钥类型,指明你需要两份journal(因为这是一个双节点集群)。如果你预计未来要增加更多的节点,那么你需要在这时设定足够高的journal数量。

总结

我们现在可以开始使用这个文件系统了。在两个节点上启动"clvmd"和"gfs"服务。现在你就可以通过"-t gfs"来将类型指定为GFS,从而载入文件系统。

在开始启动之前,一定要设定好cman,clvmd和gfs服务。你最好能熟悉clustat和gfs_tool命令,因为在系统出现问题的时候,你可以用这些命令来查找问题所在。

不要指望GFS能很快。如果有一个节点在进行大量的写入操作的话,那么在访问文件系统的时候出现停顿是很正常的。对于一个数据读取操作比数据写入操作多得多的Web集群来说,这倒不是什么问题。如果出现明显延迟,那么首先要检查一下所有组件的状况,然后评估正在写入的数据。防止延迟现象的最常见措施就是确保HTTP对话中的数据不是写入GFS卷。

关于[服务器集群搭建教程]的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux服务器集群搭建、服务器集群搭建教程的信息别忘了在本站进行查找喔。

推荐文章:

  • 膜的组词和部首,膜的组词和拼音是什么
  • 亲字组词100个 亲字的组词有
  • 酬谢是什么意思,定当酬谢是什么意思
  • 异的组词和部首,株的组词和部首
  • 箭组词和拼音 耸组词和拼音部首
  • 有志不在年高的意思-有志不在年高的意思雨来表达了
  • 繁衍的意思 繁衍的意思简单解释
  • 彤组词,胀组词和拼音
  • 血泊的拼音 泊的拼音
  • 螺组词拼音 螺的组词和拼音
  • 本文由网上采集发布,不代表我们立场,转载联系作者并注明出处:https://www.cqycseo.com/zixun/6733.html

    联系我们