
Apache *
Свободный веб-сервер
Apache NiFi: что это такое и краткий обзор возможностей

Мы в «Ростелекоме» стремимся развивать работу с Hadoop, так что уже попробовали и оценили преимущества Apache NiFi по сравнению с другими решениями. В этой статье я расскажу, чем нас привлек этот инструмент и как мы его используем.
Apache Spark — достоинства, недостатки, пожелания
Это не будет перевод, а скорее все-таки мои впечатления и комментарии на тему.
Настройка HTTP/2 на примере Apache 2.4, PHP 7 и Ubuntu 18.04 LTS
Moscow Apache Ignite Meetup #5
14 ноября приглашаем на очередную встречу Apache Ignite в Москве. Будет интересно архитекторам и разработчикам, интересующимся open source платформой для распределённых приложений Apache Ignite.
Программа
18:30 — 19:00 — Сбор гостей, приветственный кофе
Доклады:
- Измерение производительности Apache ignite. Как мы делаем бенчмарки — Илья Сунцов (GridGain)
- Apache Ignite TeamCity Bot: боремся с нестабильными тестами в Open Source сообществе — Дмитрий Павлов (GridGain) и Николай Кулагин (Сбербанк Технологии)
- Transparent Data Encryption. История разработки major feature в большом open source проекте — Николай Ижиков, Apache Ignite Committerа
22:00 — 22:30 — Розыгрыш полезных книг и свободное общение
Мероприятие бесплатное, нужно зарегистрироваться
Apache Ignite + Apache Spark Data Frames: вместе веселее
Под катом вас ожидает видео и текстовая версия моего доклада на Apache Ignite Meetup о том, как использовать Apache Ignite вместе с Apache Spark и какие возможности мы для этого реализовали.
Анализ производительности WSGI-серверов: Часть вторая

Введение
В первой части этой серии Вы познакомились с WSGI и с шестью наиболее популярными по мнению автора WSGI-серверами. В этой части Вам будет показан результат анализа производительности этих серверов. С этой целью была создана специальная тестовая песочница.
Введение в WSGI-серверы: Часть первая

Краткая история серверов WSGI Python
WSGI-серверы появились потому, что веб-серверы в то время не умели взаимодействовать с приложениями, написанными на языке Python. WSGI (произносится как «whiz-gee» с твердым «g») был разработан Филиппом Дж. Эби (вместе с Ян Бикинг и др.) В начале 2000-х годов. Модуль Apache, известный как mod_python, разработанный Григорием Трубецким в конце 90-х годов, на тот момент обрабатывал большую часть Python-приложений. Однако mod_python не был официальной спецификацией. Он был просто создан, чтобы разработчики могли запускать код Python на сервере. К сожалению, такой подход был небезопасным и разработчики начали искать новое решение.
WSGI(Web-Server Gateway Interface) является потомком CGI(Common Gateway Interface). Когда веб начал развиваться, CGI разрастался из-за поддержки огромного количества языков и из-за отсутствия других решений. Однако, такое решение было медленным и ограниченным. WSGI был разработан как интерфейс для маршрутизации запросов от веб-серверов(Apache, Nginx и т.д.) на веб-приложения.
Cassandra Sink для Spark Structured Streaming
В данном посте я привожу простой пример создания и использования Cassandra Sink для Spark Structured Streaming. Я надеюсь, что пост будет полезен тем, кто недавно начал работать со Spark Structured Streaming и задается вопросом, как выгружать результаты вычислений в базу данных.
Идея приложения очень проста — получить и распарсить сообщения из кафки, выполнить простые трансформации в спарке и сохранить результаты в кассандре.
Введение в разработку типичного Open Source решения
Под катом вас ожидает текстовая версия презентации, полная субъективного восприятия Open Source, как позитивного, так и негативного.

Книга «Apache Kafka. Потоковая обработка и анализ данных»
При работе любого enterprise-приложения образуются данные: это файлы логов, метрики, информация об активности пользователей, исходящие сообщения и т. п. Правильные манипуляции над всеми этими данными не менее важны, чем сами данные. Если вы — архитектор, разработчик или выпускающий инженер, желающий решать подобные проблемы, но пока не знакомы с Apache Kafka, то именно из этой замечательной книги вы узнаете, как работать с этой свободной потоковой платформой, позволяющей обрабатывать очереди данных в реальном времени.Для кого предназначена эта книга
«Apache Kafka. Потоковая обработка и анализ данных» написана для разработчиков, использующих в своей работе API Kafka, а также инженеров-технологов (именуемых также SRE, DevOps или системными администраторами), занимающихся установкой, конфигурацией, настройкой и мониторингом ее работы при промышленной эксплуатации. Мы не забывали также об архитекторах данных и инженерах-аналитиках — тех, кто отвечает за проектирование и создание всей инфраструктуры данных компании. Некоторые главы, в частности 3, 4 и 11, ориентированы на Java-разработчиков. Для их усвоения важно, чтобы читатель был знаком с основами языка программирования Java, включая такие вопросы, как обработка исключений и конкурентность.
Введение в Maven от Balaji Varnasi и Sudha Belida (перевод)
От переводчика: Несколько лет назад я поставил себе целью быстро, но достаточно плотно познакомиться с таким повсеместно используемым фреймворком, как Apache Maven. Практически моментально мне удалось найти соответствующую литературу, но я был слегка удивлен тем фактом, что все комплексные материалы были исключительно на английском языке, на русском же была масса разрозненных статей, но полноценной книжки, которую можно было прочитать от корки до корки, мне обнаружить не удалось. Как результат, для прочтения я выбрал небольшую книжку «Introducing Maven», написанную Balaji Varnasi и Sudha Belida и выпущенную издательством Apress в 2014 году. По мере прорешивания всех задач у меня постепенно родился перевод этого издания, который хоть и пару лет пролежал у меня в столе, но возможно всё еще будет полезен сообществу.
Здесь я привожу перевод только одной из глав этой книги, а целиком её можно скачать вот по этим ссылкам на английском, или на русском языке (PDF).
Ближайшие события
Сравнительный анализ HDFS 3 с HDFS 2
Компанией СберТех на данную исследовательскую работу было выделено 10 виртуальных машин размером по 40 Гбайт. Так как политика кодирования RS(10,4) требует минимум 14 машин, то протестировать ее не получится.
На одной из машин будет расположен NameNode помимо DataNode. Тестирования будет проводиться при следующих политиках кодирования:
- XOR(2,1)
- RS(3,2)
- RS(6,3)
А также, используя репликацию с фактором репликации равным 3.
Размер блока данных был выбран равным 32 Мб.
RabbitMQ против Kafka: применение Kafka в событийно ориентированных приложениях
В предыдущей статье мы рассмотрели шаблоны и топологии, применяемые в RabbitMQ. В этой части мы обратимся к Kafka и сравним её с RabbitMQ, чтобы получить некоторые представления об их различиях. Следует иметь в виду, что сравниваться будут скорее архитектуры событийно-ориентированных приложений, а не конвейеры обработки данных, хотя грань между этими двумя понятиями в данном случае будет довольно размытой. Вообще, это скорее спектр, чем четкое разделение. Просто наше сравнение будет сфокусировано на части этого спектра, связанной с событийно-управляемыми приложениями.

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
Цели
- Использовать текущий на момент написания статьи софт
- Чтоб разграничить локальные домены, будем использовать специальный домен .loc
- Переключения версий PHP реализуем через поддомен c помощью fast-cgi
- Автоматическое создание хоста с помощью vhost_alias и dnsmasq
Что имеем в итоге. При переходе на
56.test.locApache запустит c версией PHP 5.6.36
/var/www/test.loc/public_html/index.phpПоменяв поддомен на
72.test.locбудет запущен тот же файл но уже с версией PHP 7.2.7
Другие версии доставляются аналогичным описанным ниже способом.
Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта
Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
RabbitMQ против Kafka: два разных подхода к обмену сообщениями
В прошлых двух статьях мы рассказывали об IIoT — индустриальном интернете вещей — строили архитектуру, чтобы принимать данные от сенсоров, паяли сами сенсоры. Краеугольным камнем архитектур IIoT да и вообще любых архитектур работающих с BigData является потоковая обработка данных. В ее основе лежит концепция передачи сообщений и очередей. Стандартом работы с рассылкой сообщений сейчас стала Apache Kafka. Однако, для того, чтобы разобраться в ее преимуществах (и понять ее недостатки) было бы хорошо разобраться в основах работы систем очередей в целом, механизмах их работы, шаблонах использования и основной функциональности.

Мы нашли отличную серию статей, которая сравнивает функциональность Apache Kafka и другого (незаслуженно игнорируемого) гиганта среди систем очередей — RabbitMQ. Эту серию статей мы перевели, снабдили своими комментариями и дополнили. Хотя серия и написана в декабре 2017 года, мир систем обмена сообщениями (и особенно Apache Kafka) меняется так быстро, что уже к лету 2018-го года некоторые вещи изменились.
Книга «Эффективный Spark. Масштабирование и оптимизация»
В этом посте мы рассмотрим доступ к API Spark из различных языков программирования в JVM, а также некоторые вопросы производительности при выходе за пределы языка Scala. Даже если вы работаете вне JVM, данный раздел может оказаться полезен, поскольку не-JVM-языки часто зависят от API Java, а не от API Scala.Работа на других языках программирования далеко не всегда означает необходимость выхода за пределы JVM, и работа в JVM имеет немало преимуществ с точки зрения производительности — в основном вследствие того, что не требуется копировать данные. Хотя для обращения к Spark не из языка Scala не обязательно нужны специальные библиотеки привязки или адаптеры, вызвать код на языке Scala из других языков программирования может быть непросто. Фреймворк Spark поддерживает использование в преобразованиях лямбда-выражений языка Java 8, а у тех, кто применяет более старые версии JDK, есть возможность реализовать соответствующий интерфейс из пакета org.apache.spark.api.java.function. Даже в случаях, когда не требуется копировать данные, у работы на другом языке программирования могут быть небольшие, но важные нюансы, связанные с производительностью.
Установка сертификата на HTTP сервер Apache

Данная статья предлагает пошаговую инструкцию по установке сертификата на HTTP сервер Apache. Обратите внимание, что с версии 2.4.8 Apache параметры конфигурации сервера были изменены.
Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения
Часть 2: Решение
И снова здравствуйте! Сегодня я продолжу свой рассказ о том, как мы классифицируем большие объёмы данных на Apache Spark, используя произвольные модели машинного обучения. В первой части статьи мы рассмотрели саму постановку задачи, а также основные проблемы, которые возникают при организации взаимодействия между кластером, на котором хранятся и обрабатываются исходные данные, и внешним сервисом классификации. Во второй части мы рассмотрим один из вариантов решения данной задачи с использованием подхода Reactive Streams и его реализации с использованием библиотеки akka-streams.

Вклад авторов
eapotapov 163.6Polina_Averina 153.6ph_piter 101.4alextokarev 92.0br0mberg 85.0Morozka 77.0mechanicusilius 66.0Andrey_Biryukov 62.8Anna_sokol22 56.0MaxRokatansky 53.4
