For information on how to get started with Apache Ignite, please visit: [Getting Started].
You can find the full Apache Ignite documentation here: [Full documentation].
Ignite plugins is an open source project and anyone can download it.
This project contains plugins for Apache Ignite project. Over the past few years it was a much needed project which I had in my mind for the community.
This project contains the following plugins which can be used with Apache Ignite.
Segmentation in the grid can happen for various reasons, but in vast majority of cases it's a long GC pause. In this case node does not close connections, but becomes unresponsive, which causes the cluster to remove it from topology after failure detection timeout.
Clone the repository and build the jar locally. By default it uses Apache Ignite version 2.6.0 but you can override it during the build by providing a specific version.
mvc clean install -Dapache-ignite.version=2.6.0
download the binary from bin folder, and put it inside IGNITE_HOME/libs folder. The jar will be picked up automatically when the grid is started.
Please see IgniteConfiguration java docs for the following methods:
- setSegmentationPolicy
- setWaitForSegmentOnStart
- setAllSegmentationResolversPassRequired
- setSegmentationResolveAttempts
- setSegmentCheckFrequency
- setSegmentationResolvers
When the segement resolver check is failed, the node will perform operation based on the SegmentationPolicy. See SegmentationPolicy java docs as well to understand more about what each SegmentationPolicy is doing behind the scenes.
See Ignite Local and Remote Events to see how can you subscribe and query EventType.EVT_NODE_SEGMENTED event.
For up to dated java docs, please see the docs folder. I have tried my best to write all the resolvers documentation but in-case if something is missing, please let me know.
There are three segement resolvers available:
- NodeReachabilitySegmentationResolver
- SharedFileSystemSegmentationResolver
- TcpIpSegmentationResolver
NodeReachabilitySegmentationResolver:
<bean id="nodeReachability" class="com.ig.segmentation.network.segment.NodeReachabilitySegmentationResolver">
<property name="localNodeName" value="localhost"/>
<property name="targetNodeName" value="localhost"/>
</bean>
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="segmentationResolvers">
<ref bean="nodeReachability"/>
</property>
</bean>
SharedFileSystemSegmentationResolver
<bean id="sharedFileSystemResolver" class="com.ig.segmentation.network.segment.SharedFileSystemSegmentationResolver">
... set the properties ...
</bean>
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="segmentationResolvers">
<ref bean="sharedFileSystemResolver"/>
</property>
</bean>
TcpIpSegmentationResolver
<bean id="tcpIpResolver" class="com.ig.segmentation.network.segment.TcpIpSegmentationResolver">
... set the properties ...
</bean>
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="segmentationResolvers">
<ref bean="tcpIpResolvers"/>
</property>
</bean>