017、Redis的分布式集群(Cluster)架构管理之缩容实战案例
本文最后更新于 319 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

Redis的分布式集群(Cluster)架构管理之缩容实战案例

一.查看现有集群环境,我们的需求是将"172.200.1.201:10006"这个master节点和"172.200.1.201:10007"这个slave节点进行移除操作

1.查看master节点

[root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 10 connected 1365-5460
c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614917087180 11 connected 6827-10922
6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006 master - 0 1614917086677 12 connected 0-1364 5461-6826 10923-12287
d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614917085668 8 connected 12288-16383
[root@redis201.oldboyedu.com ~]# 

温馨提示:
    "172.200.1.201:10006"这个master节点存在的solt数量为:"0-1364 5461-6826 10923-12287"

2.查看slave节点

[root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep slave
a0f75a28e4b9b60b2c1910a20c15fc92e02c2d67 172.200.1.201:10004 slave c907ac66c16daa720735e89addc5a854c3c40a0f 0 1614917104309 11 connected
88e97940a7371296fb3d51589440dc43ea256599 172.200.1.201:10000 slave 022fdb712d56996201a0e892bf9547d0ede1dd3b 0 1614917103304 10 connected
ecf97a38e749c9e530f1da42ec35923e8fd7c8a1 172.200.1.201:10007 slave 6943a42e5c72a9a0d3c4d9ec1954132ab914465d 0 1614917102801 12 connected
c1146f293fca9207a60358b849be8ae6af7c6e2f 172.200.1.201:10002 slave d973719a920e2b1d8a14d43213bab3bad43cbc8a 0 1614917104811 8 connected
[root@redis201.oldboyedu.com ~]# 

二.将指定的redis实例从现有的redis cluster集群中移除

1.将"172.200.1.201:10006"的"0-1364"(共计1365个)slot迁移到"172.200.1.201:10003"节点

    (1)迁移数据之前(注意观察"6943a42e5c72a9a0d3c4d9ec1954132ab914465d"的slot编号变化哟~)
        [root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
        022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 10 connected 1365-5460
        c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614917087180 11 connected 6827-10922
        6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006 master - 0 1614917086677 12 connected 0-1364 5461-6826 10923-12287
        d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614917085668 8 connected 12288-16383
        [root@redis201.oldboyedu.com ~]# 

    (2)开始将"172.200.1.201:10006"节点迁移到"172.200.1.201:10003"节点:(如果有交互式界面,依次手动输入"1365","022fdb712d56996201a0e892bf9547d0ede1dd3b","6943a42e5c72a9a0d3c4d9ec1954132ab914465d","done","yes")
        [root@redis201.oldboyedu.com ~]# redis-trib.rb reshard 172.200.1.201:10005  # 注意哈,重新分片是我们连接的主机必须是一个master节点哟~
        >>> Performing Cluster Check (using node 172.200.1.201:10005)
        M: d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005
           slots:12288-16383 (4096 slots) master
           1 additional replica(s)
        S: 88e97940a7371296fb3d51589440dc43ea256599 172.200.1.201:10000
           slots: (0 slots) slave
           replicates 022fdb712d56996201a0e892bf9547d0ede1dd3b
        S: c1146f293fca9207a60358b849be8ae6af7c6e2f 172.200.1.201:10002
           slots: (0 slots) slave
           replicates d973719a920e2b1d8a14d43213bab3bad43cbc8a
        M: 022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003
           slots:1365-5460 (4096 slots) master
           1 additional replica(s)
        M: c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001
           slots:6827-10922 (4096 slots) master
           1 additional replica(s)
        S: a0f75a28e4b9b60b2c1910a20c15fc92e02c2d67 172.200.1.201:10004
           slots: (0 slots) slave
           replicates c907ac66c16daa720735e89addc5a854c3c40a0f
        S: ecf97a38e749c9e530f1da42ec35923e8fd7c8a1 172.200.1.201:10007
           slots: (0 slots) slave
           replicates 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        M: 6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006
           slots:0-1364,5461-6826,10923-12287 (4096 slots) master
           1 additional replica(s)
        [OK] All nodes agree about slots configuration.
        >>> Check for open slots...
        >>> Check slots coverage...
        [OK] All 16384 slots covered.
        How many slots do you want to move (from 1 to 16384)? 1365
        What is the receiving node ID? 022fdb712d56996201a0e892bf9547d0ede1dd3b
        Please enter all the source node IDs.
          Type 'all' to use all the nodes as source nodes for the hash slots.
          Type 'done' once you entered all the source nodes IDs.
        Source node #1:6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        Source node #2:done

        ...

            Moving slot 1359 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 1360 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 1361 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 1362 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 1363 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 1364 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        Do you want to proceed with the proposed reshard plan (yes/no)? yes

        ...

        Moving slot 1358 from 172.200.1.201:10006 to 172.200.1.201:10003: 
        Moving slot 1359 from 172.200.1.201:10006 to 172.200.1.201:10003: 
        Moving slot 1360 from 172.200.1.201:10006 to 172.200.1.201:10003: 
        Moving slot 1361 from 172.200.1.201:10006 to 172.200.1.201:10003: 
        Moving slot 1362 from 172.200.1.201:10006 to 172.200.1.201:10003: 
        Moving slot 1363 from 172.200.1.201:10006 to 172.200.1.201:10003: 
        Moving slot 1364 from 172.200.1.201:10006 to 172.200.1.201:10003: 
        [root@redis201.oldboyedu.com ~]#

    (3)迁移数据之后:(注意观察"6943a42e5c72a9a0d3c4d9ec1954132ab914465d"的slot编号变化哟~)
        [root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
        022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 13 connected 0-5460
        c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614919321311 11 connected 6827-10922
        6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006 master - 0 1614919321311 12 connected 5461-6826 10923-12287
        d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614919322823 8 connected 12288-16383
        [root@redis201.oldboyedu.com ~]# 

2.将"172.200.1.201:10006"的"5461-6826"(共计1366个)slot迁移到"172.200.1.201:10001"节点

    (1)迁移数据之前(注意观察"6943a42e5c72a9a0d3c4d9ec1954132ab914465d"的slot编号变化哟~)
        [root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
        022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 13 connected 0-5460
        c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614919611816 11 connected 6827-10922
        6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006 master - 0 1614919611312 12 connected 5461-6826 10923-12287
        d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614919610807 8 connected 12288-16383
        [root@redis201.oldboyedu.com ~]# 

    (2)开始将"172.200.1.201:10006"节点迁移到"172.200.1.201:10001"节点:(如果有交互式界面,依次手动输入"1366","c907ac66c16daa720735e89addc5a854c3c40a0f","6943a42e5c72a9a0d3c4d9ec1954132ab914465d","done","yes")
        [root@redis201.oldboyedu.com ~]# redis-trib.rb reshard 172.200.1.201:10005  # 注意哈,重新分片是我们连接的主机必须是一个master节点哟~
        >>> Performing Cluster Check (using node 172.200.1.201:10005)
        M: d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005
           slots:12288-16383 (4096 slots) master
           1 additional replica(s)
        S: 88e97940a7371296fb3d51589440dc43ea256599 172.200.1.201:10000
           slots: (0 slots) slave
           replicates 022fdb712d56996201a0e892bf9547d0ede1dd3b
        S: c1146f293fca9207a60358b849be8ae6af7c6e2f 172.200.1.201:10002
           slots: (0 slots) slave
           replicates d973719a920e2b1d8a14d43213bab3bad43cbc8a
        M: 022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003
           slots:0-5460 (5461 slots) master
           1 additional replica(s)
        M: c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001
           slots:6827-10922 (4096 slots) master
           1 additional replica(s)
        S: a0f75a28e4b9b60b2c1910a20c15fc92e02c2d67 172.200.1.201:10004
           slots: (0 slots) slave
           replicates c907ac66c16daa720735e89addc5a854c3c40a0f
        S: ecf97a38e749c9e530f1da42ec35923e8fd7c8a1 172.200.1.201:10007
           slots: (0 slots) slave
           replicates 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        M: 6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006
           slots:5461-6826,10923-12287 (2731 slots) master
           1 additional replica(s)
        [OK] All nodes agree about slots configuration.
        >>> Check for open slots...
        >>> Check slots coverage...
        [OK] All 16384 slots covered.
        How many slots do you want to move (from 1 to 16384)? 1366
        What is the receiving node ID? c907ac66c16daa720735e89addc5a854c3c40a0f
        Please enter all the source node IDs.
          Type 'all' to use all the nodes as source nodes for the hash slots.
          Type 'done' once you entered all the source nodes IDs.
        Source node #1:6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        Source node #2:done

        ...

            Moving slot 6821 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 6822 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 6823 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 6824 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 6825 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 6826 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        Do you want to proceed with the proposed reshard plan (yes/no)? yes

        ...

        Moving slot 6821 from 172.200.1.201:10006 to 172.200.1.201:10001: 
        Moving slot 6822 from 172.200.1.201:10006 to 172.200.1.201:10001: 
        Moving slot 6823 from 172.200.1.201:10006 to 172.200.1.201:10001: 
        Moving slot 6824 from 172.200.1.201:10006 to 172.200.1.201:10001: 
        Moving slot 6825 from 172.200.1.201:10006 to 172.200.1.201:10001: 
        Moving slot 6826 from 172.200.1.201:10006 to 172.200.1.201:10001: 
        [root@redis201.oldboyedu.com ~]# 

    (3)迁移数据之后(注意观察"6943a42e5c72a9a0d3c4d9ec1954132ab914465d"的slot编号变化哟~)
        [root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
        022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 13 connected 0-5460
        c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614919757352 14 connected 5461-10922
        6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006 master - 0 1614919756346 12 connected 10923-12287
        d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614919757856 8 connected 12288-16383
        [root@redis201.oldboyedu.com ~]# 

3.将"172.200.1.201:10006"的"10923-12287"(共计1365个)slot迁移到"172.200.1.201:10005"节点

    (1)迁移数据之前(注意观察"6943a42e5c72a9a0d3c4d9ec1954132ab914465d"的slot编号变化哟~)
        [root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
        022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 13 connected 0-5460
        c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614919757352 14 connected 5461-10922
        6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006 master - 0 1614919756346 12 connected 10923-12287
        d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614919757856 8 connected 12288-16383
        [root@redis201.oldboyedu.com ~]# 

    (2)开始将"172.200.1.201:10006"节点迁移到"172.200.1.201:10001"节点:(如果有交互式界面,依次手动输入"1366","c907ac66c16daa720735e89addc5a854c3c40a0f","6943a42e5c72a9a0d3c4d9ec1954132ab914465d","done","yes")
        [root@redis201.oldboyedu.com ~]# redis-trib.rb reshard 172.200.1.201:10005  # 注意哈,重新分片是我们连接的主机必须是一个master节点哟~
        >>> Performing Cluster Check (using node 172.200.1.201:10005)
        M: d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005
           slots:12288-16383 (4096 slots) master
           1 additional replica(s)
        S: 88e97940a7371296fb3d51589440dc43ea256599 172.200.1.201:10000
           slots: (0 slots) slave
           replicates 022fdb712d56996201a0e892bf9547d0ede1dd3b
        S: c1146f293fca9207a60358b849be8ae6af7c6e2f 172.200.1.201:10002
           slots: (0 slots) slave
           replicates d973719a920e2b1d8a14d43213bab3bad43cbc8a
        M: 022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003
           slots:0-5460 (5461 slots) master
           1 additional replica(s)
        M: c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001
           slots:5461-10922 (5462 slots) master
           1 additional replica(s)
        S: a0f75a28e4b9b60b2c1910a20c15fc92e02c2d67 172.200.1.201:10004
           slots: (0 slots) slave
           replicates c907ac66c16daa720735e89addc5a854c3c40a0f
        S: ecf97a38e749c9e530f1da42ec35923e8fd7c8a1 172.200.1.201:10007
           slots: (0 slots) slave
           replicates 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        M: 6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006
           slots:10923-12287 (1365 slots) master
           1 additional replica(s)
        [OK] All nodes agree about slots configuration.
        >>> Check for open slots...
        >>> Check slots coverage...
        [OK] All 16384 slots covered.
        How many slots do you want to move (from 1 to 16384)? 1365
        What is the receiving node ID? d973719a920e2b1d8a14d43213bab3bad43cbc8a
        Please enter all the source node IDs.
          Type 'all' to use all the nodes as source nodes for the hash slots.
          Type 'done' once you entered all the source nodes IDs.
        Source node #1:6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        Source node #2:done

        ...

            Moving slot 12285 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 12286 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
            Moving slot 12287 from 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
        Do you want to proceed with the proposed reshard plan (yes/no)? yes

        ...

        Moving slot 12281 from 172.200.1.201:10006 to 172.200.1.201:10005: 
        Moving slot 12282 from 172.200.1.201:10006 to 172.200.1.201:10005: 
        Moving slot 12283 from 172.200.1.201:10006 to 172.200.1.201:10005: 
        Moving slot 12284 from 172.200.1.201:10006 to 172.200.1.201:10005: 
        Moving slot 12285 from 172.200.1.201:10006 to 172.200.1.201:10005: 
        Moving slot 12286 from 172.200.1.201:10006 to 172.200.1.201:10005: 
        Moving slot 12287 from 172.200.1.201:10006 to 172.200.1.201:10005: 
        [root@redis201.oldboyedu.com ~]# 

    (3)迁移数据之前(注意观察"6943a42e5c72a9a0d3c4d9ec1954132ab914465d"的slot编号变化哟~)
        [root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
        022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 13 connected 0-5460
        c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614919955344 14 connected 5461-10922
        6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006 master - 0 1614919954841 12 connected
        d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614919954336 15 connected 10923-16383
        [root@redis201.oldboyedu.com ~]# 

4.将待删除的master节点的所有slot迁移到其它节点后,再删除master即可

[root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 13 connected 0-5460
c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614920091460 14 connected 5461-10922
6943a42e5c72a9a0d3c4d9ec1954132ab914465d 172.200.1.201:10006 master - 0 1614920092970 12 connected
d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614920092465 15 connected 10923-16383
[root@redis201.oldboyedu.com ~]# 
[root@redis201.oldboyedu.com ~]# redis-trib.rb del-node 172.200.1.201:10005 6943a42e5c72a9a0d3c4d9ec1954132ab914465d
>>> Removing node 6943a42e5c72a9a0d3c4d9ec1954132ab914465d from cluster 172.200.1.201:10005
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@redis201.oldboyedu.com ~]# 
[root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep master
022fdb712d56996201a0e892bf9547d0ede1dd3b 172.200.1.201:10003 myself,master - 0 0 13 connected 0-5460
c907ac66c16daa720735e89addc5a854c3c40a0f 172.200.1.201:10001 master - 0 1614920100536 14 connected 5461-10922
d973719a920e2b1d8a14d43213bab3bad43cbc8a 172.200.1.201:10005 master - 0 1614920100032 15 connected 10923-16383
[root@redis201.oldboyedu.com ~]# 

5.当master节点删除后,我们也要删除与之对应的slave节点

[root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep slave
a0f75a28e4b9b60b2c1910a20c15fc92e02c2d67 172.200.1.201:10004 slave c907ac66c16daa720735e89addc5a854c3c40a0f 0 1614920147389 14 connected
88e97940a7371296fb3d51589440dc43ea256599 172.200.1.201:10000 slave 022fdb712d56996201a0e892bf9547d0ede1dd3b 0 1614920146383 13 connected
ecf97a38e749c9e530f1da42ec35923e8fd7c8a1 172.200.1.201:10007 slave d973719a920e2b1d8a14d43213bab3bad43cbc8a 0 1614920146886 15 connected
c1146f293fca9207a60358b849be8ae6af7c6e2f 172.200.1.201:10002 slave d973719a920e2b1d8a14d43213bab3bad43cbc8a 0 1614920145374 15 connected
[root@redis201.oldboyedu.com ~]# 
[root@redis201.oldboyedu.com ~]# redis-trib.rb del-node 172.200.1.201:10005 ecf97a38e749c9e530f1da42ec35923e8fd7c8a1
>>> Removing node ecf97a38e749c9e530f1da42ec35923e8fd7c8a1 from cluster 172.200.1.201:10005
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@redis201.oldboyedu.com ~]# 
[root@redis201.oldboyedu.com ~]# redis-cli -p 10003 CLUSTER NODES | grep slave
a0f75a28e4b9b60b2c1910a20c15fc92e02c2d67 172.200.1.201:10004 slave c907ac66c16daa720735e89addc5a854c3c40a0f 0 1614920159487 14 connected
88e97940a7371296fb3d51589440dc43ea256599 172.200.1.201:10000 slave 022fdb712d56996201a0e892bf9547d0ede1dd3b 0 1614920158980 13 connected
c1146f293fca9207a60358b849be8ae6af7c6e2f 172.200.1.201:10002 slave d973719a920e2b1d8a14d43213bab3bad43cbc8a 0 1614920157972 15 connected
[root@redis201.oldboyedu.com ~]# 
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇