Автоматическое удаление повернутых файлов gc.log - PullRequest
0 голосов
/ 05 июня 2018

у нас есть кластер hadoop версии 2.6.4, в то время как сборщик метрик установлен на одном из наших серверов Linux

root@master02 ambari-metrics-collector]#  rpm -qa | grep metrics-collector
ambari-metrics-collector-2.6.1.0-143.x86_64

в / var / log / ambari-metrics-collector , у нас естьфайл gc.log за июль прошлого года, и мы хотим автоматическое удаление повернутых файлов gc.log

[root@master02 ambari-metrics-collector]# ls -ltr | grep gc.log | grep -v collector| more
-rw-r--r--. 1 ams  hadoop      1430 Jul 13  2017 gc.log-201707131628
-rw-r--r--  1 ams  hadoop 178518767 Aug 28  2017 gc.log-201707160637
-rw-r--r--  1 ams  hadoop 128748829 Sep 17  2017 gc.log-201708280731
-rw-r--r--  1 ams  hadoop     60849 Sep 18  2017 gc.log-201709181421
-rw-r--r--  1 ams  hadoop     82562 Sep 18  2017 gc.log-201709181424
-rw-r--r--  1 ams  hadoop 164381669 Oct 19  2017 gc.log-201709181508
-rw-r--r--  1 ams  hadoop     46149 Oct 19  2017 gc.log-201710191738
-rw-r--r--  1 ams  hadoop  13763796 Oct 23  2017 gc.log-201710200633
-rw-r--r--  1 ams  hadoop   1048289 Oct 23  2017 gc.log-201710231021
-rw-r--r--  1 ams  hadoop   3473874 Oct 24  2017 gc.log-201710231649
-rw-r--r--  1 ams  hadoop 137289030 Nov 15  2017 gc.log-201710241352
-rw-r--r--  1 ams  hadoop   8037548 Nov 16  2017 gc.log-201711151355
-rw-r--r--  1 ams  hadoop  23919164 Nov 19  2017 gc.log-201711161246
-rw-r--r--  1 ams  hadoop 139759594 Dec  6 16:35 gc.log-201711191241
-rw-r--r--  1 ams  hadoop 184118442 Dec 25 16:13 gc.log-201712061635
-rw-r--r--  1 ams  hadoop      1440 Jan  1 04:38 gc.log-201712251613
-rw-r--r--  1 ams  hadoop      1437 Jan 10 00:03 gc.log-201801021532
-rw-r--r--  1 ams  hadoop      1439 Jan 10 01:04 gc.log-201801100004
-rw-r--r--  1 ams  hadoop      3637 Jan 10 01:11 gc.log-201801100105
-rw-r--r--  1 ams  hadoop      1437 Jan 10 01:16 gc.log-201801100113
-rw-r--r--  1 ams  hadoop      3636 Jan 10 01:24 gc.log-201801100118
-rw-r--r--  1 ams  hadoop      1438 Jan 10 01:35 gc.log-201801100126
-rw-r--r--  1 ams  hadoop      1438 Jan 10 01:42 gc.log-201801100137
-rw-r--r--  1 ams  hadoop      1436 Jan 10 02:14 gc.log-201801100144
-rw-r--r--  1 ams  hadoop      8353 Jan 10 02:19 gc.log-201801100216
-rw-r--r--  1 ams  hadoop      1437 Jan 11 09:08 gc.log-201801110730
-rw-r--r--  1 ams  hadoop      1436 Jan 11 09:19 gc.log-201801110909
-rw-r--r--  1 ams  hadoop       766 Jan 11 09:20 gc.log-201801110920
-rw-r--r--  1 ams  hadoop       765 Jan 11 09:26 gc.log-201801110926

из Advanced ams-hbase-env в ambari gui, мы видимследующее:

{% if java_version < 8 %}
export HBASE_MASTER_OPTS=" -XX:PermSize=64m -XX:MaxPermSize={{hbase_master_maxperm_size}} -Xms{{hbase_heapsize}} -Xmx{{hbase_heapsize}} -Xmn{{hbase_master_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly"
export HBASE_REGIONSERVER_OPTS="-XX:MaxPermSize=128m -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}"
{% else %}
export HBASE_MASTER_OPTS=" -Xms{{hbase_heapsize}} -Xmx{{hbase_heapsize}} -Xmn{{hbase_master_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly"
export HBASE_REGIONSERVER_OPTS=" -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}"
{% endif %}

и мы пытаемся установить в HBASE_MASTER_OPTS или HBASE_REGIONSERVER_OPTS
-XX: NumberOfGClogFiles = 10 , чтобы получить только 10 файлов gc.log, но коллектор метрикне удалось запустить, кажется, из-за неправильного синтаксиса

referencence - http://www.oracle.com/technetwork/java/vmoptions-jsp-140102.html

export HBASE_MASTER_OPTS=" -XX:PermSize=64m -XX:MaxPermSize={{hbase_master_maxperm_size}} -Xms{{hbase_heapsize}} -Xmx{{hbase_heapsize}} -Xmn{{hbase_master_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:NumberOfGClogFiles=1"

, пожалуйста, посоветуйте, как выполнить автоматическое удаление повернутых файлов gc.log

1 Ответ

0 голосов
/ 07 июня 2018

Когда мы хотим сделать ротацию журнала GC, тогда в этом случае нам нужно будет определить несколько свойств вместе, чтобы заставить его работать должным образом, как в случае с опцией "-Xloggc".

-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M

необходимоопределение параметра NumberOfGClogFiles приведет к несогласованности параметров JVM, и JVM не будет загружаться следующим образом:

Поэтому я пытаюсь это сделать:

HBASE_MASTER_OPTS=" -XX:PermSize=64m -XX:MaxPermSize={{hbase_master_maxperm_size}} -Xms{{hbase_heapsize}} -Xmx{{hbase_heapsize}} -Xmn{{hbase_master_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 -XX:GCLogFileSize=20M" 
.

ПРИМЕЧАНИЕ. Также в моем случае JVM не загружалась, посколькуопечатка в моем случае "-XX:NumberOfGClogFiles" (здесь я использовал журнал в нижнем регистре), где в качестве правильной опции прописной буквой L в опции, такой как "-XX:NumberOfGCLogFiles"

...