SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Наdoop на службе федерального
налогового ведомства страны
Александр Чистяков, ФКУ “Налог-Сервис”,
главный специалист
Я пришел с миром!
●
Меня зовут Саша
●
Я работаю в Федеральном Казенном
Учреждении “Налог-Сервис”
на должности главного специалиста
●
Я занимаюсь эксплуатацией
Hadoop-кластера Федеральной
Налоговой Службы
Вы?
●
Работаете с большими данными?
●
Работаете с очень большими данными?
●
Работаете с очень-очень большими
данными
●
Кстати, как отличить просто большие
данные от очень больших данных?
Сразу достанем и измерим
●
Похвастаюсь:
●
У меня МНОГО RPS*
* совершенно
бесполезных
Начнем с начала
●
Ни одна крутая история не начинается
со слов “мы сидели и пили кофе”
●
Эта история началась со слов
“все плохо”
●
Повторенных не один раз
Насколько все было плохо?
●
Полстойки BigData-решения от компании Cisco
Насколько все было плохо?
●
Полстойки BigData-решения от компании Cisco
●
RedHat Enterprise Linux 6
Насколько все было плохо?
●
Полстойки BigData-решения от компании Cisco
●
RedHat Enterprise Linux 6
●
Установленный “дистрибутив” Hadoop от компании
Cloudera (на тот момент – 5.2)
Насколько все было плохо?
●
Полстойки BigData-решения от компании Cisco
●
RedHat Enterprise Linux 6
●
Установленный “дистрибутив” Hadoop от компании
Cloudera (на тот момент – 5.2)
●
Разработчики с полным доступом к продакшну
Насколько все было плохо?
●
Полстойки BigData-решения от компании Cisco
●
RedHat Enterprise Linux 6
●
Установленный “дистрибутив” Hadoop от компании
Cloudera (на тот момент – 5.2)
●
Разработчики с полным доступом к продакшну
●
Два приложения: Java/YARN/HBase и
Scala/Spark/HBase/Parquet
Кстати, зачем все это нужно?
●
Система контроля НДС – сравнение налоговых
деклараций контрагентов
Кстати, зачем все это нужно?
●
Система контроля НДС – сравнение налоговых
деклараций контрагентов
●
^ когда никого нет на кластере
Кстати, зачем все это нужно?
●
Система контроля НДС – сравнение налоговых
деклараций контрагентов
●
^ когда никого нет на кластере
●
Визуализация несоответствий и работа с ними
Кстати, зачем все это нужно?
●
Система контроля НДС – сравнение налоговых
деклараций контрагентов
●
^ когда никого нет на кластере
●
Визуализация несоответствий и работа с ними
●
Обработка интерактивных запросов от налоговых
инспекторов
Кстати, зачем все это нужно?
●
Система контроля НДС – сравнение налоговых
деклараций контрагентов
●
^ когда никого нет на кластере
●
Визуализация несоответствий и работа с ними
●
Обработка интерактивных запросов от налоговых
инспекторов
●
^ в рабочее время (когда на кластере есть
пользователи)
Подготовьте мышь к опыту
●
Ценности DevOps это:
●
C – Culture
●
A – Automation
●
M – Measurement
●
S – Sharing
C — Culture
●
Петербург – культурная столица Российской
Федерации
●
В петербургском филиале ФКУ
“Налог-Сервис” принято обращаться друг к
другу по имени-отчеству
A — Automation
●
A – Ansible*
* отстирывает в два раза лучше Вашего
моющего средства!
Б — Безопасность
●
Внутренняя сеть ФКУ не подключена к
интернету
●
Нельзя просто так взять и внести или
вынести файлы*
* но если очень хочется...
Рабочее место специалиста
●
Плюсы: можно нормально
выспаться
●
Минусы: нет
Первые шаги
●
А – Автоматизация (Ansible)
●
Первый проект, в котором я делал ad hoc команды
●
ansible all -a "command" --sudo --user ansible
Первые шаги
●
А – Автоматизация (Ansible)
●
Первый проект, в котором я делал ad hoc команды
●
ansible all -a "command" --sudo --user ansible
●
Тем не менее: описание в виде playbooks/roles
●
Прямое переиспользование уже накопленного
материала практически невозможно из-за
особенностей Cloudera
Особенности Cloudera
●
Управление через веб-интерфейс (!)
●
Параметры хранятся в СУБД PostgreSQL (!!)
●
Где-то (?) есть шаблоны для генерации конфигурации
Особенности Cloudera
●
Управление через веб-интерфейс (!)
●
Параметры хранятся в СУБД PostgreSQL (!!)
●
Где-то (?) есть шаблоны для генерации конфигурации
●
Сервисами управляет supervisord
●
Конфигурационные файлы supervisord генерируются
при каждом рестарте кластера заново в новом
каталоге с новым уникальным именем (!!!)
Это безумие? Это Cloudera!
●
Веб-интерфейс не управляет некоторыми параметрами
●
Значения вида -Xmx2048m не поддерживаются из-за
буквы m (только значения в байтах)
●
Как быть, если нужно задать значение более 4-х
гигабайт (в Int такое не поместится)?
Это безумие? Это Cloudera!
●
Веб-интерфейс не управляет некоторыми параметрами
●
Значения вида -Xmx2048m не поддерживаются из-за
буквы m (только значения в байтах)
●
Как быть, если нужно задать значение более 4-х
гигабайт (в Int такое не поместится)?
●
^ Зачем такое может быть нужно честному человеку?
Укрощение строптивой
●
Описали текущую конфигурацию при помощи Ansible
●
Выключили веб-интерфейс
Укрощение строптивой
●
Описали текущую конфигурацию при помощи Ansible
●
Выключили веб-интерфейс
●
Получили набор удивительных проблем при
рестарте узла: сервис Cloudera удаляет всю
конфигурацию supervisord
●
Решили это переносом конфигурации в неизвестный
сервису каталог
M — Measurement
●
Church of Metrics
●
В первую же неделю работы мы пронесли в закрытый
контур ФНС LXC-контейнер с Grafana и
Graphite/Whisper
●
Обычно, увидев интерфейс Grafana, люди теряют волю
и становятся адептами нашей церкви
●
Так и вышло
П — Проблемы
●
100% утилизация системного HDD на машине с контейнером
Grafana/Graphite/Whisper
●
Постоянные жалобы разработчиков, которые теперь
умеют смотреть на графики (научили на свою голову)
П — Проблемы
●
100% утилизация системного HDD на машине с контейнером
Grafana/Graphite/Whisper
●
Постоянные жалобы разработчиков, которые теперь
умеют смотреть на графики (научили на свою голову)
●
Как ни странно, жалобы имели под собой основу –
одна из нод HBase не успевала записывать на
системный диск логи
Р — Решения
●
O – OpenTSDB (time series database)
●
Работает как сервис поверх HBase
●
А у нас уже есть HDFS и HBase
О — Опять проблемы
●
O – OpenTSDB (time series database)
●
Работает как сервис поверх HBase
●
А у нас уже есть HDFS и Hbase
●
Интерфейс рисования графиков в Grafana для
интеграции с OpenTSDB нравится далеко не всем
C - CPU
●
График CPU
за 7 дней
Н - Недогруз
●
График CPU
за 12 часов
Ж — Жадность
●
График
утилизации
дисков
за 15 минут
Д — Дисбаланс
●
График
утилизации
дисков
за 7 дней
О — Отказ
●
Один из
дисков
сломался
и его никто
не рвется
менять
(не проблема)
Д — Другой отказ
●
supervisord в Cloudera так настроен, что после трех
попыток выключает сервис
●
Однажды у нас выключились 11 из 14 region серверов
в HBase
●
Кластер работал БЕЗ ПОТЕРИ
ПРОИЗВОДИТЕЛЬНОСТИ
Д — Другой отказ
●
supervisord в Cloudera так настроен, что после трех
попыток выключает сервис
●
Однажды у нас выключились 11 из 14 region серверов
в HBase
●
Кластер работал БЕЗ ПОТЕРИ
ПРОИЗВОДИТЕЛЬНОСТИ
●
^ Помните слайд про “недогруз”?
Л — Локальность
●
Способность region server читать данные с data node
через unix socket, не задействуя сеть
Л — Локальность
●
Была 0 на всех region servers
●
На HDFS data nodes зарегистрированы по FQDN
●
На HBase region servers зарегистрированы по short
names
●
Несовпадение имен – region servers не распознают
локальность и не могут использовать unix socket
Л — Локальность
●
Семь бед – один restart всех data nodes
●
После рестарта регистрируются по коротким именам
●
Делаем major compaction всех таблиц – локальность
становится почти 100%
Л — Локальность
●
Семь бед – один restart всех data nodes
●
После рестарта регистрируются по коротким именам
●
Делаем major compaction всех таблиц – локальность
становится почти 100%
●
И НИКАКОГО ПРИРОСТА ПРОИЗВОДИТЕЛЬНОСТИ!
Б — Безысходность
●
S - Sampling
●
kill -QUIT pid
●
Скрипт на bash для сэмплинга заданных контейнеров
●
Анализ полученных логов вручную
●
Слишком частые обращения к HBase metadata
●
^ удалось быстро исправить
Б — Безысходность
●
S - Sampling
●
kill -QUIT pid
●
Скрипт на bash для сэмплинга заданных контейнеров
●
Анализ полученных логов вручную
●
Слишком частые обращения к HBase metadata
●
^ удалось быстро исправить
●
На этом хорошие новости кончились – далее в сэмплах
видим код счета в приложении
К — Качество
●
Размер кластера не так важен
●
Критически важна способность алгоритма
параллелиться
D — Docker
●
Новая модная технология
●
Которую мы любим и умеем
●
К сожалению, стандартная сеть в Docker не позволяет
развернуть YARN
●
Использование OpenVSwitch (который зависает в
предсказуемые, к счастью, моменты)
●
Сильная фрустрация всех участников, отказ от Docker
S — Sharing
●
Три интенсивные тренировочные сессии
●
Несколько часов обучающего видео
●
План создания видеотренингов и практических работ
на ближайшие полгода
●
Как показала практика – в рамках интенсивных трех-
и пятидневных сессий запомнить нужный объем
информации невозможно
Выводы
●
Работа в федеральном проекте:
●
а) позволяет посетить новые места
●
б) позволяет познакомиться с новыми
интересными людьми
Спасибо за внимание!
●
Пожалуйста, ваши вопросы!
●
С вами был Александр Чистяков
●
http://gitinsky.com
●
alex@gitinsky.com
●
Кстати, мы делаем митапы в Петербурге:
●
http://meetup.com/Docker-Spb, http://meetup.com/Ansible-Spb,
http://meetup.com/DevOps-40

Contenu connexe

Tendances

My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016Alex Chistyakov
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterpriseAlex Chistyakov
 
Спасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераСпасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераDaniel Podolsky
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruAlex Chistyakov
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskPerformance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskAlex Chistyakov
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25Alex Chistyakov
 
Salt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systemsSalt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systemsAlex Chistyakov
 
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...Ontico
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Ontico
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015Alex Chistyakov
 
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...Ontico
 
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Ontico
 
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Ontico
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примереSergey Xek
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Ontico
 
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)Ontico
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 

Tendances (20)

My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterprise
 
Спасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераСпасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного Хецнера
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ru
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
 
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskPerformance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon Saransk
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
Salt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systemsSalt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systems
 
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015
 
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
 
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
 
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примере
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
 
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 

En vedette

NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?Daniel Podolsky
 
My talk on Piter Py 2016
My talk on Piter Py 2016My talk on Piter Py 2016
My talk on Piter Py 2016Alex Chistyakov
 
My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016Alex Chistyakov
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015Alex Chistyakov
 
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14Alex Chistyakov
 
My talk on PgDay Russia 2014
My talk on PgDay Russia 2014My talk on PgDay Russia 2014
My talk on PgDay Russia 2014Alex Chistyakov
 
Управление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыУправление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыSerguei Gitinsky
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQLAlex Chistyakov
 
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016Alex Chistyakov
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlDaniel Podolsky
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016Alex Chistyakov
 
План на февраль 2016
План на февраль 2016План на февраль 2016
План на февраль 2016supportfranco
 
PHP performance 101: so you need to use a database
PHP performance 101: so you need to use a databasePHP performance 101: so you need to use a database
PHP performance 101: so you need to use a databaseLeon Fayer
 
No you are not a DevOps engineer
No you are not a DevOps engineerNo you are not a DevOps engineer
No you are not a DevOps engineerMike Kavis
 
Building a DevOps Team that isn't Evil
Building a DevOps Team that isn't EvilBuilding a DevOps Team that isn't Evil
Building a DevOps Team that isn't EvilIBM UrbanCode Products
 
Adventures in public speaking
Adventures in public speakingAdventures in public speaking
Adventures in public speakingLeon Fayer
 
What DevOps is Not
What DevOps is NotWhat DevOps is Not
What DevOps is NotLeon Fayer
 

En vedette (18)

NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?
 
My talk on Piter Py 2016
My talk on Piter Py 2016My talk on Piter Py 2016
My talk on Piter Py 2016
 
My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015
 
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
 
My talk on PgDay Russia 2014
My talk on PgDay Russia 2014My talk on PgDay Russia 2014
My talk on PgDay Russia 2014
 
Управление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыУправление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктуры
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQL
 
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosql
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016
 
План на февраль 2016
План на февраль 2016План на февраль 2016
План на февраль 2016
 
PHP performance 101: so you need to use a database
PHP performance 101: so you need to use a databasePHP performance 101: so you need to use a database
PHP performance 101: so you need to use a database
 
No you are not a DevOps engineer
No you are not a DevOps engineerNo you are not a DevOps engineer
No you are not a DevOps engineer
 
Building a DevOps Team that isn't Evil
Building a DevOps Team that isn't EvilBuilding a DevOps Team that isn't Evil
Building a DevOps Team that isn't Evil
 
DevOps Unicorns
DevOps UnicornsDevOps Unicorns
DevOps Unicorns
 
Adventures in public speaking
Adventures in public speakingAdventures in public speaking
Adventures in public speaking
 
What DevOps is Not
What DevOps is NotWhat DevOps is Not
What DevOps is Not
 

Similaire à My talk on Hadoop stack operations engineering at OSPCon

Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...Ontico
 
SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013Alex Chistyakov
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyAlex Chistyakov
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPILeonid Yuriev
 
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"Fwdays
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...IT-Portfolio
 
Говорим о СУБД языком HR
Говорим о СУБД языком HRГоворим о СУБД языком HR
Говорим о СУБД языком HRKonstantin Osipov
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
High Load 2009 Imdg Presentation
High Load 2009   Imdg PresentationHigh Load 2009   Imdg Presentation
High Load 2009 Imdg PresentationHighLoad2009
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...IT-Portfolio
 
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorDevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorJetBrains Russia
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrusAlex Chistyakov
 
HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...
HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...
HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...etarasenko
 
Big web project @happydev Omsk
Big web project @happydev OmskBig web project @happydev Omsk
Big web project @happydev OmskAlex Chistyakov
 
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...HappyDev
 
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данныхОлег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данныхSiel01
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 

Similaire à My talk on Hadoop stack operations engineering at OSPCon (20)

Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
 
SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на Ruby
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPI
 
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
 
HBase on Dev{Highload}
HBase on Dev{Highload}HBase on Dev{Highload}
HBase on Dev{Highload}
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
 
Говорим о СУБД языком HR
Говорим о СУБД языком HRГоворим о СУБД языком HR
Говорим о СУБД языком HR
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
High Load 2009 Imdg Presentation
High Load 2009   Imdg PresentationHigh Load 2009   Imdg Presentation
High Load 2009 Imdg Presentation
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
 
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorDevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System Administrator
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
 
HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...
HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...
HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...
 
Big web project @happydev Omsk
Big web project @happydev OmskBig web project @happydev Omsk
Big web project @happydev Omsk
 
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
 
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данныхОлег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 

Plus de Alex Chistyakov

My slides from DevOpsDays 2019
My slides from DevOpsDays 2019My slides from DevOpsDays 2019
My slides from DevOpsDays 2019Alex Chistyakov
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 Alex Chistyakov
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018Alex Chistyakov
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtAlex Chistyakov
 
My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019Alex Chistyakov
 
Configuration management and Kubernetes
Configuration management and KubernetesConfiguration management and Kubernetes
Configuration management and KubernetesAlex Chistyakov
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017Alex Chistyakov
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMAlex Chistyakov
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10Alex Chistyakov
 
My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017Alex Chistyakov
 
My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017Alex Chistyakov
 

Plus de Alex Chistyakov (20)

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

My talk on Hadoop stack operations engineering at OSPCon

  • 1. Наdoop на службе федерального налогового ведомства страны Александр Чистяков, ФКУ “Налог-Сервис”, главный специалист
  • 2. Я пришел с миром! ● Меня зовут Саша ● Я работаю в Федеральном Казенном Учреждении “Налог-Сервис” на должности главного специалиста ● Я занимаюсь эксплуатацией Hadoop-кластера Федеральной Налоговой Службы
  • 3. Вы? ● Работаете с большими данными? ● Работаете с очень большими данными? ● Работаете с очень-очень большими данными ● Кстати, как отличить просто большие данные от очень больших данных?
  • 4. Сразу достанем и измерим ● Похвастаюсь: ● У меня МНОГО RPS* * совершенно бесполезных
  • 5. Начнем с начала ● Ни одна крутая история не начинается со слов “мы сидели и пили кофе” ● Эта история началась со слов “все плохо” ● Повторенных не один раз
  • 6. Насколько все было плохо? ● Полстойки BigData-решения от компании Cisco
  • 7. Насколько все было плохо? ● Полстойки BigData-решения от компании Cisco ● RedHat Enterprise Linux 6
  • 8. Насколько все было плохо? ● Полстойки BigData-решения от компании Cisco ● RedHat Enterprise Linux 6 ● Установленный “дистрибутив” Hadoop от компании Cloudera (на тот момент – 5.2)
  • 9. Насколько все было плохо? ● Полстойки BigData-решения от компании Cisco ● RedHat Enterprise Linux 6 ● Установленный “дистрибутив” Hadoop от компании Cloudera (на тот момент – 5.2) ● Разработчики с полным доступом к продакшну
  • 10. Насколько все было плохо? ● Полстойки BigData-решения от компании Cisco ● RedHat Enterprise Linux 6 ● Установленный “дистрибутив” Hadoop от компании Cloudera (на тот момент – 5.2) ● Разработчики с полным доступом к продакшну ● Два приложения: Java/YARN/HBase и Scala/Spark/HBase/Parquet
  • 11. Кстати, зачем все это нужно? ● Система контроля НДС – сравнение налоговых деклараций контрагентов
  • 12. Кстати, зачем все это нужно? ● Система контроля НДС – сравнение налоговых деклараций контрагентов ● ^ когда никого нет на кластере
  • 13. Кстати, зачем все это нужно? ● Система контроля НДС – сравнение налоговых деклараций контрагентов ● ^ когда никого нет на кластере ● Визуализация несоответствий и работа с ними
  • 14. Кстати, зачем все это нужно? ● Система контроля НДС – сравнение налоговых деклараций контрагентов ● ^ когда никого нет на кластере ● Визуализация несоответствий и работа с ними ● Обработка интерактивных запросов от налоговых инспекторов
  • 15. Кстати, зачем все это нужно? ● Система контроля НДС – сравнение налоговых деклараций контрагентов ● ^ когда никого нет на кластере ● Визуализация несоответствий и работа с ними ● Обработка интерактивных запросов от налоговых инспекторов ● ^ в рабочее время (когда на кластере есть пользователи)
  • 16. Подготовьте мышь к опыту ● Ценности DevOps это: ● C – Culture ● A – Automation ● M – Measurement ● S – Sharing
  • 17. C — Culture ● Петербург – культурная столица Российской Федерации ● В петербургском филиале ФКУ “Налог-Сервис” принято обращаться друг к другу по имени-отчеству
  • 18. A — Automation ● A – Ansible* * отстирывает в два раза лучше Вашего моющего средства!
  • 19. Б — Безопасность ● Внутренняя сеть ФКУ не подключена к интернету ● Нельзя просто так взять и внести или вынести файлы* * но если очень хочется...
  • 20. Рабочее место специалиста ● Плюсы: можно нормально выспаться ● Минусы: нет
  • 21. Первые шаги ● А – Автоматизация (Ansible) ● Первый проект, в котором я делал ad hoc команды ● ansible all -a "command" --sudo --user ansible
  • 22. Первые шаги ● А – Автоматизация (Ansible) ● Первый проект, в котором я делал ad hoc команды ● ansible all -a "command" --sudo --user ansible ● Тем не менее: описание в виде playbooks/roles ● Прямое переиспользование уже накопленного материала практически невозможно из-за особенностей Cloudera
  • 23. Особенности Cloudera ● Управление через веб-интерфейс (!) ● Параметры хранятся в СУБД PostgreSQL (!!) ● Где-то (?) есть шаблоны для генерации конфигурации
  • 24. Особенности Cloudera ● Управление через веб-интерфейс (!) ● Параметры хранятся в СУБД PostgreSQL (!!) ● Где-то (?) есть шаблоны для генерации конфигурации ● Сервисами управляет supervisord ● Конфигурационные файлы supervisord генерируются при каждом рестарте кластера заново в новом каталоге с новым уникальным именем (!!!)
  • 25. Это безумие? Это Cloudera! ● Веб-интерфейс не управляет некоторыми параметрами ● Значения вида -Xmx2048m не поддерживаются из-за буквы m (только значения в байтах) ● Как быть, если нужно задать значение более 4-х гигабайт (в Int такое не поместится)?
  • 26. Это безумие? Это Cloudera! ● Веб-интерфейс не управляет некоторыми параметрами ● Значения вида -Xmx2048m не поддерживаются из-за буквы m (только значения в байтах) ● Как быть, если нужно задать значение более 4-х гигабайт (в Int такое не поместится)? ● ^ Зачем такое может быть нужно честному человеку?
  • 27. Укрощение строптивой ● Описали текущую конфигурацию при помощи Ansible ● Выключили веб-интерфейс
  • 28. Укрощение строптивой ● Описали текущую конфигурацию при помощи Ansible ● Выключили веб-интерфейс ● Получили набор удивительных проблем при рестарте узла: сервис Cloudera удаляет всю конфигурацию supervisord ● Решили это переносом конфигурации в неизвестный сервису каталог
  • 29. M — Measurement ● Church of Metrics ● В первую же неделю работы мы пронесли в закрытый контур ФНС LXC-контейнер с Grafana и Graphite/Whisper ● Обычно, увидев интерфейс Grafana, люди теряют волю и становятся адептами нашей церкви ● Так и вышло
  • 30. П — Проблемы ● 100% утилизация системного HDD на машине с контейнером Grafana/Graphite/Whisper ● Постоянные жалобы разработчиков, которые теперь умеют смотреть на графики (научили на свою голову)
  • 31. П — Проблемы ● 100% утилизация системного HDD на машине с контейнером Grafana/Graphite/Whisper ● Постоянные жалобы разработчиков, которые теперь умеют смотреть на графики (научили на свою голову) ● Как ни странно, жалобы имели под собой основу – одна из нод HBase не успевала записывать на системный диск логи
  • 32. Р — Решения ● O – OpenTSDB (time series database) ● Работает как сервис поверх HBase ● А у нас уже есть HDFS и HBase
  • 33. О — Опять проблемы ● O – OpenTSDB (time series database) ● Работает как сервис поверх HBase ● А у нас уже есть HDFS и Hbase ● Интерфейс рисования графиков в Grafana для интеграции с OpenTSDB нравится далеко не всем
  • 34. C - CPU ● График CPU за 7 дней
  • 35. Н - Недогруз ● График CPU за 12 часов
  • 38. О — Отказ ● Один из дисков сломался и его никто не рвется менять (не проблема)
  • 39. Д — Другой отказ ● supervisord в Cloudera так настроен, что после трех попыток выключает сервис ● Однажды у нас выключились 11 из 14 region серверов в HBase ● Кластер работал БЕЗ ПОТЕРИ ПРОИЗВОДИТЕЛЬНОСТИ
  • 40. Д — Другой отказ ● supervisord в Cloudera так настроен, что после трех попыток выключает сервис ● Однажды у нас выключились 11 из 14 region серверов в HBase ● Кластер работал БЕЗ ПОТЕРИ ПРОИЗВОДИТЕЛЬНОСТИ ● ^ Помните слайд про “недогруз”?
  • 41. Л — Локальность ● Способность region server читать данные с data node через unix socket, не задействуя сеть
  • 42. Л — Локальность ● Была 0 на всех region servers ● На HDFS data nodes зарегистрированы по FQDN ● На HBase region servers зарегистрированы по short names ● Несовпадение имен – region servers не распознают локальность и не могут использовать unix socket
  • 43. Л — Локальность ● Семь бед – один restart всех data nodes ● После рестарта регистрируются по коротким именам ● Делаем major compaction всех таблиц – локальность становится почти 100%
  • 44. Л — Локальность ● Семь бед – один restart всех data nodes ● После рестарта регистрируются по коротким именам ● Делаем major compaction всех таблиц – локальность становится почти 100% ● И НИКАКОГО ПРИРОСТА ПРОИЗВОДИТЕЛЬНОСТИ!
  • 45. Б — Безысходность ● S - Sampling ● kill -QUIT pid ● Скрипт на bash для сэмплинга заданных контейнеров ● Анализ полученных логов вручную ● Слишком частые обращения к HBase metadata ● ^ удалось быстро исправить
  • 46. Б — Безысходность ● S - Sampling ● kill -QUIT pid ● Скрипт на bash для сэмплинга заданных контейнеров ● Анализ полученных логов вручную ● Слишком частые обращения к HBase metadata ● ^ удалось быстро исправить ● На этом хорошие новости кончились – далее в сэмплах видим код счета в приложении
  • 47. К — Качество ● Размер кластера не так важен ● Критически важна способность алгоритма параллелиться
  • 48. D — Docker ● Новая модная технология ● Которую мы любим и умеем ● К сожалению, стандартная сеть в Docker не позволяет развернуть YARN ● Использование OpenVSwitch (который зависает в предсказуемые, к счастью, моменты) ● Сильная фрустрация всех участников, отказ от Docker
  • 49. S — Sharing ● Три интенсивные тренировочные сессии ● Несколько часов обучающего видео ● План создания видеотренингов и практических работ на ближайшие полгода ● Как показала практика – в рамках интенсивных трех- и пятидневных сессий запомнить нужный объем информации невозможно
  • 50. Выводы ● Работа в федеральном проекте: ● а) позволяет посетить новые места ● б) позволяет познакомиться с новыми интересными людьми
  • 51. Спасибо за внимание! ● Пожалуйста, ваши вопросы! ● С вами был Александр Чистяков ● http://gitinsky.com ● alex@gitinsky.com ● Кстати, мы делаем митапы в Петербурге: ● http://meetup.com/Docker-Spb, http://meetup.com/Ansible-Spb, http://meetup.com/DevOps-40