Consul安装 linux环境

部署consul:
环境:linux-64bit
点击进入下载cansul网页
或者直接使用命令行:

wget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip
unzip consul_0.7.5_linux_amd64.zip

接下来可以看见目录下多了一个文件 consul
输入以下命令和结果表示基本安装成功

[hehe@pluto ~]$ ./consul 
usage: consul [--version] [--help]  []

Available commands are:
    agent          Runs a Consul agent
    configtest     Validate config file
    event          Fire a new event
    exec           Executes a command on Consul nodes
    force-leave    Forces a member of the cluster to enter the "left" state
    info           Provides debugging information for operators
    join           Tell Consul agent to join cluster
    keygen         Generates a new encryption key
    keyring        Manages gossip layer encryption keys
    kv             Interact with the key-value store
    leave          Gracefully leaves the Consul cluster and shuts down
    lock           Execute a command holding a lock
    maint          Controls node or service maintenance mode
    members        Lists the members of a Consul cluster
    monitor        Stream logs from a Consul agent
    operator       Provides cluster-level tools for Consul operators
    reload         Triggers the agent to reload configuration files
    rtt            Estimates network round trip time between nodes
    snapshot       Saves, restores and inspects snapshots of Consul server state
    version        Prints the Consul version
    watch          Watch for changes in Consul

[hehe@pluto ~]$ 

以ui形式开启:

./consul agent -server -ui -bootstrap-expect 1 -data-dir /tmp/consul
输入control+c可以优雅的退出

[hehe@pluto ~]$ ./consul members
Node   Address             Status  Type    Build  Protocol  DC
pluto  192.168.122.1:8301  alive   server  0.7.5  2         dc1
[hehe@pluto ~]$ 

可以查看server的信息
[hehe@pluto ~]$ curl 127.0.0.1:8500/v1/catalog/nodes
[{"ID":"ec5f2994-0b0c-44b0-81d6-9787c8d2a664","Node":"pluto","Address":"192.168.122.1","TaggedAddresses":{"lan":"192.168.122.1","wan":"192.168.122.1"},"Meta":{},"CreateIndex":4,"ModifyIndex":5}][hehe@pluto ~]$ 

查看节点

以配置启动:

mkdir /home/hehe/etc/consul.d .d是携带信息的文件夹
cd 到改目录下面
vim mysql.json
把下面的json内容写进去


对mysql的端口进行检测。注:mysql是tcp协议,支持脚本,http,tcp,ttl,python

vim mysql.json

{
    "services":[
        {
            "id":"mysql",
            "name":"mysql",
            "tags":["mysql"],
            "address":"127.0.0.1",
            "port":3306,
            "checks":[
                {
                    "Tcp":"127.0.0.1:3306",
                    "interval":"10s"
                }
            ]
        }
    ]
}

根据新的配置重启服务
./consul agent -server -ui -bootstrap-expect 1 -data-dir /tmp/consul -config-dir etc/consul.d

[hehe@pluto ~]$ ./consul agent -server -ui -bootstrap-expect 1 -data-dir /tmp/consul -config-dir etc/consul.d
==> WARNING: BootstrapExpect Mode is specified as 1; this is the same as Bootstrap mode.
==> WARNING: Bootstrap mode enabled! Do not enable unless necessary
==> Starting Consul agent…
==> Starting Consul agent RPC…
==> Consul agent running!
Version: ‘v0.7.5’
Node ID: ‘ec5f2994-0b0c-44b0-81d6-9787c8d2a664’
Node name: ‘pluto’
Datacenter: ‘dc1’
Server: true (bootstrap: true)
Client Addr: 127.0.0.1 (HTTP: 8500, HTTPS: -1, DNS: 8600, RPC: 8400)
Cluster Addr: 192.168.122.1 (LAN: 8301, WAN: 8302)
Gossip encrypt: false, RPC-TLS: false, TLS-Incoming: false
Atlas:

==> Log data will now stream in as it occurs:

2017/03/13 15:29:40 [INFO] raft: Initial configuration (index=1): [{Suffrage:Voter ID:192.168.122.1:8300 Address:192.168.122.1:8300}]
2017/03/13 15:29:40 [INFO] raft: Node at 192.168.122.1:8300 [Follower] entering Follower state (Leader: "")
2017/03/13 15:29:40 [INFO] serf: EventMemberJoin: pluto 192.168.122.1
2017/03/13 15:29:40 [WARN] serf: Failed to re-join any previously known node
2017/03/13 15:29:40 [INFO] consul: Adding LAN server pluto (Addr: tcp/192.168.122.1:8300) (DC: dc1)
2017/03/13 15:29:40 [INFO] serf: EventMemberJoin: pluto.dc1 192.168.122.1
2017/03/13 15:29:40 [WARN] serf: Failed to re-join any previously known node
2017/03/13 15:29:40 [INFO] consul: Adding WAN server pluto.dc1 (Addr: tcp/192.168.122.1:8300) (DC: dc1)
2017/03/13 15:29:48 [ERR] agent: failed to sync remote state: No cluster leader
2017/03/13 15:29:49 [WARN] raft: Heartbeat timeout from "" reached, starting election
2017/03/13 15:29:49 [INFO] raft: Node at 192.168.122.1:8300 [Candidate] entering Candidate state in term 6
2017/03/13 15:29:49 [INFO] raft: Election won. Tally: 1
2017/03/13 15:29:49 [INFO] raft: Node at 192.168.122.1:8300 [Leader] entering Leader state
2017/03/13 15:29:49 [INFO] consul: cluster leadership acquired
2017/03/13 15:29:49 [INFO] consul: New leader elected: pluto
2017/03/13 15:29:49 [WARN] agent: socket connection failed '127.0.0.1:3306': dial tcp 127.0.0.1:3306: getsockopt: connection refused
2017/03/13 15:29:51 [INFO] agent: Synced service 'mysql'

你可能感兴趣的:(mysql,consul)