SlideShare a Scribd company logo
Эксплуатация HBase в проекте
«Контур.НДС+»
Александр Чистяков, ведущий специалист
ЗАО “ПФ “СКБ Контур”
21.06.2016
Москва, “Технологии Больших Данных”
Давайте познакомимся
●
Меня зовут Саша
●
Я работаю в компании “СКБ Контур”
●
У меня есть кластер
●
Когда-то давно (в прошлом веке) начинал с того,
что писал на языках Perl и С
Вы?
●
Работаете с большими массивами данных?
●
Используете Hadoop-стек?
●
Используете HBase?
●
Используете PostgreSQL?
●
Используете для разработки язык Perl?
Чем мы занимаемся?
●
С 2015 года отчетность в ФНС предоставляется в
электронном виде
Чем мы занимаемся?
●
С 2015 года отчетность в ФНС предоставляется в
электронном виде
●
На основании анализа электронной отчетности возможны
следующие печальные исходы:
●
Автоматически выставленные требования
Чем мы занимаемся?
●
С 2015 года отчетность в ФНС предоставляется в
электронном виде
●
На основании анализа электронной отчетности возможны
следующие печальные исходы:
●
Автоматически выставленные требования
●
Камеральная проверка
Чем мы занимаемся?
●
С 2015 года отчетность в ФНС предоставляется в
электронном виде
●
На основании анализа электронной отчетности возможны
следующие печальные исходы:
●
Автоматически выставленные требования
●
Камеральная проверка
●
Мы помогаем бизнесу этого избежать
Как это работает?
●
Пользователи загружают через веб-интерфейс торговые книги
Как это работает?
●
Пользователи загружают через веб-интерфейс торговые книги
●
Классические сервисы сверки требуют загрузки торговых книг
себя и контрагнента
Как это работает?
●
Пользователи загружают через веб-интерфейс торговые книги
●
Классические сервисы сверки требуют загрузки торговых книг
себя и контрагнента
●
Но мы не такие!
Как это работает?
●
Пользователи загружают через веб-интерфейс торговые книги
●
Классические сервисы сверки требуют загрузки торговых книг
себя и контрагнента
●
Но мы не такие!
●
Мы – единственный в России облачный сервис
Как это работает?
●
Пользователи загружают через веб-интерфейс торговые книги
●
Классические сервисы сверки требуют загрузки торговых книг
себя и контрагнента
●
Но мы не такие!
●
Мы – единственный в России облачный сервис
●
Когда контрагент загрузит свою торговую книгу (если он наш
пользователь) – сверка произойдет автоматически
Как это устроено?
●
Реляционная СУБД
●
Нереляционная СУБД
●
Индексатор для FTS
●
Веб-интерфейс
●
Очередь задач
●
Разборщики очереди
●
Вспомогательные приложения
Реляционная СУБД
●
Естественно, PostgreSQL
Реляционная СУБД
●
Естественно, PostgreSQL
●
Версия 9.3, планируется миграция на 9.5
Реляционная СУБД
●
Естественно, PostgreSQL
●
Версия 9.3, планируется миграция на 9.5
●
Master-slave репликация
Реляционная СУБД
●
Естественно, PostgreSQL
●
Версия 9.3, планируется миграция на 9.5
●
Master-slave репликация
●
Размер базы не очень велик, менее 100Gb
Реляционная СУБД
●
Естественно, PostgreSQL
●
Версия 9.3, планируется миграция на 9.5
●
Master-slave репликация
●
Размер базы не очень велик, менее 100Gb
●
Хранятся связи между контрагентами и агрегаты
Нереляционная СУБД
●
Естественно, HBase
Нереляционная СУБД
●
Естественно, HBase
●
Сейчас - версия 1.1.5
Нереляционная СУБД
●
Естественно, HBase
●
Сейчас - версия 1.1.5
●
11 узлов в кластере
Нереляционная СУБД
●
Естественно, HBase
●
Сейчас - версия 1.1.5
●
11 узлов в кластере
●
Около 1Tb данных на HDFS
Нереляционная СУБД
●
Естественно, HBase
●
Сейчас - версия 1.1.5
●
11 узлов в кластере
●
Около 1Tb данных на HDFS
●
Примерно миллиард строк в таблицах
Какие были проблемы?
●
Резервирование namenode
Какие были проблемы?
●
Резервирование namenode
●
Primary-secondary – раз в час
Какие были проблемы?
●
Резервирование namenode
●
Primary-secondary – раз в час
●
Общее хранилище – NFS или что-то подобное
Какие были проблемы?
●
Резервирование namenode
●
Primary-secondary – раз в час
●
Общее хранилище – NFS или что-то подобное
●
Active-standby – quorum of journalnodes
Какие были проблемы?
●
Резервирование namenode
●
Primary-secondary – раз в час
●
Общее хранилище – NFS или что-то подобное
●
Active-standby – quorum of journalnodes
●
Automatic switching – active-standby + Zookeeper, ZKFC
Индексатор для FTS
●
Естественно, Solr
Индексатор для FTS
●
Естественно, Solr
●
Шардинг (4 шарда) и репликация (по 1 реплике в шарде)
Индексатор для FTS
●
Естественно, Solr
●
Шардинг (4 шарда) и репликация (по 1 реплике в шарде)
●
Итого, 8 узлов в кластере
Индексатор для FTS
●
Естественно, Solr
●
Шардинг (4 шарда) и репликация (по 1 реплике в шарде)
●
Итого, 8 узлов в кластере
●
Выделенные машины
Индексатор для FTS
●
Естественно, Solr
●
Шардинг (4 шарда) и репликация (по 1 реплике в шарде)
●
Итого, 8 узлов в кластере
●
Выделенные машины
●
Примерно миллиард проиндексированных строк
Какие были проблемы
●
Индекс однажды перестал помещаться в память
Какие были проблемы
●
Индекс однажды перестал помещаться в память
●
8 и 10Gb RAM для JVM было недостаточно
Какие были проблемы
●
Индекс однажды перестал помещаться в память
●
8 и 10Gb RAM для JVM было недостаточно
●
G1GC и 24Gb RAM
Веб-интерфейс
●
Ничего интересного, HAProxy+nginx+Starman+Perl
●
Perl-приложение деплоится через Docker-контейнер
●
Раньше разворачивалось в LXC-контейнеры
●
В последнюю неделю отчетного периода – 100+ RPS
●
В последний день отчетного периода – 150+ RPS
Почему Perl в 2016 году?
●
Сложившаяся команда, которая умеет писать на Perl
Очередь задач
●
Реализована в виде таблицы в PostgreSQL
●
Почему не специализированное приложение?
●
Нет смысла поддерживать еще одно приложение
●
Текущая реализация работает и справляется с нагрузкой
Разборщики очереди
●
Реализованы на Perl
●
Непосредственно взаимодействуют с HBase через Thrift
●
Запускаются по сron
●
Поставляются в виде Docker image
Вспомогательные приложения
●
Мониторинг – ранее OpenTSDB и Grafana, теперь –
Graphite/Whisper и Grafana
●
Сбор логов – ELK-стек
●
Алертинг – Мойра
Забавные факты
●
В моем предыдущем докладе фигурировал
дистрибутив Cloudera
●
После замены HBase (1.0) из состава Сloudera на HBase
1.1.2 с конфигурационными файлами по шаблонам
проекта “Контур.НДС+”, расчет пошел быстрее на 6
часов (более чем 30% выигрыша)
Спасибо за внимание!
●
Пожалуйста, ваши вопросы?
●
С вами был
●
Александр Чистяков, ведущий специалист, “СКБ Контур”
●
http://gitinsky.com
●
alex@gitinsky.com
●
http://meetup.com/DevOps-40

More Related Content

PDF
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
PDF
My talk at Highload++ 2015
PDF
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
PDF
My talk on Hadoop stack operations engineering at OSPCon
PDF
RTB DSP на языке Go: укрощение buzzwords
PDF
PDF
Benchmarking PostgreSQL in Linux and FreeBSD
PPTX
Спасение 6 миллионов файлов в условиях полного Хецнера
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk at Highload++ 2015
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
My talk on Hadoop stack operations engineering at OSPCon
RTB DSP на языке Go: укрощение buzzwords
Benchmarking PostgreSQL in Linux and FreeBSD
Спасение 6 миллионов файлов в условиях полного Хецнера

What's hot (20)

PDF
My talk on LeoFS, Highload++ 2014
PDF
NoSQL — неспроста ли это "ЖЖЖ"?
PDF
On Docker
PPTX
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
PDF
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
PDF
Tk conf daniel-podolsky-sqlvsnosql
PPTX
Why we did not choose Hadoop
PPTX
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
PDF
My talk on Graphite stack on 58it.ru
ODP
My talk on Docker, Youcon 2015
PDF
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
PDF
Всему своё время / Роман Ивлиев (Банки.ру)
PDF
Using Ansible
PDF
Near-realtime аналитика событий в высоконагруженном проекте
PDF
My talk on Salt and Ansible from DevConf 2014
PPTX
Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)
PDF
My talk on PgDay Russia 2014
PDF
Путь к Go на конкретном примере
PPTX
Организация надежного резервного копирования веб-проекта. Практика и подводны...
PPT
Как устроен NoSQL, Андрей Аксенов (Sphinx)
My talk on LeoFS, Highload++ 2014
NoSQL — неспроста ли это "ЖЖЖ"?
On Docker
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
Tk conf daniel-podolsky-sqlvsnosql
Why we did not choose Hadoop
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
My talk on Graphite stack on 58it.ru
My talk on Docker, Youcon 2015
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Всему своё время / Роман Ивлиев (Банки.ру)
Using Ansible
Near-realtime аналитика событий в высоконагруженном проекте
My talk on Salt and Ansible from DevConf 2014
Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)
My talk on PgDay Russia 2014
Путь к Go на конкретном примере
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Как устроен NoSQL, Андрей Аксенов (Sphinx)
Ad

Viewers also liked (20)

PDF
My talk at CEE-SECR 2016
PDF
My talk at YouCon Saratov 2016
PDF
My talk at Linux Piter 2016
PDF
Harry Potter and the Daemons of Berkeley
PDF
My talk at LVEE 2016
ODP
My talk on LeoFS, HappyDev 2014
PDF
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
PDF
My talk on Piter Py 2016
PDF
My talk from PgConf.Russia 2016
PDF
My talk on monitoring systems at RootConf 2016
PDF
My talk at Linux Piter 2015
PDF
Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
PDF
Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"
PDF
Презентация про DTrace на ADDconf в Минске
PDF
Мой modern Perl (весенняя встреча Piter United)
PDF
Выступление в DataArt на тему "Кто такие DevOps?"
PDF
Диалог с воображаемым слушателем, а также поток сознания, вне контекста НЕ ИН...
PDF
Optimization of a big PostgreSQL database
PPTX
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
PPTX
Go и fuse
My talk at CEE-SECR 2016
My talk at YouCon Saratov 2016
My talk at Linux Piter 2016
Harry Potter and the Daemons of Berkeley
My talk at LVEE 2016
My talk on LeoFS, HappyDev 2014
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
My talk on Piter Py 2016
My talk from PgConf.Russia 2016
My talk on monitoring systems at RootConf 2016
My talk at Linux Piter 2015
Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"
Презентация про DTrace на ADDconf в Минске
Мой modern Perl (весенняя встреча Piter United)
Выступление в DataArt на тему "Кто такие DevOps?"
Диалог с воображаемым слушателем, а также поток сознания, вне контекста НЕ ИН...
Optimization of a big PostgreSQL database
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Go и fuse
Ad

Similar to My talk on HBase ops engineering at TBD Jun 2016 (20)

PDF
AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...
PDF
Практика миграции реляционных баз данных в экосистему Hadoop
PDF
IBM Cloudant и Apache CouchDB: NoSQL базы данных эпохи облаков
PPT
Алексей Чумаков. Apache Cassandra на реальном проекте
PPTX
Построение аналитического хранилища на 100 петабайт
PPTX
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
PDF
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PDF
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
PPTX
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
PDF
HBase on Dev{Highload}
PDF
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
PPTX
Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015
PPTX
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
PPTX
pgconf.ru 2017
PDF
Introductory Keynote at Hadoop Workshop by Ospcon (2014)
PDF
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
PDF
Максим Богук. Postgres-XC
PDF
12 - Hadoop. HBase и Cassandra
ODP
МойСклад, облачный сервис ERP
AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...
Практика миграции реляционных баз данных в экосистему Hadoop
IBM Cloudant и Apache CouchDB: NoSQL базы данных эпохи облаков
Алексей Чумаков. Apache Cassandra на реальном проекте
Построение аналитического хранилища на 100 петабайт
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
HBase on Dev{Highload}
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
pgconf.ru 2017
Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Максим Богук. Postgres-XC
12 - Hadoop. HBase и Cassandra
МойСклад, облачный сервис ERP

More from Alex Chistyakov (20)

PDF
My slides from DevOpsDays 2019
PDF
My slides from BMM №3 May 2019
PDF
My slides from DevOps-40 meetup Jun 2019
PDF
My slides from SECR'2018
PDF
My slides from the first SPb SRE community meetup at DataArt
PDF
My slides from CC'2019
PDF
My slides from BMM №4 Nov 2019
PDF
My slides from DevOps-40 meetup Oct 2019
PDF
My slides from DevOps-40 meetup Dec 2019
PDF
Configuration management and Kubernetes
PDF
Ansible and other stuff
PDF
Python performance engineering in 2017
PDF
My talk at SPb SQA sub-meetup of ITGM
PDF
My talk at SECR 2017
PDF
On scaling teams
PDF
MariaDB workshop
PDF
Docker for JS people
PDF
My talk on GitHub open data at ITGM #10
PDF
My talk on DevOps :) at Stachka 2017
PDF
My talk on programming languages at SPbLUG Mar 2017
My slides from DevOpsDays 2019
My slides from BMM №3 May 2019
My slides from DevOps-40 meetup Jun 2019
My slides from SECR'2018
My slides from the first SPb SRE community meetup at DataArt
My slides from CC'2019
My slides from BMM №4 Nov 2019
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Dec 2019
Configuration management and Kubernetes
Ansible and other stuff
Python performance engineering in 2017
My talk at SPb SQA sub-meetup of ITGM
My talk at SECR 2017
On scaling teams
MariaDB workshop
Docker for JS people
My talk on GitHub open data at ITGM #10
My talk on DevOps :) at Stachka 2017
My talk on programming languages at SPbLUG Mar 2017

My talk on HBase ops engineering at TBD Jun 2016