linux中安裝consul

https://blog.csdn.net/u014449653/article/details/61917159

 

 

部署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] <command> [<args>]

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 ~]$ 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
以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的信息
1
2
3
4
5
6
[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 ~]$ 

查看節點
1
2
3
4
以配置啓動:

1
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"
                }
            ]
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
根據新的配置重啓服務 
./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'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章