2012-01-23 39 views
6

Tôi đã thử nhiều cách để thiết lập mức ghi nhật ký trong Hadoop thành WARN, nhưng đã thất bại mỗi lần. Thứ nhất, tôi đã cố định cấu hình tệp log4j.properties bằng cách thay thế "INFO" bằng "WARN" ở mọi nơi. Không kết quả.Đặt mức ghi nhật ký trong Hadoop thành WARN

Tiếp theo, tôi đã cố gắng để cung cấp cho các lệnh Hadoop UNIX (theo http://hadoop.apache.org/common/docs/current/commands_manual.html#daemonlog):

$ hadoop daemonlog -setlevel

Có thể rằng chúng ta thực sự đã thay đổi mã nguồn để làm cho nó hoạt động? Việc ghi nhật ký thường khá đơn giản để kiểm soát, trong hầu hết các trường hợp, việc điều chỉnh một chút các thuộc tính ghi nhật ký thường ...

+0

Bằng "ở khắp mọi nơi", ý của bạn là gì? Bạn có nói rằng bằng cách sử dụng 'log4j.logger.org.apache.hadoop = WARN' không làm những gì bạn muốn? Tôi cũng sẽ cảnh giác với việc tăng cấp độ lên 'WARN' trừ khi bạn chắc chắn rằng mọi thứ về cơ bản luôn hoạt động. –

+1

Ví dụ, log4j.properties tôi nộp hiện nay bao gồm các dòng sau: log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit = cảnh báo hadoop.metrics.log.level = WARN log4j.logger. org.apache.hadoop.mapred.JobTracker = WARN log4j.logger.org.apache.hadoop.mapred.TaskTracker = WARN log4j.logger.org.apache.hadoop.fs.FSNamesystem = WARN log4j.logger.org.apache.hadoop.metrics2 = $ {hadoop.metrics.log.level} – chebychev2000

Trả lời

2

Mức nhật ký mặc định có thể được điều chỉnh bằng cách sửa đổi thuộc tính hadoop.root.logger trong tệp cấu hình conf/log4j.properties của bạn. Lưu ý rằng bạn sẽ phải làm điều đó cho mọi nút trong cụm của bạn.

dòng Ví dụ trong conf/log4j.properties:

hadoop.root.logger=WARN,console 
+0

và các nút cũng phải được khởi động lại sau khi thay đổi cấu hình ... – yair

4

Tôi thà sử dụng

HADOOP_ROOT_LOGGER = WARN, DRFA

trong hadoop-env.sh

hoặc bạn có thể sử dụng hadoop.root.logger trong log4j.properties

DRFA sẽ cho phép nhật ký truy cập Trình cài đặt tệp thay vì Console -> System.err/out.

+0

để sử dụng với có thể kích hoạt cấp nhật ký cho phiên đó bằng cách: {code} xuất HADOOP_ROOT_LOGGER = DEBUG, giao diện điều khiển hadoop fs -ls/ {code} – selle

2

Tài liệu về hadoop của Apache hơi gây hiểu nhầm. Nếu bạn đang gỡ lỗi các sự cố, bạn có thể thay đổi cấp độ nhật ký khi đang di chuyển bằng các bước dưới đây. Bạn nên đề cập đến tên gói thay vì tên tệp.

Ví dụ: Đối Namenode: hadoop daemonlog -setlevel LXV-centos-01: 50.070 org.apache.hadoop.hdfs.server.namenode DEBUG

Đối với sợi ResourceManager daemonlog -setlevel LXV-centos-01: 8088 org .apache.hadoop.yarn.server.resourcemanager DEBUG

Tùy chọn trên sẽ biến mất khi bạn khởi động lại quá trình này. Đây là giải pháp tạm thời để gỡ lỗi.

1

Để thay đổi cấp độ đăng nhập tự động, do đó khởi động lại daemon không cần sử dụng tiện ích hadoop daemonlog.

hadoop daemonlog -setlevel hostname:port className logLevel 

Ví dụ để thay đổi cấp nhật ký của nhật ký datanode thành WARN.

hadoop daemonlog -setlevel hostname:50075 org.apache.hadoop.hdfs.server.datanode.DataNode WARN 
Các vấn đề liên quan