zoukankan      html  css  js  c++  java
  • consul

    • python-consul

    import consul

    c = consul.Consul(host="192.168.111.111")

    c.kv.put("key","value")

    a = c.kv.get("key")

    print a

    ('107', {u'LockIndex': 0, u'ModifyIndex': 107, u'Value': 'value', u'Flags': 0, u'Key': u'key', u'CreateIndex': 107})

    a = c.session.create(name="mhc",behavior='release',ttl=25)
    c.kv.put("key111", "v2222", acquire=a)
    b = c.kv.get("key111")[1]
    print b

    {u'LockIndex': 1, u'ModifyIndex': 332, u'Value': 'v2222', u'Session': u'63d76352-f2ee-8cf0-8c01-b91581d22c1a', u'Flags': 0, u'Key': u'key111', u'CreateIndex': 332}

    a = c.session.create(name="mhc",behavior='release',ttl=25)
    c.kv.put("key111", "v2222", acquire=a)
    time.sleep(2)
    print c.kv.put("key111", "done", release=a)
    b = c.kv.get("key111")[1]
    print b

    True

    {u'LockIndex': 3, u'ModifyIndex': 368, u'Value': 'done', u'Flags': 0, u'Key': u'key111', u'CreateIndex': 332}

    ------------------------------------------------------------------------------------------------------

    watch

    w.py

    #!/bin/python
    import sys
    import json

    if __name__ == "__main__":
    print "1111"
    a = sys.stdin.readline().strip()
    a = json.loads(a)

    print a
    print a["Value"]

    -------------------------------------

    [root@localmesos ~]# consul watch -type=key -key=key /root/PycharmProjects/test/w.py
    1111
    {"Key":"key","CreateIndex":11,"ModifyIndex":80,"LockIndex":0,"Flags":0,"Value":"MzMz","Session":""}
    1111
    {"Key":"key","CreateIndex":11,"ModifyIndex":98,"LockIndex":0,"Flags":0,"Value":"MjIy","Session":""}

    consul watch -type=service -service=consul /root/PycharmProjects/test/w.py
    1111
    [{u'Node': {u'Node': u'localmesos', u'Datacenter': u'dc1', u'TaggedAddresses': {u'wan': u'192.168.111.111', u'lan': u'192.168.111.111'}, u'ModifyIndex': 6, u'Meta': {}, u'Address': u'192.168.111.111', u'CreateIndex': 5, u'ID': u'cbefa43c-4343-8ee7-dee1-4944e230a1b1'}, u'Checks': [{u'Node': u'localmesos', u'CheckID': u'serfHealth', u'Name': u'Serf Health Status', u'ServiceName': u'', u'Notes': u'', u'Status': u'passing', u'ServiceID': u'', u'ServiceTags': [], u'Output': u'Agent alive and reachable'}], u'Service': {u'Service': u'consul', u'Tags': [], u'ModifyIndex': 6, u'EnableTagOverride': False, u'ID': u'consul', u'Address': u'', u'CreateIndex': 5, u'Port': 8300}}]

    ------------------------------------------------------------------------------

     consul agent -data-dir=/consul/data -config-dir=/consul/config -server -client=0.0.0.0 -bootstrap -ui

    consul agent -data-dir=/consul/data2 -config-dir=/consul/config2 -rejoin -retry-join 109.105.4.65 -retry-max 10 -retry-interval 10s
    consul agent -data-dir=/consul/data2 -config-dir=/consul/config2 -rejoin -retry-join 109.105.4.65:8301 -retry-max 10 -retry-interval 10s -config-file=/consul/config2/default.json -node-id=f4dc3632-51eb-c95b-af68-0aff63567ebf

    Node1:
     
    start-script: consul agent -config-dir /tmp/config-n1/consul.d -config-file /tmp/config-n1/consul.d/default.json
    config:
     
    {
      "data_dir": "/tmp/Consul/data-n1",
      "server": true,
      "node_name": "node1",
      "bootstrap_expect": 3,
      "client_addr": "0.0.0.0",
      "ports": {
        "dns": 8600,
        "http": 8500,
        "rpc": 8400,
        "serf_lan": 8301,
        "serf_wan": 8302,
        "server": 8300
      }
    }
     
    Node2:
     
    start-script: consul agent -config-dir /tmp/config-n2/consul.d -config-file /tmp/config-n2/consul.d/default.json
    config:
     
    {
      "data_dir": "/tmp/Consul/data-n2",
      "server": true,
      "node_name": "node2",
      "bootstrap_expect": 3,
      "client_addr": "0.0.0.0",
      "ports": {
        "dns": 8601,
        "http": 8501,
        "rpc": 8401,
        "serf_lan": 8311,
        "serf_wan": 8312,
        "server": 8301
      }
    }
     
    Node3:
     
    start-script: consul agent -config-dir /tmp/config-n3/consul.d -config-file /tmp/config-n3/consul.d/default.json
    config:
     
    {
      "data_dir": "/tmp/Consul/data-n3",
      "server": true,
      "node_name": "node3",
      "bootstrap_expect": 3,
      "client_addr": "0.0.0.0",
      "ports": {
        "dns": 8603,
        "http": 8503,
        "rpc": 8403,
        "serf_lan": 8331,
        "serf_wan": 8332,
        "server": 8303
      }
    }
    ----------------------------------------------------------------

    docker 启动consul

     docker run -d -h master -v /mnt:/data -p $ip:8300:8300 -p $ip:8301:8301 -p $ip:8301:8301/udp -p $ip:8302:8302 -p $ip:8302:8302/udp -p $ip:8400:8400 -p 8500:8500 consul:0.7.1  agent -server -client=0.0.0.0 -bootstrap -ui

    本地 consul

    consul  agent -server -client=0.0.0.0 -bootstrap -ui -data-dir=/tmp/consul -advertise=192.168.111.111



  • 相关阅读:
    svn command line tag
    MDbg.exe(.NET Framework 命令行调试程序)
    Microsoft Web Deployment Tool
    sql server CI
    VS 2010 One Click Deployment Issue “Application Validation did not succeed. Unable to continue”
    mshtml
    大厂程序员站错队被架空,只拿着五折工资!苟活和离职,如何选择?
    揭秘!Windows 为什么会蓝屏?微软程序员竟说是这个原因...
    喂!千万别忘了这个C语言知识!(~0 == -1 问题)
    Linux 比 Windows 更好,谁反对?我有13个赞成理由
  • 原文地址:https://www.cnblogs.com/mhc-fly/p/6918005.html
Copyright © 2011-2022 走看看