По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
OpenSIPS - это SIP-прокси-сервер с открытым исходным кодом операторского уровня, используемый для сигнализации SIP, и может обрабатывать все типы операций SIP. Он используется многими провайдерами телекоммуникационных услуг, телефонии и операторами связи из-за его надежности и производительности. Итак, если вы, ребята, хотите обрабатывать тысячи одновременных вызовов и SIP-сессий, тогда OpenSIPS - ваш выход. Существует множество различных сценариев, в которых openSIPS может хорошо играть в вашей инфраструктуре. Некоторые из них: OpenSIPS как SIP Edge Proxy OpenSIPS в качестве среднего регистратора или главного сервера регистрации OpenSIPS как входящий и исходящий шлюз OpenSIPS как балансировщик нагрузки И многое другое Примечание: OpenSIPS обрабатывает только SIP-сигнализацию, а не медиа. Для обработки мультимедиа вы можете использовать RTPPROXY или RTPENGINE. Как установить OpenSIPS 3 из исходного кода на Debian 9 Являясь модульным, мощным и гибким SIP-сервером, OpenSIPS можно установить на все основные дистрибутивы Linux. В этом уроке мы будем использовать Debian 9 в качестве базовой операционной системы. Итак, вот шаги, которым мы должны следовать, чтобы запустить наш первый экземпляр OpenSIPS и запустить его: Установите все необходимые зависимости Склонируйте последнюю версию репозитория OpenSIPS Скомпилируйте это Создайте файлы конфигурации Настройте сервис OpenSIPS Настройте OpenSIPS-CLI Создайте базу данных OpenSIPS Запустите сервер OpenSIPS 3 Поэтому, прежде чем мы начнем устанавливать зависимости, нам нужно сначала понять, как мы будем настраивать наш экземпляр OpenSIPS. Что ж, базовому серверу OpenSIPS не нужно много библиотек или зависимостей, но мы будем использовать панель управления OpenSIPS позже вместе с поддержкой MySQL, поэтому мы установим некоторые другие зависимости, чтобы мы могли легко скомпилировать некоторые дополнительные модули OpenSIPS. Шаг 1: Установка всех зависимостей Давайте обновим все списки пакетов, которые у нас есть. apt update Теперь давайте установим все зависимости вместе с сервером MySQL (MariaDB). apt install git gcc bison flex make openssl perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl mysql-server ssh libxml2 libxml2-dev libxmlrpc-core-c3-dev libpcre3 libpcre3-dev subversion libncurses5-dev git ngrep libssl-dev net-tools После того, как мы установили все эти пакеты, нам нужно установить пакеты devel для сервера MySQL. Для MariaDB: apt install libmariadbclient-dev-compat sudo Для сервера MySQL: apt install libmysqlclient-dev Теперь нам нужно установить зависимости для сервера micro httpd, который OpenSIPS будет использовать для прослушивания соединений JSON RPC. apt install libmicrohttpd-dev pkg-config libjsoncpp-dev libjson-c-dev ln -s /usr/include/jsoncpp/json/ /usr/include/json wget http://ftp.us.debian.org/debian/pool/main/j/json-c/libjson-c3_0.12.1-1.1_amd64.deb dpkg -i libjson* Все зависимости должны быть установлены сейчас, и теперь мы готовы клонировать исходный код openSIPS 3. Примечание: не забудьте установить имя пользователя и пароль root для msyql, используя - mysql_secure_installation Шаг 2: Клонирование репозитория OpenSIPS Мы будем клонировать последнюю версию репозитория OpenSIPS 3 в /usr/src cd /usr/src ; git clone https://github.com/OpenSIPS/opensips.git -b 3.0 opensips-3.0 Шаг 3: Скомпилируйте исходный код Чтобы сначала скомпилировать модули OpenSIPS или исходный код, перейдите в каталог opensips-3.0. cd /usr/src/opensips-3.0 Теперь наберите make menuconfig Откроется главное меню конфигурации OpenSIPS. Из этого меню мы можем скомпилировать OpenSIPS и сгенерировать наши конфигурационные скрипты. Поэтому, прежде чем мы скомпилируем, нам нужно включить дополнительный модуль, который нам нужен для поддержки MySQL и JSON. Теперь давайте выберем несколько дополнительных модулей, которые нам нужны. Итак, перейдите к Configure Compile Options -> Configure Excluded Module (Настройка параметров компиляции -> Настройка исключенного модуля). Мы должны выбрать 4 модуля - db_mysql, dialplan, json, httpd Примечание: если вы хотите выбрать или скомпилировать какой-либо другой модуль, обязательно установите его зависимости. Теперь вернитесь, используя клавишу со стрелкой влево и сохраните изменения. И как только мы выберем наши модули для компиляции, тогда просто выберите Compile and Install OpenSIPS Компиляция началась, и если вы правильно установили все зависимости, то ошибок быть не должно. После успешной компиляции вам будет предложено нажать любую клавишу, чтобы вернуться в главное меню. Шаг 4: Генерация скрипта конфигурации OpenSIPS. Скрипт конфигурации OpenSIPS - это мозг сервера OpenSIPS, он контролирует всю маршрутизацию, обработку SIP-трафика, регистрации и почти все операции SIP. Поэтому для нас очень важно создать его из меню конфигурации. После компиляции всех модулей, перейдите к Generate OpenSIPS Script. Мы можем сгенерировать 3 типа скриптов из меню конфигурации: Residential Script - обеспечивает регистрацию пользователя. Trunking Script - Подходит для предоставления услуги транкинга. Он не поддерживает регистрацию. Load-Balancer Script - используется для балансировки нагрузки входящих и исходящих вызовов. Примечание. Эти конфигурационные файлы будут иметь базовую конфигурацию. Вам всегда нужно редактировать эти файлы, чтобы они работали в соответствии с вашим сценарием. Для этой установки мы будем использовать Trunking Script. Теперь перейдите к настройке скрипта Configure Script Выберите функции, которые вы хотите добавить в свой скрипт. После выбора всех необходимых параметров сохраните сценарий и выберите Generate Trunking Script. Это все. Теперь вернитесь и сохраните все изменения - Exit & Save All Changes. Шаг 5: Настройка сервиса OpenSIPS Очень важно понять файловую структуру OpenSIPS и важные каталоги, прежде чем начать работу над ней. Вот некоторые основные каталоги, над которыми мы будем работать во всей этой установке. /usr/local/etc/opensips/ - Каталог файлов конфигурации OpenSIPS по умолчанию /usr/local/lib64/opensips/modules/ - Каталог модулей OpenSIPS /etc/init.d/ - Каталог файлов сервиса OpenSIPS /etc/default/opensips - Файл конфигурации службы OpenSIPS Мы можем найти файл opensips.init и opensips.default в каталоге /usr/src/opensips-3.0/packaging/debian/. Поэтому нам нужно скопировать эти файлы в каталог /etc/init.d/ и /etc/default/. cp /usr/src/opensips-3.0/packaging/debian/opensips.init /etc/init.d/opensips cp /usr/src/opensips-3.0/packaging/debian/opensips.default /etc/default/opensips chmod 755 /etc/init.d/opensips update-rc.d opensips defaults 99 mkdir -p /var/run/opensips Теперь у нас все настроено и готово запустить наш первый сервис OpenSIPS, но прежде чем мы это сделаем, нам нужно скопировать наш файл конфигурации в каталог /usr/local/etc/opensips/, который мы создали из меню конфигурации OpenSIPS. Этот файл конфигурации находится в /usr/src/opensips-3.0/etc/ ls /usr/src/opensips-3.0/etc/ Теперь мы скопируем этот конфигурационный файл транкинга в /usr/local/etc/opensips/ mv /usr/src/opensips-3.0/etc/opensips_trunking* /usr/local/etc/opensips/opensips_trunk.cfg Теперь вы можете видеть, что у нас есть opensips_trunk.cfg в каталоге /usr/local/etc/opensips, и мы будем использовать этот же файл для нашего сервера OpenSIPS, поэтому мы должны указать путь к нему в файле инициализации opensips. Примечание: мы также должны убедиться, что у нас есть правильный двоичный путь OpenSIPS в файле инициализации opensips. nano /etc/init.d/opensips Мы должны добавить путь к скрипту и демону в переменную DAEMON и CFGFILE. Шаг 6: Настройка OpenSIPS-CLI Начиная с OpenSIPS 3, мы будем использовать инструмент OpenSIPS-CLI для управления экземплярами OpenSIPS. Ранее мы использовали для работы со скриптом opensipsctl, но он был удален из OpenSIPS версии 3. Мы будем использовать это приложение для выполнения всех видов различных операций, таких как отправка команд MI, создание базы данных и многое другое. Давайте клонируем репозиторий opensips-cli в /usr/src/ cd /usr/src && git clone https://github.com/OpenSIPS/opensips-cli.git Теперь давайте установим все зависимости, которые нам нужны для этого удобного небольшого приложения. sudo apt install python3 python3-pip python3-dev gcc default-libmysqlclient-dev sudo pip3 install mysqlclient sqlalchemy sqlalchemy-utils pyOpenSSL Как только мы установим все зависимости, пришло время установить OpenSIPS-CLI. cd /usr/src/opensips-cli sudo python3 setup.py install clean После успешной установки мы сможем выполнить команду opensips-cli. Примечание. Когда opensips-cli запускается, она всегда ищет файл opensips-cli.cfg в каталоге /etc/. Если файл отсутствует, она запустится с настройками по умолчанию. Теперь мы создадим файл opensips-cli.cfg в каталоге /etc/. nano /etc/opensips-cli.cfg [opensips-1] log_level: WARNING prompt_name: opensips-cli prompt_intro: Welcome to OpenSIPS at SECUREVOIP prompt_emptyline_repeat_cmd: False history_file: ~/.opensips-cli.history history_file_size: 1000 output_type: pretty-print communication_type: fifo fifo_file: /tmp/opensips_fifo database_path: /usr/src/opensips-3.0/scripts/ database_url: mysql://root:password@localhost database_name: opensips Мы должны добавить вышеуказанный блок в файл opensips-cli.cfg. Вы можете настроить все параметры в файле конфигурации. Синтаксис и значение каждой переменной следующие: [opensips-1] - Имя экземпляра log_level - Уровень сообщений лога prompt_name - Имя оболочки prompt_intro - Приветственное сообщение оболочки history_file - Где хранить историю opensips-cli output_type - Параметры вывода, вы также можете использовать json communication_type - Тип связи - fifo, json database_path - Путь к сценариям базы данных database_url - URL вашей базы данных MySQL database_name - База данных, которая будет использоваться Теперь давайте запустим opensips-cli с нашим новым файлом конфигурации. opensips-cli -i [instance_name] -f [config file] Шаг 7: Создание базы данных OpenSIPS Наконец, пришло время создать базу данных OpenSIPS. Мы будем использовать бэкэнд MySQL, и если вы захотите использовать другой бэкэнд, такой как PostgreSQL, вам, возможно, придется установить некоторые зависимости. Сначала откройте файл opensips-cli и выполните следующие действия: Запустите OpenSIPS-CLI Выполните - database create Введите URL базы данных MySQL Теперь давайте проверим базу данных и таблицы opensips, войдя в MySQL. Примечание. Рекомендуется создать отдельного пользователя mysql для доступа к базе данных opensips. Шаг 8: Запуск сервера OpenSIPS 3 Теперь пришло время наконец запустить наш сервер OpenSIPS, но прежде чем мы это сделаем, нам нужно настроить некоторые параметры в файле opensips_trunk.cfg. nano /usr/local/etc/opensips/opensips_trunk.cfg Нам необходимо обновить URL-адрес MySQL всех модулей в скрипте, указав имя пользователя и пароль MySQL. Примечание. Если после запуска службы opensips вы получаете сообщение об ошибке отказа в доступе на стороне сервера MySQL, создайте нового пользователя MySQL только для базы данных opensips. Нам нужно убедиться, что у нас указан правильный путь к модулю в скрипте конфигурации. Обновите переменную PATH в файле /etc/init.d/opensips. PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin Как только мы это сделаем, последний шаг - установить для переменной RUN_OPENSIPS значение yes. nano /etc/default/opensips Примечание. Убедитесь, что в вашей ОС существует пользователь opensips, или вы можете добавить его с помощью - useradd -r opensips. После обновления конфигурации в файле default нам нужно выполнить systemctl daemon-reload. Итак, теперь мы готовы запустить наш сервис opensips. Во-первых, давайте удостоверимся, что в нашем конфигурационном файле OpenSIPS нет неправильной конфигурации. opensips -C -f /usr/local/etc/opensips/opensips_trunk.cfg Теперь давайте запустим сервис OpenSIPS systemctl start opensips systemctl enable opensips Если вы выполнили все шаги и установили все зависимости, вы увидите, что сервер opensips работает и прослушивает порт 5060. Примечание. По умолчанию OpenSIPS использует файл /var/log/syslog для ведения журнала. Поэтому, если вы получаете какие-либо ошибки при запуске службы opensips, обратитесь к этому файлу логов для устранения неполадок. Мы можем убедиться, что сервер OpenSIPS работает или нет по-разному. Проверяя файл opensips_fifo в каталоге /tmp. Выполняя команды MI через opensips-cli Поздравляем! Вы успешно установили свой первый сервер OpenSIPS, и мы желаем вам всего наилучшего в вашем путешествии по VoIP.
img
Графический интерфейс Cisco Unified Communications Manager (CUCM) имеет раздел Disaster Recovery System (DRS), который предназначен для проведения резервного копирования (backup) и восстановления системы (restore). Но бывают ситуации, когда GUI недоступен, например, из-за проблем с сетью. В этом случае, провести процедуры бэкапирования и восстановления можно через консоль CLI и сейчас мы расскажем как это сделать. Процедура бэкапа Перед началом процедуры, у вас должен быть настрое SFTP сервер, куда вы будете заливать бэкап с CUCM. Для начала нужно добавить сервер, куда мы будем загружать бэкап. Для этого вводим команду: utils disaster_recovery device add network [number of backups] Где: backup device name - Имя устройства, куда будем заливать бэкап; path - Путь, куда будем заливать бэкап на данном устройстве; ip-address of remote server - IP адрес удалённого устройства; username - Имя пользователя; number of backups - Количество резервных копий После ввода данной команды, вас попросят ввести пароль пользователя, из под которым вы хотите осуществить бэкап (в нашем случае - ccmadmin) admin: utils disaster_recovery device add network merionbckp ./ 10.20.30.123 ccmadmin Please enter password to connect to network server 10.20.30.123:**** drfCliMsg: Backup Device has been saved successfully. Проверим, что устройство для бэкапа успешно добавилось, для этого введём команду: utils disaster_recovery device list В выводе мы должны увидеть устройство, добавленное ранее: admin:utils disaster_recovery device list Device Name Device Type Device Path -------------------------------------------------------------- merionbckp NETWORK ./ Волшебно! Теперь мы можем осуществить бэкап. Для этого пишем в консоли: utils disaster_recovery backup network Где: backup device name - Имя устройства, куда будем заливать бэкап; featurelist - Список функционала, который нужно забэкапить; Для того, чтобы посмотреть какой функционал доступен для бэкапирования наберите команду: utils disaster_recovery show_registration , где servername - имя сервера, на котором осуществляется бэкап. admin:utils disaster_recovery backup network UCM,CDR_CAR,PLM merionbckp drfCliMsg: Backup initiated successfully. Please run 'utils disaster_recovery status backup' command to see the status Всё, бэкап запущен! Чтобы проверить статус, нам предлагают ввести: utils disaster_recovery status backup admin:utils disaster_recovery status backup Status: SUCCESS :Backup Completed... Tar Filename: 2019-02-16-04-21-37.tar Storage Location: NETWORK Operation: backup Percentage Complete: 100 PLM CCM01 ELM-AGENT SUCCESS Sat Feb 16 04:17:25 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_plm_elm-agent.log PLM CCM01 ELM-SERVER SUCCESS Sat Feb 16 04:17:26 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_plm_elm-server.log CDR_CAR CCM01 CAR SUCCESS Sat Feb 16 04:17:27 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_cdr_car_car.log UCM CCM01 BAT SUCCESS Sat Feb 16 04:19:23 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_bat.log UCM CCM01 CCMPREFS SUCCESS Sat Feb 16 04:19:25 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_ccmprefs.log UCM CCM01 PLATFORM SUCCESS Sat Feb 16 04:19:30 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_platform.log UCM CCM01 TCT SUCCESS Sat Feb 16 04:19:34 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_tct.log UCM CCM01 SYSLOGAGT SUCCESS Sat Feb 16 04:19:35 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_syslogagt.log UCM CCM01 CDPAGT SUCCESS Sat Feb 16 04:19:36 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_CCM01_ucm_cdpagt.log UCM CCM01 CLM SUCCESS Sat Feb 16 04:19:37 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_clm.log UCM CCM01 CCMDB SUCCESS Sat Feb 16 04:19:37 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_ccmdb.log UCM CCM01 TFTP SUCCESS Sat Feb 16 04:21:37 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_tftp.log UCM CCM01 ANN SUCCESS Sat Feb 16 04:21:33 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_ann.log UCM CCM01 MOH SUCCESS Sat Feb 16 04:21:34 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ccm01_ucm_moh.log Всё, бэкап готов! Процедура восстановления Чтобы восстановить конфигурацию CUCM из бэкапа, нужно сначала посмотреть – что доступно для восстановления на удалённом сервере? Проверить это можно командой: admin:utils disaster_recovery show_backupfiles merionbckp 2019-02-16-04-21-37 2018-12-25-21-52-19 Выбираем нужный нам бэкап и вводим следующую команду: admin:utils disaster_recovery restore network 10.20.30.123 2019-02-16-04-21-37 merionbckp drfCliMsg: WARNING! There are nodes in current production cluster but NOT present in the backup. These nodes will be removed if you restore the Publisher. If you want to keep these nodes, you will need to manually re-add them after the restore. Do you want DRS to perform a SHA-1 File Integrity Check of your backup archives y/n ?(n) : y Please enter the comma seperated features you wish to restore. Valid features for server CCM01 are PLM,CDR_CAR,UCM:PLM,CDR_CAR,UCM Do you want to restore database from the subscriber y/n ?(n) : n drfCliMsg: Restore initiated successfully. Please run 'utils disaster_recovery status restore' command to see the status ALERT: Please restart the server(s) before performing the next restore for changes to take effect. In case of a cluster, restart the entire cluster. Теперь проверяем статус восстановления: admin:utils disaster_recovery status restore Status: SUCCESS :Restore Completed... Tar Filename: 2019-02-16-04-21-37.tar Storage Location: NETWORK Operation: restore Percentage Complete: 100 CDR_CAR CCM01 CAR SUCCESS Sun Feb 17 11:20:15 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_cdr_car_car.log PLM CCM01 ELM-AGENT SUCCESS Sun Feb 17 11:24:34 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_plm_elm-agent.log PLM CCM01 ELM-SERVER SUCCESS Sun Feb 17 11:24:34 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_plm_elm-server.log UCM CCM01 BAT SUCCESS Sun Feb 17 11:25:06 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_bat.log UCM CCM01 CCMPREFS SUCCESS Sun Feb 17 11:37:06 CEST 2019 activelog/platform/drf/log/2019-08-18-15-20-01_r_ccm01_ucm_ccmprefs.log UCM CCM01 PLATFORM SUCCESS Sun Feb 17 11:37:13 CEST 2019 activelog/platform/drf/log/2019-08-18-15-20-01_r_ccm01_ucm_platform.log UCM CCM01 TCT SUCCESS Sun Feb 17 12:11:10 CEST 2019 activelog/platform/drf/log/2019-08-18-15-20-01_r_ccm01_ucm_tct.log UCM CCM01 SYSLOGAGT SUCCESS Sun Feb 17 12:14:19 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_syslogagt.log UCM CCM01 CDPAGT SUCCESS Sun Feb 17 12:14:39 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_cdpagt.log UCM CCM01 CLM SUCCESS Sun Feb 17 12:17:03 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_clm.log UCM CCM01 CCMDB SUCCESS Sun Feb 17 12:17:05 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_ccmdb.log UCM CCM01 TFTP SUCCESS Sun Feb 17 12:25:12 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_tftp.log UCM CCM01 ANN SUCCESS Sun Feb 17 12:26:38 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_ann.log UCM CCM01 MOH SUCCESS Sun Feb 17 12:26:39 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_moh.log
img
Про хоботистый проект, который изменил многое Интернет, на текущее время, это непрерывно развивающаяся сеть планетарного масштаба. Ее существование невозможно представить без поисковых программ и социальных сетей. Большинство пользователей интернета, ежедневно заходящих в Facebook или ищущих информацию в Yahoo, даже не задумываются, как работает эта система то есть, контактируют только с пользовательским интерфейсом программы. И мало кто знает, что продукты такого типа работают на основе распределенных программам. Их работа основана на кластерах наборах узлов, которые используются для поиска нужной клиенту информации. И одним из основных наборов инструментов, который используется при разработке такого рода программ, является Hadoop. Что же это такое? Как говорилось выше, это не отдельная программа, а целый набор инструментов, библиотек и приложений, а также инструмент для удобной работы с ними. Для удобства, назовем весь этот комплекс "фреймворком". Всё это предназначено для разработки и использования распределенных программ. В этой статье мы разберемся, из чего состоит основной инструментарий Hadoop и упомянем о самых распространенных программах из набора. Строго говоря, разработчиком Hadoop является компания Apache Software Foundation. Однако, в силу того, что данный набор программ является свободно распространяемым, ряд сторонних разработчиков (Hortonworks, MapR, Cloudera) создали на основе Apache Hadoopряд своих сборок, которые завоевали у пользователей большую популярность. Это произошло потому, что такие сборки гораздо стабильнее ведут себя в работе и гораздо удобнее в использовании. Основной базовой частью Hadoop является распределенная файловая система HDFS. От обычных файловых систем ее отличает то, что хранение и работа с файловыми дескрипторами осуществляется с отдельного сервера имён, а данные находятся на отдельных серверах данных. Это делает систему исключительно надежной, поскольку даже при внештатных ситуациях процент безвозвратной потери данных очень мал. Кроме того, система позволяет узнать, на какой конкретной машине расположен интересующий блок данных. Пару слов о движках: Развитие проекта привело к тому, что классическая схема MapReduce, с которой проект начинал свою работу, сейчас заменяется на варианты Spark или Tez, поскольку значительно ускоряют работу с данными. Spark более универсальная модель движка, применяемая повсеместно, Tez в свою очередь более узко специализирован. К наиболее популярным системам управления базами данных в данном решении можно отнести базовый вариант Hive, а также альтернативные варианты, такие как Impala от Cloudera, или Spark SQL. Данные продукты имеют свои достоинства и недостатки, но возможность выбора лучшего решения делает проект в общем и целом достаточно гибким и удобным для пользования. Свою нишу в данном проекте также имеет отдельная NoSQL-база Hbase. Это важное решение для всей системы Hadoop, поскольку эффективно поддерживает работу с отдельными записями в режиме реального времени. Для импорта данных на текущий момент, пожалуй, единственным эффективным вариантом остается Kafka от оригинального разработчика Apache. Уникальность данного решения в том, что импорт серьезных объемов данных в данном случае заложен в саму архитектуру проекта. Конечно, Kafka обладает рядом минусов, но работы над обновлением и оптимизацией ведутся постоянно. Помимо этого набора программ, который можно считать базовым, Hadoop обладает рядом других полезных инструментов. Это и алгоритмы машинного обучения для оптимизации работы всей системы (MLlib, Mahout), и программа-координатор ZooKeeper, обладающая широчайшими возможностями по конфигурированию и управлению, программы для планирования задач в проектах Azkaban и Oozie, а так же многие другие подключаемые модули различного назначения и, соответственно, различной полезности в рамках того или иного проекта.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59