L'exécution de l'application jgroups à l'intérieur des conteneurs docker. Les conteneurs traversent deux nœuds (A & B) et ils sont tous connectés à l'aide du réseau Overlay Swarm.JGroups ne forme pas un cluster lors de l'exécution à l'intérieur d'un docker sur plusieurs nœuds
j'ai parlé https://docs.docker.com/engine/swarm/networking/
Voici ce que je l'ai fait et observé.
- Jgroup adresse de liaison est réglé sur le réseau de recouvrement IP du récipient
- conteneurs en cours d'exécution à l'intérieur du même noeud forment un cluster.
- J'utilisé
nslookup
pour assurer que le réseau de recouvrement IP d'un conteneur en cours d'exécution dans le nœud A est accessible par une course de conteneurs dans l'affichage noeud B docker node ls
correctement les noeuds et capables de programmer les instances conteneurs avec succès.
Docker Version: Version Docker 17.03.1-ce, construire c6d412e
OS: Ubuntu 16.04.2
Cloud: AWS (Port 7946 TCP/UDP et 4789 UDP sont ouverts)
JGroups: 3.6.6
JGroups XML:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:org:jgroups"
xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd">
<TCP bind_port="7600"
recv_buf_size="${tcp.recv_buf_size:5M}"
send_buf_size="${tcp.send_buf_size:5M}"
max_bundle_size="64K"
max_bundle_timeout="30"
use_send_queues="true"
sock_conn_timeout="300"
timer_type="new3"
timer.min_threads="4"
timer.max_threads="10"
timer.keep_alive_time="3000"
timer.queue_max_size="500"
thread_pool.enabled="true"
thread_pool.min_threads="2"
thread_pool.max_threads="8"
thread_pool.keep_alive_time="5000"
thread_pool.queue_enabled="true"
thread_pool.queue_max_size="10000"
thread_pool.rejection_policy="discard"
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="discard"/>
<JDBC_PING connection_url="jdbc:mysql://${database.host:localhost}:3306/mydb"
connection_username="root"
connection_password="root"
connection_driver="com.mysql.jdbc.Driver"
initialize_sql="CREATE TABLE JGROUPSPING (
own_addr varchar(200) NOT NULL,
bind_addr varchar(200) NOT NULL,
created timestamp NOT NULL,
cluster_name varchar(200) NOT NULL,
ping_data varbinary(5000) DEFAULT NULL,
PRIMARY KEY (`own_addr`,`cluster_name`))"
insert_single_sql="INSERT INTO JGROUPSPING (own_addr, bind_addr, created, cluster_name, ping_data) values (?,
'${jgroups.bind_addr:127.0.0.1}',now(), ?, ?)"
delete_single_sql="DELETE FROM JGROUPSPING WHERE own_addr=? AND cluster_name=?"
select_all_pingdata_sql="SELECT ping_data FROM JGROUPSPING WHERE cluster_name=?"
/>
<MERGE3 min_interval="10000"
max_interval="30000"/>
<FD_SOCK/>
<FD timeout="3000" max_tries="3" />
<VERIFY_SUSPECT timeout="1500" />
<BARRIER />
<pbcast.NAKACK2 use_mcast_xmit="false"
discard_delivered_msgs="true"/>
<UNICAST3 />
<pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
max_bytes="4M"/>
<pbcast.GMS print_local_addr="true" join_timeout="2000"
view_bundling="true"/>
<MFC max_credits="2M"
min_threshold="0.4"/>
<FRAG2 frag_size="60K" />
<RSVP resend_interval="2000" timeout="10000"/>
<pbcast.STATE_TRANSFER/>
Toute aide est appréciée
semble que réseau de recouvrement qui a été utilisé i encyted. Maintenant, j'ai supprimé Encrytion et ça marche maintenant. Pourtant, je ne sais pas comment le faire fonctionner avec le cryptage. –
ancien poste, mais avez-vous eu ce travail finalement? – comfytoday
Bonjour @comfytoday. Je ne suis pas encore en train de l'exécuter sans cryptage –