Главная » 2012»Июнь»22 » Hadoop: Как контролировать производительность кластера Hadoop?
21:59
Hadoop: Как контролировать производительность кластера Hadoop?
Hadoop - программное обеспечение класса open source для хранения и обработки больших наборов данных, используя кластер серверов. Здесь мы покажем, как с помощью агентов sFlow можно контролировать производительность такого кластера. Для начала инсталлируем Host sFlow на каждом узле кластера Hadoop (см. пример инсталляции Host sFlow на сервере Linux). Эти агенты экспортируют стандартную статистику о процессоре, памяти, диске и сети. В нашем случае агент Host sFlow будет инсталлироваться на виртуальную машину Cloudera. Поскольку Hadoop работает на Java, следующий шаг включает в себя инсталляцию и конфигурирование Java-агента sFlow (см. Java Virtual machine). В этом случае виртуальные машины Hadoop конфигурируются в файле /etc/hadoop/conf/hadoop-env.sh. Нижеприведенный фрагмент из этого файла показывает дополнительные команды, необходимые для мониторинга Hadoop-демонов:
Замечание: Файл sflowagent.jar помещается в директорию /etc/hadoop/conf. Каждый демон (daemon) описывается значением sflow.hostname , соответствующим имени демона. Кроме того, уникальное значение sflow.dsindex должно быть присвоено каждому демону - значения индекса должны быть уникальными только для отдельного сервера, а в целом серверы в кластере могут использовать те же конфигурационные установки. Агенты Host sFlow и Java sFlow совместно используют конфигурацию (см. распределенный агент Host sFlow), упрощая тем самым задачу конфигурации мониторинга sFlow для каждого сервера по всему кластеру. Замечание: Если вы используете систему мониторинга Ganglia, то вам необходимо установить multiple_jvm_instances = yes, поскольку на каждом сервере работают более одного демона Java (см. использование Ganglia для мониторинга виртуальных машин Java).
И, наконец, Hadoop чувствителен к сетевым перегрузкам и генерирует большие объемы трафика. К счастью, большинство производителей коммутаторов поддерживают стандарт sFlow. Комбинируя sFlow от серверов Hadoop с sFlow с коммутаторов, можно получить полную информацию о производительности кластера Hadoop.