6

Tôi đang sử dụng EMR để phân tích nhật ký web của nginx. Nhưng tôi cần xử lý nhật ký để nó có thể rơi vào các hàng và cột để dễ dàng truy vấn. Vì vậy tôi đã làm hai bảng - rawlog, processedlog theo cách sau đây:Bản đồ đàn hồi Amazon Giảm phân tích nhật ký s3

create table rawlog(line string) 
row format delimited fields terminated by '\t' lines terminated by '\n' 
LOCATION 's3://istreamanalytics/logs/'; 

CREATE EXTERNAL TABLE processedlog (
day string, 
hour int, 
playSessionId string 
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'; 

và thêm một kịch bản ruby ​​để hive mà có thể thực hiện chuyển đổi, kịch bản như sau:

#!/usr/bin/env ruby 

mon={"Jan" => '01',"Feb" => '02',"Mar" => '03',"Apr" => '04',"May" => '05',"Jun" => '06',"Jul" => '07',"Aug" => '08',"Sep" => '09',"Oct" => '10',"Nov" => '11',"Dec" => '12'} 

STDIN.each_line do |line| 
if line =~ /(\d+)\/(\w+)\/(\d+):(\d+):\d+:\d+ \+\d+] "GET \/api\?playSessionId=(^&*)/ 
d = "#{$3}-#{mon$2}-#{$1}" 
h = $4 
pid = $5 
puts "#{d}\t#{h}\t#{pid}" 
end 
end 

Bây giờ khi tôi chạy công việc bằng cách sử dụng lệnh sau trên hive:

from rawlog insert overwrite table processedlog select transform (line) using 'ruby /mnt/var/lib/hive_081/downloaded_resources/hive_transformer.rb' as (day String, hour INT, playSessionId String); 

tôi nhận được lỗi sau:

Total MapReduce jobs = 2 
Launching Job 1 out of 2 
Number of reduce tasks is set to 0 since there's no reduce operator 
Starting Job = job_201206061145_0015, Tracking URL = http://domU-12-31-39-0F-86-07.compute-1.internal:9100/jobdetails.jsp?jobid=job_201206061145_0015 
Kill Command = /home/hadoop/.versions/0.20.205/libexec/../bin/hadoop job -Dmapred.job.tracker=10.193.133.241:9001 -kill job_201206061145_0015 
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0 
2012-06-08 09:47:49,644 Stage-1 map = 0%, reduce = 0% 
2012-06-08 09:48:50,267 Stage-1 map = 0%, reduce = 0% 
2012-06-08 09:48:52,278 Stage-1 map = 100%, reduce = 100% 
Ended Job = job_201206061145_0015 with errors 
Error during job, obtaining debugging information... 
Examining task ID: task_201206061145_0015_m_000002 (and more) from job job_201206061145_0015 

Exception in thread "Thread-41" java.lang.RuntimeException: Error while reading from task log url 
at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getErrors(TaskLogProcessor.java:130) 
at org.apache.hadoop.hive.ql.exec.JobDebugger.showJobFailDebugInfo(JobDebugger.java:211) 
at org.apache.hadoop.hive.ql.exec.JobDebugger.run(JobDebugger.java:81) 
at java.lang.Thread.run(Thread.java:662) 
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL:  

http://10.254.139.143:9103/tasklogtaskid=attempt_201206061145_0015_m_000000_2&start=-8193 
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436) 
at java.net.URL.openStream(URL.java:1010) 
at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getErrors(TaskLogProcessor.java:120) 
... 3 more 
Counters: 
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask 
MapReduce Jobs Launched: 
Job 0: Map: 1 HDFS Read: 0 HDFS Write: 0 FAIL 
Total MapReduce CPU Time Spent: 0 msec 

Ai đó có thể cho tôi biết có vấn đề gì không?

+0

Có lẽ nó có cái gì đó để làm gì với địa chỉ IP riêng '10 .254.139.143 ', không nên truy cập nhật ký qua IP công cộng? – Amar

+0

Tôi đã đi qua điều này trước khi trong hive và nó thường được giải quyết bằng cách tăng kích thước dụ EMR đến một ví dụ tầng m2. Không có một lời giải thích tốt cho lý do tại sao mà các công trình, nhưng có vẻ như đối với hầu hết các phần. – Justin

Trả lời

0

EMR là một công cụ rất chung chung để xử lý nhật ký.

Tại sao không sử dụng nhiều công nghệ được điều chỉnh hơn.

ví dụ .:

Ít nhất với Sumo bạn có thể làm cho rằng loại xử lý dễ dàng hơn nhiều.

0

tin chi tiết về các lỗi có thể được tìm thấy trong các file bản ghi hoặc xem chi tiết tại đây trong trường hợp của bạn: http://10.254.139.143:9103/tasklogtaskid=attempt_201206061145_0015_m_000000_2&start=-8193

Các vấn đề liên quan