Ինչպես տեղադրել CockroachDB Cluster-ը Ubuntu 24.04-ում


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 20.04 (Կիզակետային Fossa)
  • Ubuntu 18.04 (Bionic Beaver)

Այս էջում

  1. Նախադրյալներ
  2. Օգտագործողի կարգավորում
  3. Ներբեռնում է CockroachDB երկուական
  4. TLS վկայագրերի ստեղծում

    1. CA վկայագրի ստեղծում
    2. Հաճախորդի վկայականի ստեղծում
    3. Սերվերի վկայագրերի ստեղծում
  5. Աշխատում է CockroachDB-ն որպես ծառայություն
  6. CockroachDB կլաստերի ստեղծում
  7. Մուտք գործեք CockroachDB վեբ ադմինիստրացիա
  8. Եզրակացություն

CockroachDB-ն բարձր ճկուն և մասշտաբային բաշխված SQL տվյալների բազա է, որը նախատեսված է մեծածավալ տվյալների ծանրաբեռնվածությունը հեշտությամբ կարգավորելու համար: Երբ տեղադրվում է Ubuntu-ում, այն ապահովում է բաց կոդով, ամպային տվյալների բազայի լուծում, որն ապահովում է ուժեղ հետևողականություն, բարձր հասանելիություն և հորիզոնական մասշտաբայնություն: CockroachDB-ի ճարտարապետությունը թույլ է տալիս ավտոմատ կերպով կրկնօրինակել և բաշխել տվյալները մի քանի հանգույցների վրա՝ ապահովելով տվյալների ամբողջականությունը և նվազագույնի հասցնելով անգործությունը՝ չնայած ապարատային խափանումներին: Դրա համատեղելիությունը PostgreSQL-ի հետ այն դարձնում է բազմակողմանի ընտրություն ծրագրավորողների համար, ովքեր փնտրում են տվյալների բազայի կայուն համակարգ, որն ունակ է կարգավորել պահանջկոտ հավելվածները: CockroachDB-ի տեղադրումը Ubuntu-ում թույլ է տալիս օգտվողներին օգտագործել այս առաջադեմ հնարավորությունները՝ միաժամանակ օգտվելով Ubuntu օպերացիոն համակարգի անվտանգությունից և կայունությունից: 

CockroachDB-ն պահում է ձեր տվյալները մի քանի վայրերում՝ դարձնելով տվյալների առաքումն ավելի արագ: Բացի այդ, այն հեշտ է մասշտաբավորել և ապահովում է բարձր հասանելիություն և սխալների հանդուրժողականություն ձեր հավելվածների համար:

Այս ուղեցույցում մենք ձեզ ցույց կտանք, թե ինչպես տեղադրել CockroachDB կլաստերը Ubuntu 24.04 սերվերների վրա:

Նախադրյալներ

Նախքան հետագա գնալը, համոզվեք, որ ունեք հետևյալը.

  • Երկու կամ երեք Ubuntu 24.04 սերվեր:
  • Ոչ արմատական օգտվող, ադմինիստրատորի արտոնություններով:

Օգտագործողի կարգավորում

Նախքան CockroachDB-ն տեղադրելը, դուք կստեղծեք համակարգի նոր օգտվող և խումբ cockroach: Սա կօգտագործվի CockroachDB ծառայությունը գործարկելու համար:

Նախ, գործարկեք ստորև նշված հրամանը, որպեսզի ավելացնեք համակարգի նոր օգտվող cockroach տնային գրացուցակով /opt/cockroachdb:

sudo adduser --տուն /opt/cockroachdb --համակարգ --խմբային ուտիճ

Այժմ փոխեք /opt/cockroachdb գրացուցակի սեփականությունը օգտվողին և խմբավորեք cockroach հետևյալով.

sudo chown -R cockroach:cockroach /opt/cockroachdb

Ներբեռնում է CockroachDB երկուական

CockroachDB-ն տեղադրելու համար կարող եք հեշտությամբ ներբեռնել այն GitHub էջից և տեղափոխել CockroachDB երկուական ֆայլը ձեր Ubuntu համակարգի bin գրացուցակ:

Այցելեք CockroachDB GitHub էջը և վերցրեք վերջին տարբերակի հղումը: Ներբեռնեք այն wget հրամանով այսպես.

wget https://binaries.cockroachdb.com/cockroach-v24.1.1.linux-amd64.tgz

Ներբեռնումն ավարտվելուց հետո հանեք CockroachDB-ը և տեղափոխեք cockroach երկուական ֆայլը /usr/bin գրացուցակ:

tar -xf cockroach-v24.1.1.linux-amd64.tgz
cp -i cockroach-*/cockroach /usr/bin/

Այժմ ստուգեք CockroachDB տարբերակը հետևյալով.

ուտիճ --տարբերակ

Ստորև բերված ելքում դուք կարող եք տեսնել, որ տեղադրված է CockroachDB v24:

TLS վկայագրերի ստեղծում

CockroachDB կլաստեր ստեղծելու համար դուք պետք է ստեղծեք SSL/TLS վկայագիր՝ կլաստերը ապահովելու համար: Դուք պետք է գեներացնեք և բաշխեք CA վկայագրերը սերվերների միջև, այնուհետև ստեղծեք վկայագրեր օգտվողների և սերվերների համար:

Նախքան հետագա գնալը, գործարկեք ստորև նշված հրամանը և՛ server1 և՛ server2 վրա: Դրանով դուք կստեղծեք դիրեկտորիաներ վկայագրեր և մասնավոր լարային TLS վկայագրերի համար:

mkdir -p /opt/cockroachdb/{certs, private}

CA վկայագրի ստեղծում

Այս բաժնում դուք կստեղծեք CA վկայագիր server1-ից և վերբեռնեք այն server2՝ scp կամ ապահով պատճենի միջոցով:

server1-ում գործարկեք ստորև նշված հրամանը` CA (Վկայագրման մարմին) վկայագրեր ստեղծելու համար: CA վկայականները ca.crt և ca.key կստեղծվեն:

cockroach cert create-ca
–certs-dir=/opt/cockroachdb/certs
–ca-key=/opt/cockroachdb/private/ca.key

Այժմ վերբեռնեք ca.crt և ca.key server2 scp կամ ապահով պատճենով: Համոզվեք, որ կարող եք մուտք գործել server2 առանց խնդրի:

scp /opt/cockroachdb/private/ca.key [email :/opt/cockroachdb/private/
scp /opt/cockroachdb/certs/ca.crt [email :/opt/cockroachdb/certs/

Հաճախորդի վկայականի ստեղծում

CA վկայագիրը ստեղծելուց հետո դուք կստեղծեք հաճախորդի վկայագիր՝ CockroachDB կլաստերը կառավարելու համար: Միայն այս վկայական ունեցող օգտվողները կարող են միացնել և կառավարել CockroachDB կլաստերը:

Հաճախորդի վկայականը ստեղծելու և ստորագրելու համար rootԳործարկեք հետևյալ cockroach հրամանը:

cockroach cert create-client \
root \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key

Սերվերի վկայագրերի ստեղծում

Այս բաժնում դուք կստեղծեք սերվերի վկայագրեր և՛ server1 և՛ server2-ում:

server1-ում գործարկեք ստորև նշված հրամանը՝ սերվերի վկայական ստեղծելու համար: Համոզվեք, որ փոխեք IP հասցեն և հյուրընկալողի անունը ձեր տեղեկություններով:

cockroach cert create-node \
server1 \
192.168.5.15 \
localhost \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt /cockroachdb/private/ca.key

Այժմ անցեք server2 և ստեղծեք հանգույցի վկայագիր հետևյալով. Փոխեք IP հասցեն և հոսթի անունը server2 տեղեկություններով:

cockroach cert create-node \
server2 \
192.168.5.16 \
localhost \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt /cockroachdb/private/ca.key

Վերջապես, գործարկեք ստորև նշված հրամանը և՛ server1, և՛ server2՝ certs և մասնավոր դիրեկտորիաների սեփականությունը փոխելու համար: օգտվող cockroach:

sudo chown -R cockroach:cockroach /opt/cockroachdb/{certs, private}

Աշխատում է CockroachDB-ն որպես ծառայություն

SSL/TLS վկայականներ ստեղծելուց հետո դուք կստեղծեք համակարգային սպասարկման ֆայլ յուրաքանչյուր CockroachDB սերվերի համար: Սա թույլ է տալիս գործարկել CockroachDB-ն հետին պլանում և կարող եք հեշտությամբ կառավարել այն systemctl-ի միջոցով:

Ստեղծեք նոր systemd ծառայության ֆայլ /etc/systemd/system/cockroachdb.service nano խմբագրիչով:

sudo nano /etc/systemd/system/cockroachdb.service

server1-ի համար տեղադրեք ստորև նշված կոնֆիգուրացիան: --advertise-addr տարբերակում մուտքագրեք server1 IP հասցեն: --join ընտրանքում մուտքագրեք և server1 և server2 IP հասցեները:

[Unit]
Description=Cockroach Database cluster node
Requires=network.target

[Service]
Type=notify
WorkingDirectory=/opt/cockroachdb
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.15 --join=192.168.5.15,192.168.5.16
TimeoutStopSec=60
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=cockroach
User=cockroach

[Install]
WantedBy=default.target

server2-ի համար տեղադրեք ստորև նշված կոնֆիգուրացիան: --advertise-addr տարբերակում մուտքագրեք server2 IP հասցեն: --join ընտրանքում մուտքագրեք և server1 և server2 IP հասցեները:

[Unit]
Description=Cockroach Database cluster node
Requires=network.target

[Service]
Type=notify
WorkingDirectory=/opt/cockroachdb
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.16 --join=192.168.5.15,192.168.5.16
TimeoutStopSec=60
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=cockroach
User=cockroach

[Install]
WantedBy=default.target

Պահպանեք և դուրս եկեք ֆայլից, երբ ավարտեք:

Այժմ գործարկեք ներքևում գտնվող systemctl հրամանը` systemd կառավարիչը վերաբեռնելու և ձեր փոփոխությունները կիրառելու համար:

sudo systemctl daemon-reload

Այնուհետև սկսեք և միացրեք cockroachdb ծառայությունը server1 և server2-ում:

sudo systemctl enable -- now cockroachdb

Ի վերջո, ստուգեք cockroachdb ծառայության կարգավիճակը հետևյալով.

sudo systemctl կարգավիճակ cockroachdb

Դուք կտեսնեք, որ cockroachdb ծառայությունն աշխատում է server1 և server2 վրա:

CockroachDB կլաստերի ստեղծում

Այսպիսով, CockroachDB-ն աշխատում է և՛ server1 և՛ server2 վրա: Այժմ կարող եք սկզբնավորել CockroachDB կլաստերը այս սերվերներից մեկից:

server1-ում գործարկեք ներքևում գտնվող cockroach init հրամանը` CockroachDB կլաստերը սկզբնավորելու համար: Եթե հաջողվի, կտեսնեք ելք Կլաստերը հաջողությամբ սկզբնավորվել է:

cockroach init --certs-dir=/opt/cockroachdb/certs --host=192.168.5.15:26257

Այժմ գործարկեք ստորև նշված հրամանը՝ ստուգելու կլաստերի սկզբնավորման մատյանը: Եթե CockroachDB կլաստերը աշխատում է, դուք կստանաք CockroachDB հանգույցի սկիզբը:

grep «հանգույց մեկնարկող» /opt/cockroachdb/cockroach-data/logs/cockroach.log -A 11

Հաջորդը, ստորև գործարկեք cockroach հրամանը՝ ստուգելու ցանկի սերվերները և CockroachDB կլաստերի կարգավիճակը:

sudo cockroach node --certs-dir=/opt/cockroachdb/certs --host=server1 ls
sudo cockroach node --certs-dir=/opt/cockroachdb/certs --host=server1 կարգավիճակ

Ստորև կարող եք տեսնել, որ server1 և server2 հասանելի են CockroachDB կլաստերում active կարգավիճակով:

Այժմ գործարկեք cockroach sql հրամանը, որպեսզի մուտք գործեք CockroachDB կեղև: Այստեղից կարող եք կառավարել տվյալների բազան և օգտագործողին CockroachDB կլաստերում:

sudo cockroach sql --certs-dir=/opt/cockroachdb/certs --host=server1:26257

Գործարկեք հետևյալ հարցումները՝ alice նոր ադմինիստրատոր ստեղծելու համար p4ssw0rd գաղտնաբառով:

ՍՏԵՂԾԵԼ ՕԳՏԱԳՈՐԾՈՂ alice «p4ssw0rd» գաղտնաբառով;
ԳՐԱՆՑԵԼ ադմինիստրատորին alice-ին;

Մուտքագրեք quit՝ CockroachDB սերվերից դուրս գալու համար:

Մուտք գործեք CockroachDB վեբ ադմինիստրացիա

Լռելյայնորեն, CockroachDB վեբ ադմինիստրատորն աշխատում է 8080 նավահանգստում: Սա թույլ է տալիս կառավարել CockroachDB-ն վեբ բրաուզերի միջոցով:

CockroachDB վեբ կառավարման վահանակ մուտք գործելու համար այցելեք http://server1:8080՝ օգտագործելով ձեր վեբ բրաուզերը: Մուտքագրեք ձեր օգտանունը և գաղտնաբառը, այնուհետև սեղմեք Մուտք գործել:

Եթե ունեք ճիշտ օգտանուն և գաղտնաբառ, կտեսնեք CockroachDB կառավարման վահանակը հետևյալ կերպ.

Եզրակացություն

Շնորհավորում եմ: Դուք ավարտել եք CockroachDB կլաստերի տեղադրումը Ubuntu 24.04 սերվերի վրա: Դուք նաև սովորել եք, թե ինչպես ստուգել CockroachDB կլաստերի կարգավիճակը հրամանի տողի և վեբ կառավարման վահանակի միջոցով: Վերջապես, դուք ստեղծել եք ադմինիստրատորի օգտվող CockroachDB SQL վահանակի միջոցով: