2015-03-11 15 views
5

Tôi mới bị bão và cố gắng hiểu quy trình thực hiện các phương pháp khác nhau từ spout đến bolt. Giống như vòi có phương pháp khác nhau nhưDòng chảy thực hiện của chương trình bão

nextTuple()

mở()

declareOutputFields()

kích hoạt()

Tắt()

và bolt đã gặp hods như

chuẩn bị()

thực hiện()

dọn dẹp()

declareOutputFields()

để bất cứ ai có thể cho tôi biết trình tự thực hiện các phương pháp này ?

Trả lời

10

Đầu tiên, khi bạn topo được bắt đầu ...

  1. Tạo vòi và bolts
  2. declareOutputFields
  3. vòi/Bu lông serialized và giao cho người lao động

Thứ hai, trong mỗi công nhân ở đâu đó trên cụm ...

  1. vòi open và bolts prepare (xảy ra một lần)
  2. Trong một vòng lặp ...
    • vòi gọi ack, fail, và nextTuple
    • Bu lông gọi execute

Nếu cấu trúc liên kết của bạn bị vô hiệu hoá ...

  • Phương pháp của bạn deactivate sẽ được gọi. Khi bạn kích hoạt cấu trúc liên kết một lần nữa thì activate sẽ được gọi.

Nếu cấu trúc liên kết của bạn bị hủy ...

  • vòi sứcclose gọi
  • Bu lông sức đã cleanup gọi

Lưu ý:

Không có guarentee rằng đóng sẽ được gọi, bởi vì người giám sát giết các quy trình của công nhân -9 trên cụm. source

+0

Cảm ơn câu trả lời. Tôi có thêm một câu hỏi nếu bạn có thể giúp - khi tôi giết cấu trúc liên kết, phương pháp dọn dẹp không được gọi kể từ khi tôi đang chạy trong chế độ cụm sao, nếu tôi muốn thực thi mã sau khi cấu trúc liên kết bị giết, tôi có thể viết mã đó ở đâu? – u12345

+0

Cho đến nay tôi đã không tìm thấy một cách tốt để thực thi mã khi cấu trúc liên kết đang bị giết. Tôi đã suy nghĩ về việc cố gắng thêm một cơ chế "tắt máy duyên dáng" bằng cách sử dụng zookeeper nhưng cho đến nay vẫn chưa có thời gian để làm việc trên nó. Nếu bạn nhận được một cái gì đó làm việc tôi muốn được quan tâm! –

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