Ganglia Web не показывает статус других узлов, только показывает мета-узел. Возможные причины?

У меня есть 3 машины в моем кластере HDFS: pr2 это мета-узел, и pr1 а также pr3 другие 2 узла. Я хочу контролировать их с ganglia web, С этой целью, Ganglia (с обоими gmetad а также gmond) был установлен на все 3 узла, и ganglia web был установлен на мета-узел, pr2,

Я запускаю следующее:

На пр2:

service gmetad start
service gmond start
service httpd start

На pr1 и pr3:

service gmond start

Я ожидаю увидеть в ganglia web информация обо всех 3 узлах. Но вот что я вижу:

Кажется, работает только 1 узел, который pr2,

Что может быть причиной?

Я рассмотрел следующие возможности при настройке установки:

  1. В файле конфигурации gmond есть место для указания "хост-машины". Каким должен быть "хозяин" здесь? Например, для узла pr1Стоит ли это локальная машина (pr1) или мета-узел (pr2)? Я пытался с обоими pr1 а также pr2 отдельно, и я до сих пор не вижу информации о pr1 или же pr3 на ganglia web, Кроме того, мне нужно добавить что-нибудь еще в этом разделе?

[root@pr1]# nano /usr/local/etc/gmond.conf

/* The host section describes attributes of the host, like the location */
host {
  location = "unspecified" ### Should I replace "unspecified" with pr2 (the meta node), or with pr1? ###
}
  1. Также в том же файле конфигурации есть раздел для настройки udp_send_channels, Есть параметр mcast_join, который я думаю, чтобы указать мета-узел. Поэтому я изменил IP на pr2, Но с тех пор ganglia web не показывает информацию о pr1 а также pr3Я попытался изменить его на pr1 а также pr3 соответственно, но безрезультатно.

[root@pr1]# nano /usr/local/etc/gmond.conf

udp_send_channel {
  #bind_hostname = yes 
  mcast_join = 239.2.11.71 ### Should I change this IP to pr2 or pr1? ###
  port = 8649
  ttl = 1
}
  1. Опять же, в том же файле есть раздел для настройки udp_recv_channel, Я закомментировал mcast_join а также bind здесь, так как я думал pr1 а также pr3 узлам не нужно получать какую-либо информацию от чего-либо, им нужно только отправить информацию на мета-узел, pr2, Я ошибся?

[root@pr1]# nano /usr/local/etc/gmond.conf

udp_recv_channel {
  #mcast_join = 239.2.11.71
  port = 8649
  #bind = 239.2.11.71
  retry_bind = true
  # Size of the UDP buffer. If you are handling lots of metrics you really
  # should bump it up to e.g. 10MB or even higher.
  # buffer = 10485760
}
  1. Затем я запускаю следующий тест дыма:

gmond -d 5 -c /usr/local/etc/gmond.conf

и он возвращает следующее (показывая хвостовую часть длинного вывода):

...
...
Counting device /dev/mapper/centos-root (2.69 %)
Counting device /dev/mapper/centos-home (0.02 %)
Counting device /dev/sda1 (18.49 %)
For all disks: 206.174 GB total, 204.498 GB free for users.
    metric 'part_max_used' has value_threshold 1.000000
    sent message 'heartbeat' of length 48 with 0 errors
Processing a metric value message from pr1.embs
Got a heartbeat message 1511171541

Это означает, что gmond работает правильно, я прав?

  1. Затем я настраиваю gmond файл инициализации (для вызова команды) и внесите следующие 2 изменения: (i) точка GMOND на правильный путь и (ii) наведите демон на правильный путь gmond.conf файл. Могу ли я сделать что-то здесь не так?

[root @ pr1] # nano /etc/init.d/gmond

### Change here ###
#GMOND=/usr/sbin/gmond
GMOND=/usr/local/sbin/gmond

# TMPDIR set to SysV IPC ramdrive to avoid include processing failures
TMPDIR=/dev/shm
export TMPDIR

. /etc/rc.d/init.d/functions

start() {
    [ -x $GMOND ] || exit 5
    [ -f /etc/ganglia/gmond.conf ] || exit 6
    echo -n "Starting GANGLIA gmond: "

    ### Change here ###
    #daemon $GMOND
    daemon $GMOND -c /usr/local/etc/gmond.conf
  1. Затем я модифицирую gmetad.conf файл для изменения datasource и добавьте имя кластера и имя пользователя. Здесь я должен изменить источник данных на локальную машину (pr1 или же pr3) или метаузлу (pr2)?

[root@pr1]# nano /usr/local/etc/gmetad.conf

===(change)
data_source "edhcluster" pr1 ### Should I change this to pr2, the meta node?
===

===(add)
gridname "edhcluster"
===

===(add)
setuid_username "ganglia"
===

Или, еще больший вопрос, я не должен ничего менять в этом файле узлов pr1 а также pr3 (как только pr2 мета-узел, который будет контролировать все), а вместо этого изменить gmetad.conf файл метаузла, pr2только для включения в его datasource все 3 узла, вот так:

[root@pr**2**]# nano /usr/local/etc/gmetad.conf

data_source "edhcluster" pr1 pr2 pr3

Но потом, я где-то читал некоторое время назад, просматривая, чтобы решить эту проблему, что написание имен узлов, подобных этому, означает, что он сначала проверит pr1, если он не работает, то проверит pr2, и если он не работает тоже проверит pr3. Итак, если мы хотим, чтобы он собирал данные со всех трех машин, мы должны написать отдельные строки для каждого узла, например:

[root@pr2]# nano /usr/local/etc/gmetad.conf

data_source "edhcluster" pr1
data_source "edhcluster" pr2
data_source "edhcluster" pr3

Я попробовал это, а затем перезапустил все службы во всех узлах (gmetad, gmond а также httpd в pr2, а также gmond в pr1 а также pr3), но ganglia web все еще не показывает ничего для двух других узлов.

  1. Затем я изменил gmetad.init файл (для вызова команды) на pr1 сделать GMETAD демон указывает на правильный путь gmetad.conf файл. Тем не менее, я подозреваю, что это может быть неправильно, так как gmetad из pr2 должен справиться с этим. Итак, правильно ли я идентифицирую это как ошибку? Если да, то как заставить демон gmetad указывать путь к файлу конфигурации в другом узле, метаузле, pr2?

[root@pr1]# nano /etc/init.d/gmetad

### Change here ###
#GMETAD=/usr/sbin/gmetad
GMETAD=/usr/local/sbin/gmetad

. /etc/rc.d/init.d/functions

test -f /etc/sysconfig/gmetad && . /etc/sysconfig/gmetad

export RRDCACHED_ADDRESS

start() {
    [ -x $GMETAD ] || exit 5
    [ -f /etc/ganglia/gmetad.conf ] || exit 6
    echo -n "Starting GANGLIA gmetad: "

    ### Change here ###
    #daemon $GMETAD
    daemon $GMETAD -c /usr/local/etc/gmetad.conf 
    ### If this means that the gmetad of the local system 
    ### will monitor this node, how do I make the daemon 
    ### point to the gmetad.conf file of the meta node, pr2?

    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gmetad
    return $RETVAL
}

Спасибо за прохождение всех деталей шагов настройки. Если я пропустил или пропустил какие-либо другие возможные причины, пожалуйста, не стесняйтесь указывать на них.

0 ответов

Другие вопросы по тегам