В процессе своей профессиональной деятельности мне довелось разворачивать кластер, состоящий из 2х серверов , работающих на одной машине. Вот как я это делал…

Сначала создаем директорию “cluster”, где будут установлены узлы. Затем создаем в ней папку для каждого узла: “node1″ и “node2″. В эти папки копируем сервер .

Далее начинаем настраивать один из узлов. Вся настройка производится путем редактирования файла “settings.xml”, который находится в папке “conf” каждого из -ов. В этом файле есть закоментированная сторока:

<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/>

Раскомментировав эту строку, мы получаем кластер со стандартными настройками. Необходимо заметить, что порты, которые должен слушать каждый узел должны различатсья. Иначе получим ошибку “address already in use”. Проверим работу кластера… Для этого запускаем все узлы, с тестируемым приложением.

Следующие строки в логе сервера означают, что кластер работает:

Feb 1, 2008 12:10:39 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Feb 1, 2008 12:10:39 PM org.apache.catalina.tribes.transport.ReceiverBase bind
INFO: Receiver Server Socket bound to:/127.0.0.2:4000
Feb 1, 2008 12:10:39 PM org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
INFO: Setting cluster mcast soTimeout to 500
Feb 1, 2008 12:10:39 PM org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start level:4

Ниже приведены строки, которые вы должны увидеть при обнаружении нового сервера в кластере:

INFO: Replication member added:org.apache.catalina.tribes.membership.MemberImpl[tcp://host:4001,
host,4001, alive=1011,id={82 -96 30 -34 114 -125 71 -38 -109 80 -68 -88 17 120 -94 -23 }, 
payload={}, command={}, domain={}, ]

Для этого примера использовался 6.0.13.

Связанные записи