Pivotal Gemfire Locator进程描述

Pivotal Gemfire Locator进程描述

Locator是Pivotal Locator的一个进程,它告诉新的连接的成员,正在运行的成员的位置,以及为服务器的使用提供负载平衡。

你可以将locator作为对等的locators或者服务器locator或者两者兼顾进行运行。

对等的locator将加入成员的连接信息传送给正运行在locator的分布式系统的成员。

服务器locator将客户端连接信息传送给正运行在locator的分布式系统的服务器。服务器locator也监视服务加载,将客户端发送给负载最小的服务器。

 

默认情况下,locator作为为对等的locator和服务器的locator运行。

你可以单独的运行locator,也可以将locator的运行嵌套到其他的Gemfire进程,单独的运行locator可以提供最高的可靠性以及locator服务作为一个整体的有用性。

 

Locator的配置和日志文件

Locator的配置和日志文件存在下面的属性。

当使用gfsh单独的启动一个locator的时候,gfsh将会自动的加载需要的jar文件到jvm进程的CLASSPATH中。如果使用LocatorLauncher API启动一个独立的locator,你必须在命令中指定$GEMFIRE_HOME/lib/locator-dependencies.jar来启动locator进程。

Locators是分布式系统的成员,它像其他的成员一样,在mcast-port和locator的配置选项中,locator配置的时候可以向servers配置一样。因此,如果分布式系统中还有另外两个locator每一个locator都可以参考其他的locator进行配置。

gfsh> start locator --name=locator1 --port=9009 --mcast-port=0  \ --locators='host1[9001],host2[9003]'

你可以使用gemfire.properties或者在命令行指定stat-up的参数来配置locators,如果在一个属性文件中指定了locator的配置,locator需要向分布式系统中其他成员一样的gemfire.properties设置,如果使用的是独立的,那么久需要一样的gfsecurity.properties设置,限制访问安全限制文件。

例如,在gemfire.properties中配置locators和多端口:

    locators=host1[9001],host2[9003]

mcast-port=0

如果你需要指定一个locator区连接一个在多站点服务的远程的站点,你需要像下面一样指定参数:

gfsh> start locator --name=locator1 --port=9009 --mcast-port=0 \

--J='-Dgemfire.remote-locators=10.117.33.214[9009],10.117.33.220[9009]'

没有缓存配置文件特定于locator。

对于日志文件的输出,这个locator在当前的工作目录下创建了日志文件。这个日志文件的名字默认是locator_name.log,位置在locator1这个文件中,如果你重启一个先前使用的locator,这个存在的日志文件就会自动的重新命名。当启动locator的时候,你可以通过在--log-level中指定一个等级来修改这个文件日志详情的等级。

默认情况下,locator会在当前执行gfsh命令的目录下的一个子文件下启动,这是当前工作目录的子目录,当使用gfsh启动locator的时候,你也可以指向一个不同的工作目录。

默认情况下,关闭的locator和由于网络分割时间或者成员没有反应而引起断开连接的locator将会重启并且自动重新连接已经存在的分布式系统,当一个locator处在一个正在重新连接的状态,这个locator就不会为分布式系统提供发现服务,看504页可以得到更加详细的介绍。

Locators和集群配置服务

Locators使用集群配置服务保存配置信息,从而应用到所有的集群成员,或者指定组的成员。这个配置信息被保存在locator的目录下,并且被传播到分布式集群中的所有locators中,当你使用gfsh启动一个server的时候,这个server将会接受来自locator的组级的或者集群级的配置信息。

 

启动locator

使用下面的指南启动locator

单机的locator:可以用下面方法中的一种启动单机的locator。

使用gfsh命令行功能,启动的语法如下:

gfsh>start locator --name=locator1

gfsh>start locator --name=locator2 --bind-address=192.168.129.205 --port=13489

使用com.gemstone.gemfire.distributed.LocatorLauncher类下的main函数启动locator,java执行。例如:

    working/directory/of/Locator/process$java -server -classpath "$GEMFIRE/

lib/locator-dependencies.jar:/path/to/application/classes.jar" \

    com.gemstone.gemfire.distributed.LocatorLauncher start Locator1 --

port=11235 --redirect-output

特别的,你可以使用LocatorLauncher类的API去启动一个嵌套在你刚刚启动的JAVA应用进程的locator服务。你执行java命令的目录就会成为locator进程运工作的目录。

当要启动多个locator的时候,不用同时启动他们。一个最好的方法是,在启动其他的locator之前,你应该等待大约30秒中,让第一个locator完全启动。要检查locator是否正常启动,以及locator的日志文件,你可以使用gfsh status locator命令去查看运行着的locator的运行时间。

嵌入的locator:在成员启动或者通过API来管理本地协作的locator。

使用gemfire.properties配置文件中的start-locator属性,在Gemfire成员中自动启动locator,当成员退出时,locator自动停止,这个属性的语法如下:

    #gemfire.properties

start-locator=[address]port[,server={true|false},peer={true|false}]

例如:

#gemfire.properties

start-locator=13489

使用代码中的com.gemstone.gemfire.distributed.LocatorLauncher API启动locator,使用LocatorLauncher.Builder类创建一个LocatorLauncher实例,然后使用一个start()方法去启动一个嵌入在java应用的进程的locator服务。LocatorLauncher类中其他的方法提供locator的状态信息,以及停止locator。

 

这是另外一个嵌入在应用中的locator的例子,在允许其他成员访问它的时候启动locator并且检查locator的状态。

 

 

 

 

检查locator的状态

如果已经在gfsh下连接到了分布式系统,你可以通过locator的名字检查正在运行的locator的状态,例如:

status locator --name=locator1

如果没有连接到分布式系统,你可以通过提供的locator的PID或者主机名,端口号,或者现在工作的目录来检查locator的状态,例如:

gfsh>status locator --pid=2986

or

gfsh>status locator --host=host1 --port=1035

or

gfsh status locator --dir=<locator_working_directory>

locator_working_directory就是locator的工作目录。

如果成功的话,将会返回下面的信息。

 

停止locator

如果你在gfsh先连接到了分布式系统,你可以通过提供的名字来停止正在运行的locator。例如:

stop locator --name=locator1

如果没有连接到分布式系统,你可以通过制定locator的PID号或者locator当前工作的目录来停止locator。例如

gfsh>stop locator --pid=2986

or

gfsh>stop locator --dir=<locator_working_directory>

locator_working_directory就是当前运行着的locator的目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值