Audit logging helps you keep track of who did what and when in your Hadoop system. It is useful for security and troubleshooting.
Audit logging in Hadoop
hadoop.security.authorization=true hadoop.security.audit.logger=org.apache.hadoop.security.authorize.AuditLogger hadoop.security.audit.loggers=org.apache.hadoop.security.authorize.AuditLogger
<property> <name>hadoop.security.authorization</name> <value>true</value> </property>
<property> <name>hadoop.security.audit.logger</name> <value>org.apache.hadoop.security.authorize.AuditLogger</value> </property>
<property> <name>hadoop.security.audit.loggers</name> <value>org.apache.hadoop.security.authorize.AuditLogger</value> </property>
This is a complete example of the audit logging configuration in an XML format for Hadoop's core-site.xml or hdfs-site.xml file.
<configuration>
<property>
<name>hadoop.security.authorization</name>
<value>true</value>
</property>
<property>
<name>hadoop.security.audit.logger</name>
<value>org.apache.hadoop.security.authorize.AuditLogger</value>
</property>
<property>
<name>hadoop.security.audit.loggers</name>
<value>org.apache.hadoop.security.authorize.AuditLogger</value>
</property>
</configuration>Audit logs are usually stored in the Hadoop log directory, check your log4j or logback configuration for exact location.
Audit logging can generate a lot of data, so monitor disk space and log rotation settings.
Ensure your Hadoop cluster has proper permissions so audit logs cannot be tampered with.
Audit logging tracks user actions in Hadoop for security and troubleshooting.
Enable it by setting hadoop.security.authorization to true and configuring audit logger classes.
Audit logs help you see who accessed or changed data and when.
Practice
Solution
Step 1: Understand audit logging function
Audit logging records user actions like access and changes in Hadoop.Step 2: Identify main goal
This helps with security checks and troubleshooting issues.Final Answer:
To track user actions for security and troubleshooting -> Option DQuick Check:
Audit logging = Track user actions [OK]
- Confusing audit logging with data backup
- Thinking audit logs speed up processing
- Mixing audit logging with file compression
true to enable audit logging in Hadoop?Solution
Step 1: Identify correct property name
The official property to enable audit logging ishadoop.security.audit.enable.Step 2: Confirm value to enable
Setting it totrueactivates audit logging features.Final Answer:
hadoop.security.audit.enable -> Option BQuick Check:
Enable audit logging = hadoop.security.audit.enable true [OK]
- Using incorrect property names
- Setting property to false
- Confusing audit logging with general logging
2024-06-01 10:15:30 INFO User: alice accessed /data/input/file1.txt
What does this log entry indicate?
Solution
Step 1: Read the log message carefully
The log states "User: alice accessed /data/input/file1.txt" which means alice opened or read the file.Step 2: Understand the action word
"accessed" means viewing or reading, not modifying or deleting.Final Answer:
User alice accessed the file /data/input/file1.txt -> Option CQuick Check:
Access means read/view, not modify [OK]
- Assuming access means modification
- Confusing access with deletion
- Ignoring the exact log message wording
hadoop.security.authorization to true, but no audit logs are generated. What is the most likely cause?Solution
Step 1: Check audit logging prerequisites
Besides enabling authorization, audit logger classes must be configured to capture logs.Step 2: Identify missing configuration
If audit logger classes are missing or misconfigured, no logs will appear despite enabling authorization.Final Answer:
Audit logger classes are not configured properly -> Option AQuick Check:
Enable + configure logger classes = audit logs [OK]
- Assuming service not running causes no logs
- Thinking user permissions block audit logs
- Ignoring need to configure logger classes
Solution
Step 1: Enable security authorization
Settinghadoop.security.authorization=trueactivates audit logging capability.Step 2: Configure audit logger classes
These classes capture and record user actions in logs.Final Answer:
Set hadoop.security.authorization=true and configure audit logger classes -> Option AQuick Check:
Enable authorization + logger classes = full audit [OK]
- Disabling authorization but expecting audit logs
- Relying on debug logging for audit
- Confusing replication with audit logging
Ready to prove it?
Pass the test and this pattern moves unknown
