Feeds:
பதிவுகள்
பின்னூட்டங்கள்

Archive for the ‘cluster’ Category

Required OS: Ubuntu 18.04 LTS

Target redis version: 3.0.6

1. Install required softwares and tools

sudo apt update

sudo apt install redis-server ruby redis-tools

Master Nodes: 

  • redis-master1 – 192.168.1.101
  • redis-master2 – 192.168.1.102
  • redis-master3 – 192.168.1.103

2. IP Address of the nodes

Slave Nodes

  • redis-slave1 – 192.168.1.104
  • redis-slave2 – 192.168.1.105
  • redis-slave3 – 192.168.1.106

3. To Create Redis Cluster (master-master-master) download following ruby tool ( so install redis library from gem repo)

wget https://github.com/seekasia/redis/raw/master/src/redis-trib-pass.rb

chmod +x redis-trib-pass.rb

sudo gem install redis -v 3.0.6

sudo ./redis-trib-pass.rb help

grep requirepass /etc/redis/redis.conf

requirepass mypassword

sudo ./redis-trib-pass.rb create –auth <cluter-password> MASTER1-IP:PortNo MASTER2-IP:PortNo …

sudo ./redis-trib-pass.rb create –auth mypassword 192.168.1.101:6379 192.168.1.102:6379 192.168.1.103:6379

4. Create slave for each master (master-slave):

In-order to create a master-slave cluster, you need to findout the master nodes ID, here is how to find

sudo redis-cli

auth mypassword

OK

> cluster nodes

note down the master-id and use it for master-slave creation

./redis-trib-pass.rb add-node –auth <cluster-password> –slave –master-id <master-node-uuid> SALVE-IP:PortNo MasterIP:PortNo

./redis-trib-pass.rb add-node –auth mypassword –slave –master-id 71d9ebaf2fb102959a3110a875800afb8472c747 192.168.1.104:6379 192.168.1.101:6379
./redis-trib-pass.rb add-node –auth mypassword –slave –master-id 53b90750c271adadb7934d36bb8e5f23fb3f4896 192.168.1.105:6379 192.168.1.102:6379
./redis-trib-pass.rb add-node –auth mypassword –slave –master-id d680676797c6c6bfae3a7d86e8a298e5fd9338c2 192.168.1.106:6379 192.168.1.103:6379

Here

71d9ebaf2fb102959a3110a875800afb8472c747 => redis-master1 ID

53b90750c271adadb7934d36bb8e5f23fb3f4896 => redis-master2 ID

d680676797c6c6bfae3a7d86e8a298e5fd9338c2 => redis-master3 ID

5. Verify cluster setup

sudo redis-cli

auth mypassword

OK

> cluster nodes

Read Full Post »

ரேபிட்எம்கியூ என்பது Erlang நிரலாக்க மொழியில் எழுதப்பட்ட ஒரு வகை தகவல் தரகர்(message broker) திறமூல மென்பொருள் ஆகும்.

ரேபிட்எம்கியூ கொத்தை அமைப்பதற்கு முன் உபுண்டு இயங்குதளத்தின் பொதி பட்டியலை புதுப்பிக்க பின்வரும் கட்டளைகளை இயக்குக.

sudo apt-get update
or
sudo apt update

ரேபிட்எம்கியூ சேவகன் பொதியை  நிறுவுக:

sudo apt-get install rabbitmq-server -y
or
sudo apt insatll rabbitmq-server -y

கட்டகத் தேவைுகள்:

3 கனிணிகள் மற்றும் அவை மூன்றும் ஒரே பிணையத்தின் கீழ் இணைந்திருத்தல் அவசியம்

rabbitmq1: 10.0.0.11/24 , rabbitmq2:10.0.0.12/24, மற்றும் rabbitmq3:10.0.0.13/24

3 கணினிகளிலும் /etc/hosts கோப்பில் பின்வரும் வரிகளைச் சேர்க்கவும்

10.0.0.11 rabbitmq1
10.0.0.12 rabbitmq2
10.0.0.13 rabbitmq3

மேற்கண்ட பொதியை நிறுவியப்பின்பு ரேபிட்எம்கியூ  சேவை இயக்கத்தில் இருக்கும். அதை அறிய பின்வரும் கட்டளைகளை செயல்படுத்தவும்,

root@arunx:~# rabbitmqctl status
Status of node ‘rabbit@arunx’ …
[{pid,28824},
{running_applications,
[{rabbitmq_management,”RabbitMQ Management Console”,”3.2.4″},
{rabbitmq_web_dispatch,”RabbitMQ Web Dispatcher”,”3.2.4″},
{webmachine,”webmachine”,”1.10.3-rmq3.2.4-gite9359c7″},
{mochiweb,”MochiMedia Web Server”,”2.7.0-rmq3.2.4-git680dba8″},
{rabbitmq_management_agent,”RabbitMQ Management Agent”,”3.2.4″},
{rabbitmq_web_stomp,”Rabbit WEB-STOMP – WebSockets to Stomp adapter”,
“3.2.4”},
{rabbitmq_stomp,”Embedded Rabbit Stomp Adapter”,”3.2.4″},
{rabbit,”RabbitMQ”,”3.2.4″},
{os_mon,”CPO CXC 138 46″,”2.2.14″},
{inets,”INETS CXC 138 49″,”5.9.7″},
{xmerl,”XML parser”,”1.3.5″},
{mnesia,”MNESIA CXC 138 12″,”4.11″},
{amqp_client,”RabbitMQ AMQP Client”,”3.2.4″},
{cowboy,”Small, fast, modular HTTP server.”,”0.5.0-rmq3.2.4-git4b93c2d”},
{sockjs,”SockJS”,”0.3.4-rmq3.2.4-git3132eb9″},
{sasl,”SASL CXC 138 11″,”2.3.4″},
{stdlib,”ERTS CXC 138 10″,”1.19.4″},
{kernel,”ERTS CXC 138 10″,”2.16.4″}]},
{os,{unix,linux}},
{erlang_version,
“Erlang R16B03 (erts-5.10.4) [64-bit] [async-threads:30] [kernel-poll:true]\n”},
{memory,
[{total,40754216},
{connection_procs,5264},
{queue_procs,5264},
{plugins,492720},
{other_proc,14611872},
{mnesia,94088},
{mgmt_db,8880},
{msg_index,33584},
{other_ets,1120832},
{binary,9696},
{code,19915177},
{atom,703377},
{other_system,3753462}]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,3349366374},
{disk_free_limit,50000000},
{disk_free,72792330240},
{file_descriptors,
[{total_limit,924},{total_used,4},{sockets_limit,829},{sockets_used,2}]},
{processes,[{limit,1048576},{used,314}]},
{run_queue,0},
{uptime,63398}]
…done.

ரேபிட்எம்கியூ கொத்தைக் கட்டமை / Configure RabbitMQ Cluster:

கொத்தைக் கட்டமைக்க 3 கணினிகள் தேவை rabbitmq1, rabbitmq2, மற்றும் rabbitmq3

rabbitmq1:

rabbitmq1 கணினியில் ரேபிட்எம்கியூ செயலிச் வேவையை நிறுத்துக

root@rabbitmq1:~# rabbitmqctl stop_app
​root@rabbitmq1:~# rabbitmqctl join_cluster rabbit@rabbitmq3
root@rabbitmq1:~# rabbitmqctl cluster_status
Cluster status of node ‘rabbit@rabbitmq2‘ …
[{nodes,[{disc,[‘rabbit@cdn-test1′,’rabbit@cdn-test2’,’rabbit@rabbitmq1‘]}]},
{running_nodes,[‘rabbit@cdn-test1′,’rabbit@cdn-test2’,’rabbit@rabbitmq1‘]},
{partitions,[]}]
…done.

rabbitmq2:

rabbitmq2 கணினியில் ரேபிட்எம்கியூ செயலிச் வேவையை நிறுத்துக

root@rabbitmq2:~# rabbitmqctl stop_app
​root@rabbitmq2:~# rabbitmqctl join_cluster rabbit@rabbitmq3
root@rabbitmq2:~# rabbitmqctl cluster_status
Cluster status of node ‘rabbit@rabbitmq2‘ …
[{nodes,[{disc,[‘rabbit@cdn-test1′,’rabbit@cdn-test2’,’rabbit@rabbitmq2‘]}]},
{running_nodes,[‘rabbit@cdn-test1′,’rabbit@cdn-test2’,’rabbit@rabbitmq2‘]},
{partitions,[]}]
…done.

Read Full Post »