`
ginge
  • 浏览: 211815 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JGroup配置笔记

阅读更多

JGroup TCP比较关键的配置参数

 

TCP

TCP(bind_addr=192.168.30.66;start_port=7800;end_port=7081)

 

start_port="7800"

本节点监听的端口,默认为7800,如设置为0,将会随机选定一个端口绑定

end_port

尝试监听的最大端口,如果在start_portend_port指定的范围内都找不到一个可用端口,则抛出一个BindException。如果不指定end_port,或者end_port<start_portend_port将没有上限,如果start_port=end_portJGroup将会只用该端口来绑定。

bind_addr="192.168.1.3"

JGroup监听的物理IP,如不指定,JGroup将会绑定到所有可用网络接口。当有多个网络接口时应该指定一个

TCPPING

TCPPING(initial_hosts=hosta[2300],hostb[3400],hostc[4500];             port_range=3;num_initial_members=2;timeout=3000)

   

 

initial_hosts="hosta[2300],hostb[3400],hostc[4500]"

初始成员列表,所有成员都应该列出来,否则在特定条件下会形成封闭节点。

port_range="3"

查找初始成员的端口范围,结合上述的initial_hosts配置,当前节点将查找的成员有hosta:2300, hosta:2301, hosta:2302, hostb:3400, hostb:3401, hostb:3402, hostc:4500, hostc:4501, hostc:4502.

num_initial_members="2"

等待最多初始成员回应的数量,但是不得超过timeout定义的毫秒时间。默认值为2

 

 

配置例子:

1) 假设有两个JGroup应用都在 192.168.30.66

TCP(bind_addr=192.168.30.66;start_port=7800;end_port=7081;loopback=true;recv_buf_size=20000000;send_buf_size=640000;discard_incompatible_packets=true;max_bundle_size=64000;max_bundle_timeout=30;use_incoming_packet_handler=true;enable_bundling=true;use_send_queues=false;sock_conn_timeout=300;skip_suspected_members=true;use_concurrent_stack=true;thread_pool.enabled=true;thread_pool.min_threads=1;thread_pool.max_threads=25;thread_pool.keep_alive_time=5000;thread_pool.queue_enabled=false;thread_pool.queue_max_size=100;thread_pool.rejection_policy=run;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=1;oob_thread_pool.max_threads=8;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;oob_thread_pool.queue_max_size=100;oob_thread_pool.rejection_policy=run):TCPPING(timeout=3000;initial_hosts=192.168.30.66[7800];port_range=2;num_initial_members=2):MERGE2(max_interval=100000;min_interval=20000):FD_SOCK:FD(timeout=10000;max_tries=5;shun=true):VERIFY_SUSPECT(timeout=1500):BARRIER:pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400000):VIEW_SYNC(avg_send_interval=60000):pbcast.GMS(print_local_addr=true;join_timeout=3000;shun=true;view_bundling=true):FC(max_credits=2000000;min_threshold=0.10):FRAG2(frag_size=60000):pbcast.STREAMING_STATE_TRANSFER

 

 

 

2) 假设有后台应用和前端应用各两个, 后台应用在192.168.30.66192.168.30.76; 前端应用在on 192.168.30.69192.168.30.79

 

后台应用和前端应用都可以使用同一配置

 

TCP(start_port=7800;end_port=7800;loopback=true;recv_buf_size=20000000;send_buf_size=640000;discard_incompatible_packets=true;max_bundle_size=64000;max_bundle_timeout=30;use_incoming_packet_handler=true;enable_bundling=true;use_send_queues=false;sock_conn_timeout=300;skip_suspected_members=true;use_concurrent_stack=true;thread_pool.enabled=true;thread_pool.min_threads=1;thread_pool.max_threads=25;thread_pool.keep_alive_time=5000;thread_pool.queue_enabled=false;thread_pool.queue_max_size=100;thread_pool.rejection_policy=run;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=1;oob_thread_pool.max_threads=8;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;oob_thread_pool.queue_max_size=100;oob_thread_pool.rejection_policy=run):TCPPING(timeout=3000;initial_hosts=192.168.30.66[7800],192.168.30.76[7800],192.168.30.69[7800],192.168.30.79[7800];port_range=1;num_initial_members=4):MERGE2(max_interval=100000;min_interval=20000):FD_SOCK:FD(timeout=10000;max_tries=5;shun=true):VERIFY_SUSPECT(timeout=1500):BARRIER:pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400000):VIEW_SYNC(avg_send_interval=60000):pbcast.GMS(print_local_addr=true;join_timeout=3000;shun=true;view_bundling=true):FC(max_credits=2000000;min_threshold=0.10):FRAG2(frag_size=60000):pbcast.STREAMING_STATE_TRANSFER

  

 

 

JGroup UDP比较关键的配置参数

主要配置参数

参数

描述

mcast_addr

多播地址

mcast_port

多播端口

 

配置例子:

对于TCP的两个例子都可以用以下配置

 

UDP(mcast_addr=224.0.0.161;mcast_port=45566;ip_ttl=32;mcast_send_buf_size=150000;mcast_recv_buf_size=80000):PING(timeout=2000;num_initial_members=3):MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800):UNICAST(timeout=5000):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096;down_thread=false;up_thread=false):pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=true;print_local_addr=true;reject_join_from_existing_member=false):FD(timeout=2000;max_tries=5;shun=true)

 

 

 

 

 

注意事项

l  LAN或者多个子网内建议使用TCP方式,因为不同子网中,UDP多播消息可能会给路由器丢弃

l  FDFD_SOCK同时有时会出现SocketCloesedException,这时要注意重启时间不宜过短

l  出现GMS Join Retry循环时也要注意重启时间不宜过短

 

 

官方文档

http://www.jboss.org/community/docs/DOC-10878

5
0
分享到:
评论
1 楼 yaoweinan 2012-09-06  
不错

相关推荐

    jgroup配置[收集].pdf

    《JGroup配置详解》 JGroup是一个开源的Java框架,专门用于构建可靠的消息传递系统,尤其是在分布式计算环境中。本文将深入解析JGroup的协议栈配置,重点探讨传输协议和可靠消息传递机制。 **4.1 传输协议** 传输...

    EHCACHE集群配置-JGroup篇

    EHCAHCE基于JGROUP的集群配置方案,内含相关配置文件,及配置说明

    jgroup笔记.doc

    JGroup 是一个强大的开源库,专门用于构建集群通信系统。它的主要目标是在集群内部实现可靠的...通过自定义协议栈和配置,开发者可以轻松地调整 JGroup 以适应特定的应用场景和安全需求,实现高效、可靠的分布式系统。

    jgroup配置[归类].pdf

    在软件开发领域,JGroup是一个关键的组件,用于构建可靠的消息传递和组通信系统。JGroup的核心在于其协议栈,它由一系列的协议层组成,这些协议层共同负责消息的发送、接收、可靠传输以及组成员发现。本文将详细解析...

    Jgroup学习总结

    总之,JGroup是构建分布式系统的强大工具,通过理解其核心机制和灵活配置,开发者能够创建出高可用、容错的分布式应用程序。对于想要深入研究和使用JGroup的人来说,不断探索和实践是提升技术能力的有效途径。

    jgroup使用实例

    在使用JGroup时,你需要配置一个包含所需协议的堆栈。`jgroups-all.jar`是包含所有JGroup相关协议和实现的库文件,通过引入这个jar包,我们可以访问到JGroup的所有功能。 现在,我们来看看`Chattwo.java`这个文件,...

    jgroup手册

    Reliable group communication with JGroups 3.x Preface This is the JGroups manual. It provides information about: 1. Installation and configuration 2. Using JGroups (the API) 3. Configuration of the ...

    jgroup代码

    根据提供的文档内容,本文将对“jgroup代码”的安装步骤及如何编写一个简单的应用进行详细的阐述与解析。 ### 一、jgroup代码简介 JGroups是一个高性能、可扩展且易于使用的分布式通信库,用于实现集群中的节点...

    jgroup master

    - **没有网络连接时使用IP多播(Using IP Multicasting without a network connection)**:即使在没有实际网络的情况下,也可以通过配置来模拟多播通信。 - **遇到问题(Itdoesn't work!)**:如果遇到问题,首先检查...

    《jgroup in action》

    根据提供的信息,《jgroup in action》是一本关于JGroups工具包的书籍,它详细介绍了如何使用JGroups进行可靠的多播通信。JGroups是强大的UUP(User-level UDP)开源组件,已被JBoss采用,用于底层通信。下面我们将...

    java SWT编写JGroup局域网聊天程序

    ### Java SWT 编写 JGroup 局域网聊天程序知识点详解 #### 一、概述 在本篇文章中,我们将深入探讨如何使用Java Swing Toolkits (SWT) 和 JGroups 库来开发一个局域网内的聊天应用程序。文章的标题提到了“Java ...

    jgroup-3.0.1

    3. **新特性支持**:引入了新的特性,如更灵活的配置选项和更丰富的API,使得开发者可以根据实际需求定制自己的集群解决方案。 总结来说,JGroup-3.0.1是构建分布式系统,尤其是与Hibernate集成实现二级缓存的重要...

    jboss jdbc json jgroup.jar

    在IT行业中,JBoss、JDBC、JSON和JGroup是四个关键的概念,它们在不同的领域发挥着重要作用。这里,我们将深入探讨这些技术及其在实际应用中的相关知识点。 首先,JBoss是一个开源的应用服务器,它是Java EE(企业...

    Jgroups-all.jar

    JGroup最大的特点就是支持协议栈的可配置性,它本是实现了基本的Java的协议栈实现,也就是最基本的消息广播的基础,同时支持附加协议栈的配置,消息的传递就是在这些协议栈之间相互传递,封装,检查,丢弃,重发。...

    GroupData:使用JGroup实现分布式数据结构(堆栈和集合)

    使用JGroup实现分布式数据结构(堆栈和集合) 介绍 [什么是JGroups?]( ) [JGroup入门]( ) JGroups是完全用Java编写的可靠的组通信工具包。 它基于IP多播(也支持TCP),但是有一些特殊功能,例如可靠性和组...

    JGROUPS集群框架源码分析之消息发送、处理、接收

    如果配置了顺序保证,ORDERING协议会确保消息按正确的顺序交付。 - **过滤**:消息过滤器可以在此阶段运行,根据预定义的规则决定是否丢弃或修改消息。 - **事件通知**:一旦消息被验证和处理,JGROUPS会触发...

    Apusic+Apache集群配置.pdf

    在 Linux 系统下,这通常涉及到编辑 `jgroup.xml` 文件,配置 UDP 协议以进行节点间的通信。通过 `bind_addr` 参数,我们可以将 IP 地址绑定到特定的网络接口。 Apache 的负载均衡配置主要在 VirtualHost 中完成。...

    基于JGROUPS的ehcache的分布式缓存复制

    在压缩包文件“ehcache”中,可能包含了Ehcache的相关文档、示例代码或者配置文件,这些资源可以帮助开发者更深入地理解Ehcache的使用和配置,以及如何利用JGROUPS实现高效的分布式缓存复制。 总的来说,基于...

    Apusic+Apache集群配置[文].pdf

    在Linux环境下,需要修改`jgroup.xml`文件,配置网络通信参数。`bind_addr`参数用于指定Apusic服务器的IP地址,确保集群中的节点能相互通信。 4. **Apache的负载均衡配置**: 在Apache的配置文件中,`VirtualHost...

Global site tag (gtag.js) - Google Analytics