Меню Рубрики

Установка mongodb для рулетки

Инструкция по установке скрипта и бота

ubuntu sudo apt-get update ]

ubuntu sudo apt-get upgrade

УСТАНОВКА РУЛЕТКИ MONGODB

Вводим все эти команды по порядку

DEBIAN (Установка NODEJS)
apt-get install curl
curl —silent —location https://deb.nodesource.com/setup_0.12 | bash —
apt-get install —yes nodejs
apt-get install —yes build-essential

UBUNTU (Установка NODEJS)
curl —silent —location https://deb.nodesource.com/setup_0.12 | sudo bash —
sudo apt-get install —yes nodejs

DEBIAN, UBUNTU (Установка MONGODB)
apt-get install sudo
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv 7F0CEB10
echo ‘deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen’ | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
apt-get install mongodb
sudo apt-get install -y mongodb-org
sudo touch /etc/init.d/mongodb
sudo chmod 755 /etc/init.d/mongodb

DEBIAN (Установка PHP5, APACHE2)
apt-get install apache2
apt-get install php5 php-pear php5-mysql
service apache2 restart
— Теперь наш сайт находится в папке /var/www/html/ или /var/www/

UBUNTU (Установка LAMP)
sudo tasksel install lamp-server
— Теперь наш сайт находится в папке /var/www/html/ или /var/www/

Скачиваем программу Filezilla или так же открываем ее.
Заходим «Файл» и в Менеджер Сайтов.

Все ваш сайт должен будет работать, инструкцию по mysql напишу позже
Если что-то забыл напомните.

Для просмотра скрытого содержимого необходимо Войти или Зарегистрироваться.

источник

Инструкция по установке рулетки на eng

ubuntu sudo apt-get update]

ubuntu sudo apt-get upgrade

So now we begin to install itself in our roulette.
SETUP ROULETTE MONGODB

Enter these commands in order

DEBIAN (Setup NODEJS)
apt-get install curl
curl —silent —location https://deb.nodesource.com/setup_0.12 | bash —
apt-get install —yes nodejs
apt-get install —yes build-essential

UBUNTU (Setup NODEJS)
curl —silent —location https://deb.nodesource.com/setup_0.12 | sudo bash —
sudo apt-get install —yes nodejs

DEBIAN, UBUNTU (Установка MONGODB)
apt-get install sudo
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv 7F0CEB10
echo ‘deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen’ | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
apt-get install mongodb
sudo apt-get install -y mongodb-org
sudo touch /etc/init.d/mongodb
sudo chmod 755 /etc/init.d/mongodb

DEBIAN (Setup PHP5, APACHE2)
apt-get install apache2
apt-get install php5 php-pear php5-mysql
service apache2 restart
— Now our site is located in the folder /var/www/html/ или /var/www/

UBUNTU (Установка LAMP)
sudo tasksel install lamp-server
— Now our site is located in the folder /var/www/html/ или /var/www/
Download the program Filezilla or just open it.
We go to «File» in the site manager.

Click on the folder with the «. » and go to the directory / var / www / html / or / var / www /
We throw to the script

Now we go in and insert script.js our ip of GVA in the line under the number «14».

Now go the root of GVA.
And create a directory and load the bot to our bot.

источник

Создание рулетки ч2 Инструкция по установке рулеток

Для начала, ищем подходящий скрипт под вас.
В разделе http://v-h.su/forums/Скрипты.9/
Так много очень скриптов, желательно на laravel, база данных mysql. Монго сейчас уже не в моде, и там много дыр.
Мы же будем использовать это http://shop.v-h.su/product/92 аналоги фаствиктори можете найти и на форуме, в магазине он очищен от всех не нужных файлов и таблиц.

После этого заходим в putty(такая программа для управление рулеток)
Входим в нее, вводим данные.
И переходим к установке пакетов, это главная составляющая рулетки.
Еще раз повторюсь, если не понимаете в создании то лучше купить установку или попросить друга установить который знает все. Вот установка если нужна http://shop.v-h.su/product/4

// y and n, просто жмем enter

sudo apt-get install -y build-essential

sudo apt-get install -y python-software-properties

sudo apt-get install -y php5

sudo apt-get install -y apache2

sudo apt-get install -y libapache2-mod-php5

sudo apt-get install -y mysql-server

//Придумываем пасс для базы данных. В следующем он нам понадобится!

sudo apt-get install -y php5-mysql

sudo apt-get install -y php5-curl

sudo apt-get install -y php5-gd

sudo apt-get install -y php5-mcrypt

sudo apt-get install -y git-core

sudo apt-get install -y phpmyadmin

//Вводим наш пасс от базы данных.

apt-get install —yes nodejs

apt-get install —yes build-essential

sudo /etc/init.d/apache2 restart

sudo mv composer.phar /usr/local/bin/composer

sudo apt-get install tcl8.5

sudo ./install_server.sh //вводим 6379

Далее переходим в папку /etc/redis/
Там открываем файл 6379.conf, Ищем: #bind 127.0.0.1 Заменяем на: bind 127.0.0.1

Теперь переходим в каталог /etc/apahe2/
Открываем файл: apache2.conf, находим 4 строки: AllowOverride None, и заменяем их на: AllowOverride All

Далее переходим в каталог /etc/apahe2/sites-available/

Читайте также:  Установка кровельного вентиля на мягкую кровлю

Открываем файл: 000-default.conf

Ищем строчку: DocumentRoot /var/www/html/ . и добавляем к ней /public, (получаем: DocumentRoot /var/www/html/public)

Возвращаемся в putty, и прописываем:

service redis_6379 restart

Основную работу мы выполнили!

Теперь нужно открыть папку со скриптом, и отредактировать в ней 2 файла.

Для этого нам нужна база данных, ее мы полуачаем в phpmyadmin. Что бы туда попать переходим по ссылке: www.вашсайт.рф/phpmyadmin

Нас попросят авторизоваться, для этого мы должны прописать, пользователь: root ; Пасс: Тот который вы придумали при установке mysql;

После авторизации создаем базу данных

После того как мы создали базу данных и залили саму базу, возвращаемся в папку с скриптом, находим в ней файл: .env,

Открываем его, и вписываем наши данные от базы данных.

Сохраняем файл, и закрываем его. Теперь переходим в папку вашскрипт/config , Находим файл: database.php

Открываем его, и так же вписываем базу данных.

После редактирования файлов в скрипте, нам требуется запокавать его в архив .zip , обязательно в zip, тк сервер распакует только его.

После запаковке файлов, возвращаемся в наш ftp клиент, переходим в каталог /var/www/html, и закидываем туда архив.

Переходим в putty, и пишем:
cd /var/www/html

Обновляем каталог, и что мы видим, наш архив распакован.

источник

Инструкция по установке скрипта и бота

ubuntu sudo apt-get update]

ubuntu sudo apt-get upgrade

INSTALLATION ROULETTE MONGODB

Enter these commands in order

DEBIAN (Installation NODEJS)
apt-get install curl
—silent —location curl https://deb.nodesource.com/setup_0.12 | bash —
apt-get install —yes nodejs
apt-get install —yes build-essential

UBUNTU (Installation NODEJS)
—silent —location curl https://deb.nodesource.com/setup_0.12 | sudo bash —
sudo apt-get install —yes nodejs

DEBIAN, UBUNTU (Installation MONGODB)
apt-get install sudo
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv 7F0CEB10
echo ‘deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen’ | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
apt-get install mongodb
sudo apt-get install -y mongodb-org
sudo touch /etc/init.d/mongodb
sudo chmod 755 /etc/init.d/mongodb

DEBIAN (Installing PHP5, APACHE2)
apt-get install apache2
apt-get install php5 php-pear php5-mysql
service apache2 restart
— Now our site is located in the / var / www / html / or / var / www /

UBUNTU (Installing LAMP)
sudo tasksel install lamp-server
— Now our site is located in the / var / www / html / or / var / www /

Download the program Filezilla or just open it.
Go «File» in the site manager.

All of your site will have to work, manual mysql will write later
If you forgot something, remind.

источник

MongoDB от теории к практике. Руководство по установке кластера mongoDB

Доброго времени суток, уважаемые читатели. В этом посте я хотел бы описать несколько примеров развертки mongoDB, отличия между ними, принципы их работы. Однако больше всего хотелось бы поделиться с вами практическом опытом шардирования mongoDB. Если бы этот пост имел план, он бы выглядел скорее всего так:

  1. Вступление. Кратко о масштабировании
  2. Некоторые примеры развертки mongoDB и их описание
  3. Шардинг mongoDB

Пункты 1 и 2 — теоретические, а номер 3 претендует на практическое руководство по поднятию кластера mongoDB и больше всего подойдет тем, кто столкнулся с этим в первый раз.

1. Вступление. Немного о масштабировании

Представьте себе типичный случай — имеется база данных, в которую осуществляется запись и чтение данных. В динамично растущих системах, объемы данных, как правило, быстро увеличиваются и рано или поздно можно столкнуться с проблемой, когда текущих ресурсов машины будет не хватать для нормальной работы.
Для решения этой проблемы применяют масштабирование. Масштабирование бывает 2-х видов — горизонтальное и вертикальное. Вертикальное масштабирование — наращивание мощностей одной машины — добавление CPU, RAM, HDD. Горизонтальное масштабирование — добавление новых машин к существующим и распределение данных между ними. Первый случай наиболее простой, т.к. не требует дополнительных настроек приложения и какой-либо дополнительной конфигурации БД, но его недостаток в том, что мощности одной машины теоретически рано или поздно упрутся в тупик. Второй случай более сложен в конфигурации, но имеет ряд преимуществ:

  • Теоретически бесконечное масштабирование (машин можно поставить сколько угодно)
  • Бо́льшая безопасность данных (только при использовании репликации) — машины могут располагаться в разных дата центрах (при падении одной из них, останутся другие)

2. Некоторые примеры развертки mongoDB

2.1 Самая простая схема, без шардирования

В данной схеме все просто — есть приложение, которое через драйвер общается с mongod. mongod — это основной процесс mongoDB, задача которого — прием запросов, их обработка и выполнение. Данные в mongod хранятся в так называемых chunks (чанки). Каждый chunk имеет размер “chunksize”, который по умолчанию 64 MB. Физически чанки хранятся в файлах dbName.n, где n — порядковый номер, начиная с 0. При достижении размеров 64 MB (или другого chunksize) chunk делится пополам, получается 2 чанка поменьше — по 32 MB, эти 2 чанка начинают наполняться, пока не достигнут размера chunksize, затем разделение происходит снова и т.д. Размер файла dbName.0 равен 64 MB, dbName.1 — 128 MB, dbName.2 — 256 и т.д. до 2Gb. По мере роста количества и размера чанков эти файлы наполняются и когда есть первый файл — dbName.5, размер которого равен 2 Gb, рост размера прекращается и mongoDB просто создает файлы одного и того же размера. Так же следует отметить, что mongoDB не просто создает эти файлы по мере необходимости, а создает их заранее, чтобы при наступлении необходимости реально записать данные в файл, не тратить время на создание файла. Поэтому при относительно небольшом размере реальных данных, вы сможете обнаружить, что места на жестком диске занято прилично.
Данная схема применима чаще всего для локального тестирования.

Читайте также:  Установка бактерицидная для сооружений нового поколения

2.2 Шардированная схема без реплика сетов

В данной схеме появляются новые элементы. Схема называется шардированной. Важное отличие шардированной схемы — у нее данные не просто записываются в чанки, которые потом делятся пополам, а попадают в них по определенному диапазону заданного поля — shard key. Сначала создается всего один чанк и диапазон значений, которые он принимает, лежит в пределах (-∞, +∞ ):

Когда размер этого чанка достигает chunksize, mongos оценивает значение всех шардкеев внутри чанка и делит чанк таким образом, чтобы данные были разделены примерно поровну. Для примера предположим, что у нас есть 4 документа с полями name, age и id. id — является shard key:

Предположим размер chunksize, уже достигнут. В данном случае Mongos разделит диапазон примерно так (-,45]; (45, +). У нас получится 2 чанка:

При появлении новых документов, они будут записываться в чанк, который соответствует диапазону shardKey. По достижению chunksize разделение произойдет снова и диапазон будет еще уже и так далее. Все чанки хранятся на шардах.
Важно заметить, что при достижении каким-либо чанком неделимого диапазона, например (44, 45], деление происходить не будет и чанк будет расти свыше chunksize. Поэтому следует внимательно выбирать shard key, чтобы это была как можно наиболее случайная величина. Например, если нам надо заполнить БД всеми людьми на планете, то удачными выборами shard key были бы номер телефона, идентификационный налоговый номер, почтовый индекс. Неудачными — имя, город проживания.
В схеме мы можем видеть config сервер, его отличие от mongod в том, что он не обрабатывает клиентские запросы, а является хранилищем метаданных — он знает физические адреса всех chunk-ов, знает какой chunk, на каком шарде искать и какой диапазон у того или иного шарда. Все эти данные он хранит в специально отведенном месте — config database.
В данной схеме также присутвует роутер запросов — mongos, на него возлагаются следующие задачи:

  1. Кэширование данных, хранимых на config сервере
  2. Роутинг запросов чтения и записи от драйвера — маршрутизация запросов от приложений на нужные шарды, mongos точно знает где физически находится тот или иной чанк
  3. Запуск фонового процесса “Балансер”

Функция балансера заключается в миграции чанков из одного шарда на другой. Процесс происходит примерно так: балансер отсылает команду moveChunk на шард, из которого будет мигрировать chunk, шард получая эту команду, запускает процесс копирования чанка на другой шард. После того, как все документы скопированы, происходит синхронизация документов между этими 2-мя чанками, т.к. пока происходила миграция, в исходный чанк могли добавиться новые данные. После окончания синхронизации шард, который принял новый чанк, отправляет его адрес config серверу, чтобы тот, в свою очередь, обновил его в кэше монгоса. По окончанию этого процесса, если на исходном чанке нет открытых курсоров, он удаляется.
Данная схема часто имеет место в тестовой среде больших приложений, а при использовании 3-х config серверов, может подойти для небольших продакшен приложений. 3 config сервера обеспечивают избыточность данных и если упадет один, mongos все равно будет получать актуальные адреса чанков от других config серверов.

2.3 Шардированная схема с реплика сетами

В данной схеме помимо шардирования присутствует репликация шардов. Несколько слов об этом. Все операции записи, удаления, обновления, попадают в мастер (primary), а затем записываются в специальную коллекцию oplog, откуда асинхронно попадают на реплики — repl.1 и repl.2 (secondary). Таким образом происходит дублирование данных. Зачем это нужно?

  • Избыточность обеспечивает безопасность данных — при падении мастера, происходит голосование между репликами и одна из них становится мастером
  • Мастер и реплики могут располагаться в разных дата центрах — это может оказаться полезным, если сервер повреждается физически (пожар в дата центре)
  • Реплики могут использоваться для более эффективного чтения данных. Например, есть приложение, которое имеет клиентскую аудиторию в Европе и в США. Одну из реплик можно поместить на территории США и настроить так, чтобы клиенты из США вычитывали данные именно из нее. Стоит отметить, что документы на реплики попадают с запаздыванием и не всегда сразу удается найти на реплике вновь записанный документ. Поэтому данный пункт является преимуществом, только если чтение из реплик позволяет логика приложения
Читайте также:  Установка eberspacher toyota land cruiser

Схема с реплика сетами чаще всего имеет место в серьезных продакшен приложениях, где важна сохранность данных либо имеет место большое количество чтений и логика приложения позволяет читать из реплик.
Подробнее на данной схеме останавливаться не будем, т.к. ей можно посвятить отдельный пост.

3. Шардирование

Итак, приступим. Разворачивать все это будем локально на linux ubuntu 12.0. Для проведения всего этого нам понадобится установленная mongoDB, у меня версия 2.4.9.
Шардировать будем схему №2, только уберем из нее элементы, имеющие чисто теоретическое значение:

Откроем всем нам привычный shell, желательно сразу несколько вкладок, т.к. mongos, mongod, config server — это все отдельные процессы. Далее по пунктам:

    Создадим 2 пустые директории, в которых будут храниться данные:

Поднимаем 2 инстанса mongod командами:

Параметр —dbpath указывает путь, по которому будут храниться файлы .0, .1, .2 и .ns. В файлах .0, .1, .2 и т.д. хранятся сами данные данного инстанса в бинарном виде, а в файле .ns — пространство имен, необходимое для навигации по БД. —port — порт, по которому будет доступен объект БД.
После первого пункта у нас имеется два инстанса:


Создадим пустую директорию, в которой будут храниться данные config сервера:

Поднимаем конфиг сервер, командой

Параметр —configsvr указывает, что новый инстанс будет именно конфиг сервером, —dbpath — путь, по которому будут храниться данные. После второго пункта картина выглядит так (обращу ваше внимание, что пока эти сущности ничего не знают друг о друге):


Поднимаем mongos, командой

По этой команде поднимается mongos на порту 27100, на вход ему нужно передать перечень конфиг серверов с их хостами, на которые он будет обращаться. Если мы при поднятии монгоса не указали порт, то он использует по умолчанию 27017 (если он не занят). После поднятия монгоса:


Приконнектимся к монгосу, указав порт, на котором мы его поднимали, командой


Остался финальный шаг — добавляем наши шарды в кластер

Эти 2 команды нужно выполнить на монгосе, коннекшен к которому был открыт в пункте 4. Командой db.printShardingStatus() можно просмотреть статус шардинга. Убедимся, что шарды добавлены, в терминале мы должны увидеть что-то вроде:

Теперь давайте убедимся, что все, что мы настроили работает, а именно — данные формируются в чанки, а балансер разбрасывает их по шардам. Чтобы данные начали шардироваться, необходимо разрешить шардирование на нужной базе данных, а затем и на коллекции.
Все нижеуказанные команды необходимо выполнять под монгосом. Пусть наша БД называется bank, выполним команды, которые разрешат ее шардировать:

Еще раз выполним команду db.printShardingStatus(). Вывод должен быть примерно таким:

Как видим, напротив partitioned появилось true, значит мы на верном пути.

Теперь давайте поработаем с нашей БД:

После последний команды мы должны увидеть примерно такое:

После всего этого выполним команду sh.status(true) или db.printShardingStatus(), чтобы убедиться, что все заработало и, если все сделано верно, мы должны увидеть следующую картину:

Как видим, данные распределены неравномерно, но если немного подождать и повторить команду db.printShardingStatus(), то картина меняется в сторону равномерного распределения:

Как мы увидели, сначала чанки сохраняются на primary шард, а затем мигрируют на второй шард, пока количество не выровняется, причем их диапазоны при этом тоже могут изменяться.

В будущем хотел бы рассказать про организацию памяти в mongoDB и про репликацию. Спасибо за внимание.

источник

Добавить комментарий