2012-06-14 25 views
9

Tôi có vài câu hỏi về oozie 2.3 phần thư viện:Làm thế nào oozie xử lý phụ thuộc?

Hiện nay, tôi đã xác định phần thư viện trong coordinator.properties của chúng tôi:

oozie.use.system.libpath=true 
oozie.libpath=<hdfs_path> 

Dưới đây là những câu hỏi của tôi:

  1. Khi cổ phiếu thư viện được sao chép vào nút dữ liệu khác và bao nhiêu nút dữ liệu sẽ nhận được thư viện chia sẻ?

  2. Thư viện chia sẻ được sao chép sang nút dữ liệu khác dựa trên số lượng wf trong công việc của điều phối viên hay chỉ sao chép một lần cho mỗi công việc của điều phối viên?

Trả lời

8

Thêm mục vào oozie.libpath tài sản một cách hiệu quả có nghĩa là OOZIE sẽ cấu hình các thư viện để được sở hữu cấu hình mapred.cache.files (đây là một tài sản DistributedCache) khi hành động trong công việc của bạn được thực thi.

Hadoop sau đó sẽ chăm sóc sao chép những lọ cho mỗi cụm nút một lần cho mỗi công việc, và những nhiệm vụ này sau đó được cấu hình với các jar trong sở hữu cấu hình classpath mapred.job.classpath.files

Vì vậy, để đáp ứng với câu hỏi thứ hai của bạn, họ sẽ được sao chép lại cho mỗi hành động trong quy trình làm việc, không một lần cho mỗi công việc điều phối viên. Vì vậy, nếu bạn có một công việc wf có 4 hành động mapreduce, các thư viện sẽ được sao chép vào mỗi tasktracker (chỉ những trình theo dõi nhiệm vụ tham gia vào công việc mapreduce) 4 lần trong suốt vòng đời của luồng công việc đó.

+0

Có thể cập nhật nhiều tác vụ hoặc wfs để chia sẻ cùng một bộ nhớ cache được phân phối không? –

+0

Không chắc tôi hiểu những gì bạn đang yêu cầu –

+0

Tôi hiểu điều đó có nghĩa là các phụ thuộc từ libpath hệ thống sẽ được tải từ HDFS luôn và tránh sử dụng bộ nhớ cache được phân phối mỗi khi tiến trình công việc thực hiện, vậy sao? – gphilip

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