You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

(currently work-in-progress)

OdysseusNet allows the configuration of each OdysseusNode using a separate XML-based configuration file. This file is located in the ODYSSEUS_HOME folder and is called odysseusNet.conf. With the activation of OdysseusNet, the contents of the file are read once. Further changes to the file during execution are not applied (Odysseus has to be started again, then). The configuration of OdysseusNet is based on key-value-pairs,whereas each key has to be unique. Developers can add/reuse own configuration keys (and values) described in Configuration for developers.

The following text is an example of such a OdysseusNet configuration file:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>OdysseusNet Property File edit only if you know what you are doing</comment>
<entry key="net.querydistribute.maxport">20000</entry>
<entry key="net.remoteUpdate">false</entry>
<entry key="net.discoverer.name">BroadcastOdysseusNodeDiscoverer</entry>
<entry key="net.source.lifetime">3600000</entry>
<entry key="net.querydistribute.minport">10000</entry>
<entry key="net.node.preserveid">false</entry>
<entry key="net.data.lifetime">3600000</entry>
<entry key="net.autostart">false</entry>
<entry key="net.querydistribute.randomport">false</entry>
<entry key="net.dd.local">true</entry>
<entry key="net.node.group">OdysseusGroup</entry>
<entry key="net.querydistribute.partition">querycloud</entry>
<entry key="net.querydistribute.allocation">querycount</entry>
<entry key="net.node.name">OdysseusNode_1554</entry>
<entry key="net.discoverer.interval">5000</entry>
<entry key="net.dd.checkinterval">30000</entry>
<entry key="net.logging.receive">false</entry>
<entry key="net.connect.selector.name">GroupSelectorComponent</entry>
</properties>

By default, the following configuration settings are supported:

KeyDefault valueDescription
net.node.nameOdysseusNodeHuman-readable non-unique name of the OdysseusNode. If value is OdysseusNode, a randomly generated 4-digit number is added to the name.
net.node.groupOdysseusGroupName of the group the node is participating in. The node connects only to other nodes with the same NodeGroup. Groups are only considered when net.connect.selector.name = GroupSelectorComponent
net.node.preserveidfalseIf true, the generated nodeID is saved and restored after each start of OdysseusNet.
net.autostartfalseIf true, OdysseusNet is actived immediately when Odysseus starts.
net.remoteUpdatefalseIf true, the node allows update/restart/reinstall-signals from remote nodes to be processed (do not set to true if using OdysseusStudio!). This setting is useful e.g., for RaspberryPi and remote updates.
net.logging.receivefalseIf true, the node receives and prints log messages from remote nodes.
net.querydistribute.minport10000Sets the minimum port number which is allowed to be used in transmitting data stream between distributed query parts.
net.querydistribute.maxport20000Sets the maximum port number which is allowed to be used in transmitting data stream between distributed query parts.
net.querydistribute.randomportfalseIf true, a port is randomly selected between net.querydistribute.minport and net.querydistribute.maxport. If false, ports are selected in sequence (beginning with net.querydistribute.minport).
net.querydistribute.partitionquerycloudDefault strategy for partitioning queries during query distribution if the user had not specified one.
net.querydistribute.allocationquerycountDefault strategy for allocation query parts if the user had not specified one.
net.discoverer.interval5000Time interval in milliseconds in which the node discoverer checks for new OdysseusNodes in the network.
net.discoverer.name
BroadcastOdysseusNodeDiscoverer
Name of the discoverer to be used to detect other nodes in the network.
net.source.lifetime  
net.data.lifetime  
net.dd.localtrueIf true, the node stores distributed data locally.
net.dd.checkinterval30000Time interval in milliseconds in which the node checks for invalid distributed data (e.g., exceeded lifetimes).
net.connect.selector.nameGroupSelectorComponentName of the selector which decides which connections the node has to establish.
  • No labels