Skip to content

Commit 6e0e805

Browse files
committed
Add install of vim on namenode creation. Copy custom log4j.properties to namenode container
1 parent af9a43d commit 6e0e805

File tree

2 files changed

+219
-0
lines changed

2 files changed

+219
-0
lines changed

hadoop-spark-cluster/namenode/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ ENV HDFS_CONF_dfs_namenode_name_dir=file:///hadoop/dfs/name
77
RUN mkdir -p /hadoop/dfs/name
88
VOLUME /hadoop/dfs/name
99

10+
RUN apt-get update && apt-get install vim
11+
12+
COPY log4j.properties /etc/hadoop/log4j.properties
13+
1014
ADD run.sh /run.sh
1115
RUN chmod a+x /run.sh
1216

Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
# Define some default values that can be overridden by system properties
18+
hadoop.root.logger=DEBUG,console
19+
hadoop.log.dir=.
20+
hadoop.log.file=hadoop.log
21+
22+
# Define the root logger to the system property "hadoop.root.logger".
23+
log4j.rootLogger=${hadoop.root.logger}, EventCounter
24+
25+
# Logging Threshold
26+
log4j.threshold=ALL
27+
28+
# Null Appender
29+
log4j.appender.NullAppender=org.apache.log4j.varia.NullAppender
30+
31+
#
32+
# Rolling File Appender - cap space usage at 5gb.
33+
#
34+
hadoop.log.maxfilesize=256MB
35+
hadoop.log.maxbackupindex=20
36+
log4j.appender.RFA=org.apache.log4j.RollingFileAppender
37+
log4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}
38+
39+
log4j.appender.RFA.MaxFileSize=${hadoop.log.maxfilesize}
40+
log4j.appender.RFA.MaxBackupIndex=${hadoop.log.maxbackupindex}
41+
42+
log4j.appender.RFA.layout=org.apache.log4j.PatternLayout
43+
44+
# Pattern format: Date LogLevel LoggerName LogMessage
45+
log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
46+
# Debugging Pattern format
47+
#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
48+
49+
50+
#
51+
# Daily Rolling File Appender
52+
#
53+
54+
log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
55+
log4j.appender.DRFA.File=${hadoop.log.dir}/${hadoop.log.file}
56+
57+
# Rollover at midnight
58+
log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
59+
60+
log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
61+
62+
# Pattern format: Date LogLevel LoggerName LogMessage
63+
log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
64+
65+
#
66+
# console
67+
# Add "console" to rootlogger above if you want to use this
68+
#
69+
70+
log4j.appender.console=org.apache.log4j.ConsoleAppender
71+
log4j.appender.console.target=System.err
72+
log4j.appender.console.layout=org.apache.log4j.PatternLayout
73+
log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
74+
75+
#
76+
# TaskLog Appender
77+
#
78+
log4j.appender.TLA=org.apache.hadoop.mapred.TaskLogAppender
79+
80+
log4j.appender.TLA.layout=org.apache.log4j.PatternLayout
81+
log4j.appender.TLA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
82+
83+
#Security appender
84+
#
85+
hadoop.security.logger=INFO,NullAppender
86+
hadoop.security.log.maxfilesize=256MB
87+
hadoop.security.log.maxbackupindex=20
88+
log4j.category.SecurityLogger=${hadoop.security.logger}
89+
hadoop.security.log.file=SecurityAuth-${user.name}.audit
90+
log4j.appender.RFAS=org.apache.log4j.RollingFileAppender
91+
log4j.appender.RFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}
92+
log4j.appender.RFAS.layout=org.apache.log4j.PatternLayout
93+
log4j.appender.RFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
94+
log4j.appender.RFAS.MaxFileSize=${hadoop.security.log.maxfilesize}
95+
log4j.appender.RFAS.MaxBackupIndex=${hadoop.security.log.maxbackupindex}
96+
97+
#
98+
# Daily Rolling Security appender
99+
#
100+
log4j.appender.DRFAS=org.apache.log4j.DailyRollingFileAppender
101+
log4j.appender.DRFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}
102+
log4j.appender.DRFAS.layout=org.apache.log4j.PatternLayout
103+
log4j.appender.DRFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
104+
log4j.appender.DRFAS.DatePattern=.yyyy-MM-dd
105+
106+
#
107+
# hadoop configuration logging
108+
#
109+
110+
#
111+
# hdfs audit logging
112+
#
113+
hdfs.audit.logger=INFO,NullAppender
114+
hdfs.audit.log.maxfilesize=256MB
115+
hdfs.audit.log.maxbackupindex=20
116+
log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger}
117+
log4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false
118+
log4j.appender.RFAAUDIT=org.apache.log4j.RollingFileAppender
119+
log4j.appender.RFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log
120+
log4j.appender.RFAAUDIT.layout=org.apache.log4j.PatternLayout
121+
log4j.appender.RFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
122+
log4j.appender.RFAAUDIT.MaxFileSize=${hdfs.audit.log.maxfilesize}
123+
log4j.appender.RFAAUDIT.MaxBackupIndex=${hdfs.audit.log.maxbackupindex}
124+
125+
#
126+
# NameNode metrics logging.
127+
# The default is to retain two namenode-metrics.log files up to 64MB each.
128+
#
129+
namenode.metrics.logger=INFO,NullAppender
130+
log4j.logger.NameNodeMetricsLog=${namenode.metrics.logger}
131+
log4j.additivity.NameNodeMetricsLog=false
132+
log4j.appender.NNMETRICSRFA=org.apache.log4j.RollingFileAppender
133+
log4j.appender.NNMETRICSRFA.File=${hadoop.log.dir}/namenode-metrics.log
134+
log4j.appender.NNMETRICSRFA.layout=org.apache.log4j.PatternLayout
135+
log4j.appender.NNMETRICSRFA.layout.ConversionPattern=%d{ISO8601} %m%n
136+
log4j.appender.NNMETRICSRFA.MaxBackupIndex=1
137+
log4j.appender.NNMETRICSRFA.MaxFileSize=64MB
138+
139+
#
140+
# DataNode metrics logging.
141+
# The default is to retain two datanode-metrics.log files up to 64MB each.
142+
#
143+
datanode.metrics.logger=INFO,NullAppender
144+
log4j.logger.DataNodeMetricsLog=${datanode.metrics.logger}
145+
log4j.additivity.DataNodeMetricsLog=false
146+
log4j.appender.DNMETRICSRFA=org.apache.log4j.RollingFileAppender
147+
log4j.appender.DNMETRICSRFA.File=${hadoop.log.dir}/datanode-metrics.log
148+
log4j.appender.DNMETRICSRFA.layout=org.apache.log4j.PatternLayout
149+
log4j.appender.DNMETRICSRFA.layout.ConversionPattern=%d{ISO8601} %m%n
150+
log4j.appender.DNMETRICSRFA.MaxBackupIndex=1
151+
log4j.appender.DNMETRICSRFA.MaxFileSize=64MB
152+
153+
# AWS SDK & S3A FileSystem
154+
#log4j.logger.com.amazonaws=ERROR
155+
log4j.logger.com.amazonaws.http.AmazonHttpClient=ERROR
156+
#log4j.logger.org.apache.hadoop.fs.s3a.S3AFileSystem=WARN
157+
158+
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
159+
160+
#
161+
# Set the ResourceManager summary log filename
162+
yarn.server.resourcemanager.appsummary.log.file=rm-appsummary.log
163+
# Set the ResourceManager summary log level and appender
164+
yarn.server.resourcemanager.appsummary.logger=${hadoop.root.logger}
165+
166+
log4j.logger.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager$ApplicationSummary=${yarn.server.resourcemanager.appsummary.logger}
167+
log4j.additivity.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager$ApplicationSummary=false
168+
log4j.appender.RMSUMMARY=org.apache.log4j.RollingFileAppender
169+
log4j.appender.RMSUMMARY.File=${hadoop.log.dir}/${yarn.server.resourcemanager.appsummary.log.file}
170+
log4j.appender.RMSUMMARY.MaxFileSize=256MB
171+
log4j.appender.RMSUMMARY.MaxBackupIndex=20
172+
log4j.appender.RMSUMMARY.layout=org.apache.log4j.PatternLayout
173+
log4j.appender.RMSUMMARY.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
174+
175+
#
176+
# YARN ResourceManager audit logging
177+
#
178+
rm.audit.logger=INFO,NullAppender
179+
rm.audit.log.maxfilesize=256MB
180+
rm.audit.log.maxbackupindex=20
181+
log4j.logger.org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger=${rm.audit.logger}
182+
log4j.additivity.org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger=false
183+
log4j.appender.RMAUDIT=org.apache.log4j.RollingFileAppender
184+
log4j.appender.RMAUDIT.File=${hadoop.log.dir}/rm-audit.log
185+
log4j.appender.RMAUDIT.layout=org.apache.log4j.PatternLayout
186+
log4j.appender.RMAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
187+
log4j.appender.RMAUDIT.MaxFileSize=${rm.audit.log.maxfilesize}
188+
log4j.appender.RMAUDIT.MaxBackupIndex=${rm.audit.log.maxbackupindex}
189+
190+
#
191+
# YARN NodeManager audit logging
192+
#
193+
nm.audit.logger=INFO,NullAppender
194+
nm.audit.log.maxfilesize=256MB
195+
nm.audit.log.maxbackupindex=20
196+
log4j.logger.org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger=${nm.audit.logger}
197+
log4j.additivity.org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger=false
198+
log4j.appender.NMAUDIT=org.apache.log4j.RollingFileAppender
199+
log4j.appender.NMAUDIT.File=${hadoop.log.dir}/nm-audit.log
200+
log4j.appender.NMAUDIT.layout=org.apache.log4j.PatternLayout
201+
log4j.appender.NMAUDIT.layout.ConversionPattern=%d{ISO8601}%p %c{2}: %m%n
202+
log4j.appender.NMAUDIT.MaxFileSize=${nm.audit.log.maxfilesize}
203+
log4j.appender.NMAUDIT.MaxBackupIndex=${nm.audit.log.maxbackupindex}
204+
205+
# Appender for viewing information for errors and warnings
206+
yarn.ewma.cleanupInterval=300
207+
yarn.ewma.messageAgeLimitSeconds=86400
208+
yarn.ewma.maxUniqueMessages=250
209+
log4j.appender.EWMA=org.apache.hadoop.yarn.util.Log4jWarningErrorMetricsAppender
210+
log4j.appender.EWMA.cleanupInterval=${yarn.ewma.cleanupInterval}
211+
log4j.appender.EWMA.messageAgeLimitSeconds=${yarn.ewma.messageAgeLimitSeconds}
212+
log4j.appender.EWMA.maxUniqueMessages=${yarn.ewma.maxUniqueMessages}
213+
214+
# Log levels of third-party libraries
215+
log4j.logger.org.apache.commons.beanutils=WARN

0 commit comments

Comments
 (0)