Инсталирање ИнфлукДБ-а на Убунту 14
Увод ИнфлукДБ је отворена, дистрибуирана база података временских серија без спољних зависности. Да, прочитали сте параграф без спољних зависности
Од своје концепције 2009. године МонгоДБ је водећи у НоСКЛ индустрији. Један од основних концепата МонгоДБ-�� је скуп реплика, тако да пре него што почнете са њим да прво прегледамо концепт.
Најједноставнији модел комуникације који се користи у репликацији база података је Мастер-Славе архитектура. Као што његово име сугерише, овај модел има 2 улоге које су распоређене у јединственом мастеру и многим славеовима, улога мастера је да обрађује операције читања и писања које обављају клијенти, а славе се третирају као реплика мастера.
Најважнија предност овог модела је да перформансе мастера нису угрожене операцијама резервне копије, операције резервне копије се раде на асинхрони начин и то може постати озбиљан проблем када главни чвор откаже. Славе чворови се само читају и морају се ручно унапредити у главни чвор, тако да у овом тренутку постоји могућност губитка података.
Једна опција за решавање проблема доступности је да имате више од једног мастера у архитектури, али то може довести до другог проблема у конзистентности података између тих инстанци и додатној сложености конфигурације.
Сада када имамо контекст, можемо представити технологију скупа реплика МонгоДБ-а. Скуп реплика је назив Мастер-Славе архитектуре која има аутоматски прелазак на грешку, тако да у тренутку када главни (који је сада назван primary
) чвор не функционише исправно election
, активираће се и нови примарни чвор ће бити изабран од преосталих славе ( који се сада назива secondaries
).
Примарни чвор је једини који обавља операције писања, по подразумеваној вредности операцијама читања рукује и примарни, али ово понашање се може променити касније.
Операције се бележе у oplog
(дневник операција), а затим секундарни чворови асинхроно ажурирају свој садржај на основу садржајаoplog
Напомена: oplog
је ограничена колекција, то значи да колекција има ограничење, при local.oplog.rs
чему можете проверити садржај ове колекције унутар монго љуске у било ком члану скупа.
Осим што су они који праве исправну резервну копију базе података, секундарни чвор има следеће улоге:
Захваљујући овим карактеристикама можемо имати различите типове секундарних чворова:
primary
и не могу покренути изборе, али ипак могу гласати на изборима, имати комплетну реплику и могу прихватити операције читања. Ово може бити од помоћи у примени више центара података.Priority 0
чланови, али штавише не могу да обрађују операције читања. Они могу гласати ако је потребно. Жељени задаци за ове чланове су извештавање и прављење резервних копија.priority 0
чвор, а препоручује се и да буде hidden
члан.Пре постављања инфраструктуре важно је дизајнирати је, а постоје тачке које треба размотрити у овом дизајну.
Имајте на уму да је минимални број елемената за прављење скупа реплика 3. Можете мешати три типа чворова са најмање једним примарним и једним секундарним чвором.
У овом водичу распоређујемо 3 члана, једног примарног и два стандардна секундарна.
Напомена: Препоручује се да имате максималан број од 7 чланова са правом гласа са мешавином арбитара и секундарних чланова.
Назив је само за референцу, али га користите у конфигурацији сета. Имајте на уму да можете имати више од једног скупа реплика у свом производном окружењу, тако да немојте занемарити име вашег скупа.
Овај водич подстиче корисника да одабере име скупа.
Овај водич предлаже да се примени у истом центру података како бисте избегли проблеме у комуникацији.
Напомена: У случају примене у различитим центрима података, препоручује се да своје чворове обавите ВПН-ом
Покрените 3 чвора Убунту 16.04 к64; у истом региону са вашег корисничког портала, ако је могуће. Не заборавите да их именујете у складу са типом пројекта којим се бавите и будите сигурни да имате исту величину сервера у свим овим чворовима.
Након што поставите своја 3 чвора, мораћете да будете сигурни да сваки чвор може да разговара са осталима. Морате ссх у два чвора и доћи до осталих користећи ping -c 4 EXAMPLE_IP
. Промените EXAMPLE_IP
на стварне ИП адресе ваших чворова.
Овде можете видети пример успешне комуникације између два чвора.
root@foo_node:~# ping -c 4 EXAMPLE_IP
PING EXAMPLE_IP (EXAMPLE_IP) 56(84) bytes of data.
64 bytes from EXAMPLE_IP: icmp_seq=1 ttl=59 time=0.594 ms
64 bytes from EXAMPLE_IP: icmp_seq=2 ttl=59 time=0.640 ms
64 bytes from EXAMPLE_IP: icmp_seq=3 ttl=59 time=0.477 ms
64 bytes from EXAMPLE_IP: icmp_seq=4 ttl=59 time=0.551 ms
--- EXAMPLE_IP ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3021ms
rtt min/avg/max/mdev = 0.477/0.565/0.640/0.064 ms
Уопштено говорећи, можете користити МонгоДБ пакет Убунту-а, али је боље да користите званични репо заједнице јер је увек ажуриран. Овај репо садржи ове пакете:
mongod
демон (примарни процес који обрађује захтеве за подацима).mongos
демон (услуга рутирања за дељене примене).mongo shell
ЈаваСцрипт интерфејс.Наставите са инсталирањем пакета.
Увезите јавни кључ у систем управљања пакетима.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Креирајте датотеку листе за МонгоДБ '/етц/апт/соурцес.лист.д/монгодб-орг-3.4.лист'.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ажурирајте базу података пакета.
sudo apt-get update
Инсталирајте метапакет МонгоДБ.
sudo apt-get install -y mongodb-org
Покрените МонгоДБ услугу.
sudo service mongod start
Сада можете отворити mongo shell
у било којој басх сесији. Да бисте то урадили, морате користити mongo
команду. Дочекаће вас нешто слично овоме.
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
*Some extra logs are cut by the way*
>
Не заборавите да искључите услугу са sudo service mongod stop
, јер ћемо касније mongod
поново почети са неким параметрима. Поновите овај процес у сва 3 чвора скупа.
Коришћење кључног фајла намеће два концепта у администрацији скупа реплика. Први је Internal Authentication
. Подразумевано можете започети mongo shell
сесију без коришћења корисника и ова сесија ће имати пуну контролу над базом података, али када користите кључну датотеку за аутентификацију, ваша mongo shell
сесија достиже стање које се зове localhost exception
. Ово стање вам омогућава само да креирате администраторског корисника и скуп реплика. Други концепт је Role-Based Access Control
, или другим речима ауторизација. Ово се примењује да би се управљало административним нивоима скупа реплика.
Кључна датотека је лозинка која се користи у скупу, ова лозинка мора бити иста у свим члановима скупа. Да бисте повећали сигурност, важно је да користите насумични кључ са алатом по вашем избору.
Садржај мора да има између 6 и 1064 карактера. Такође морате подесити read only
дозволу за кључну датотеку.
chmod 400 PATH_OF_YOUR_KEYFILE
Сада копирајте своју кључну датотеку на сваког члана скупа, користите конзистентан фолдер за будућу референцу и немојте га чувати на преносивом медијуму.
Такође користите фасциклу за датотеку којој mongod
може да приступи.
У овом кораку треба да започнемо члан mongod daemon
у сваком скупу . Постоје два начина за покретање mongod
процеса: коришћењем конфигурационе датотеке или коришћењем командне линије. Обе су прилично једноставне методе, али само ради једноставности, овај водич користи верзију командне линије.
Користите име које сте раније одабрали у овој команди.
mongod --keyFile PATH_OF_YOUR_KEYFILE --replSet "YOUR_SET_NAME"
Подразумевано mongod
се не покреће као демон. Мораћете да користите --fork
параметар или да га upstart
у потпуности покренете као демон. У овом туторијалу не подстичемо рад mongod
као демон, тако да можете директно да видите логове у свом терминалу.
Напомена: Пажљиво откуцајте име скупа реплика јер га једном креирате не можете променити.
Напомена: Ако покренете mongod
као процес који није демон, онда ћете морати да отворите другу ссх везу да бисте наставили са радом.
Морате користити mongo
команду да отворите mongo shell
. Ово се може урадити у било ком члану скупа.
У овом тренутку се налазимо у стању које се зове localhost exception
. Када се кључна датотека користи за подешавање mongod
процеса, обавезни сте да креирате администратора базе података пре него што можете да примените операције читања и писања, али ћемо о томе касније.
Ово је деликатан део, користимо команду rs.initiate()
унутар mongo shell
корака 4. пре употребе ове команде, хајде да је прегледамо.
rs.initiate(
{
_id : <replicaSetName>,
members: [
{ _id : 0, host : "example1.net:27017" },
{ _id : 1, host : "example2.net:27017" },
{ _id : 2, host : "example3.net:27017" }
]
}
)
Прво _id
поље је стринг и мора се подударати са --replSet
оним које је претходно прослеђено у mongod
. Такође, свака вредност host
мора бити или ип или име домена сваког члана скупа реплика. Не заборавите да додате порт који монго инстанца користи у сваком члану.
Сада је време да извршите команду са вашим подацима на њој, ово ће покренути election
, а затим ће примарни бити изабран аутоматски.
Овде треба да приметите да се курсор љуске променио у YOUR_SET_NAME:PRIMARY>
или YOUR_SET_NAME:SECONDARY
. То значи да је креирање комплета било успешно.
Да бисте наставили са радом, морате пронаћи primary
, ако нисте на њему, наравно. Користите rs.status()
команду да прикажете информације о скупу реплика и лоцирате primary
. Ви тражите некретнину "stateStr" : "PRIMARY"
.
Након што пронађете primary
, унесите mongo shell
и покрените следећу команду користећи своје податке.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOU_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
admin = db.getSiblingDB("admin")
Део омогућава нам писати у admin
из неке друге базе података. Ово ствара псеудоним који се зове admin
, тако да можемо да извршавамо команде користећи га уместо тога.
Ако је операција успешна, добићете обавештење да је корисник додат.
Successfully added user: {
"user" : "YOUR_USER",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
У овом тренутку имамо само администратора за све сервере, али постављање реплике нас приморава да имамо корисника са том clusterAdmin
улогом. Направићемо другог корисника само са том улогом да раздвојимо бриге.
Достигли смо ограничење од localhost exception
, због чега морамо да променимо аутентификацију на корисника који је креиран један корак раније.
Можете променити кориснике у mongo shell
оквиру следећег.
db.getSiblingDB("admin").auth("YOUR_ADMIN", "YOUR_PASSWORD" )
Ако се већ нисте повезали са mongo shell
овом командом уместо тога.
mongo -u "YOUR_ADMIN" -p "YOUR_PASSWORD" --authenticationDatabase "admin"
Бићете обавештени о промени корисника и можете да пређете на следећи корак.
clusterAdmin
Улога даје упутство потпуну контролу над скупа реплика. Креирање је лако као и креирање администраторског корисника.
db.getSiblingDB("admin").createUser(
{
"user" : "YOUR_USER",
"pwd" : "YOUR_PASSWORD",
roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
}
)
Имајте на уму да је овај пут улога промењена уclusterAdmin
.
У овом тренутку имамо 2 администратора корисника: једног који има потпуну контролу над сервером и другог који има приступ административним задацима на нивоу скупа реплика. Међутим, недостаје нам корисник који има приступ да „користи“ базу података, па ћемо сада креирати тог корисника.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOUR_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "cars" } ]
}
)
Обратите пажњу да овај пут мењамо db
део, ту стављамо базу података која је доступна кориснику, у овом случају користимо базу података под називом cars
.
База података још није креирана. Да бисте то урадили, мораћете да откуцате неке команде да бисте га имплицитно креирали. Пребаците се на cars
базу података.
use cars
Добићете обавештење: switched to db cars
.
База података још увек није креирана, да бисте то урадили, потребно је да у њу нешто упишете. Користимо следећи пример.
db.models.insert({ make: "Dodge", model: "Viper", year: 2010 })
Овог пута ћете бити обавештени са WriteResult({ "nInserted" : 1 })
.
Ако желите, можете да преузмете све објекте у бази, find()
методом:
db.models.find()
{ "_id" : ObjectId("59acd8b55334882863541ff4"), "make" : "Dodge", "model" : "Viper", "year" : 2010 }
Имајте на уму да _id
ће се то разликовати у вашем излазу, али остали подаци би требали бити исти. Ако буде довољно времена, ови подаци ће се реплицирати на друге чланове.
Прављење сета реплика у почетку може бити изазовно јер постоји много информација које треба разумети, али када добијете идеју иза тога, можете да је примените на повјетарцу, тако да немојте одустајати ако не можете да је схватите први пут. Имајте на уму да је скуп реплика важан у МонгоДБ администрацији јер отвара могућност додавања напредних функција као што је балансирање оптерећења.
Увод ИнфлукДБ је отворена, дистрибуирана база података временских серија без спољних зависности. Да, прочитали сте параграф без спољних зависности
Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу
Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу
Користите другачији систем? Увод АрангоДБ је НоСКЛ база података отвореног кода са флексибилним моделом података за документе, графиконе и кључ-вредности. То је
Ларавел ГитСцрум или ГитСцрум је алатка за продуктивност отвореног кода дизајнирана да помогне развојним тимовима да имплементирају Сцрум методологију на сличан начин т
Увод У овом тексту, добро прођите кроз како да направите резервну копију више МиСКЛ или МариаДБ база података које се налазе на истој машини користећи прилагођени басх скрипт
ОриентДБ је нова генерација мултимодела отвореног кода НоСКЛ ДБМС. Уз подршку за више модела података, ОриентДБ може пружити више функционалности и флексибилности у
МонгоДБ подразумевано није безбедан. Ако инсталирате МонгоДБ и покрећете га без конфигурисања за аутентификацију, имаћете лоше време
МиСКЛ је најпопуларнији софтвер на свету који се користи за базе података. Веома је важно да имате резервне копије базе података. Ова пракса дозвољава
Увод ПостгреСКЛ је бесплатан систем за управљање базама података отвореног кода који се може користити за чување информација у вези са веб локацијама. Такође је познато а
Предуслови Вултр сервер који ради са најновијим Арцх Линук-ом (погледајте овај чланак.) Судо приступ. Наредбе које су потребне за покретање као роот имају префикс # и један
Од своје концепције 2009. године МонгоДБ је водећи у НоСКЛ индустрији. Један од основних концепата МонгоДБ-а је скуп реплика, тако да пре рада са и
МонгоДБ је брза и моћна НоСКЛ база података. Међутим, Дебиан спремишта се ажурирају споро и често садрже веома старе верзије пакета. Овај туторијал
Барниард2 је начин чувања и обраде бинарних излаза из Снорт-а у МиСКЛ базу података. Пре него што почнемо Имајте на уму да ако немате хркање
Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу
РоцкМонго је алат за управљање МонгоДБ заснован на вебу који је сличан МиСКЛ алату за управљање: пхпМиАдмин. Овај водич ће покрити процес инсталације
Увод ИнфлукДБ је база података заснована на временским серијама написана у Го. ИнфлукДБ има много практичних употреба, од којих је једна чување података за праћење на серверима. И
МариаДБ је бесплатна база података отвореног кода и најраспрострањенија је замена за МиСКЛ. Направљен је од стране програмера МиСКЛ-а и намерава да остане
пхпРедисАдмин је веб апликација која управља Редис базама података са интуитивним графичким корисничким интерфејсом. Овај водич ће објаснити како да инсталирате
Користите другачији систем? Увод АрангоДБ је НоСКЛ база података отвореног кода са флексибилним моделом података за документе, графиконе и кључ-вредности. То је
Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.
Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.
Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.
Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.
Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…
Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.
Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.
Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.
У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.
Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више