2015-07-01 32 views
11

Tôi đang cố gắng thiết lập một cụm độc lập Spark theo tài liệu chính thức.Cụm độc lập Spark - Slave không kết nối với Master

Chủ nhân của tôi đang sử dụng vm chạy ubuntu cục bộ và tôi cũng có một nhân viên đang chạy trong cùng một máy. Nó đang kết nối và tôi có thể thấy trạng thái của nó trong WebUI của chủ.

Dưới đây là hình ảnh WebUI -

enter image description here

Nhưng khi tôi cố gắng để kết nối một nô lệ từ máy khác, tôi không thể làm điều đó.

Đây là thông điệp tường trình tôi nhận được trong công nhân khi tôi bắt đầu từ một máy khác. Tôi đã thử sử dụng start-slaves.sh từ tổng thể sau khi cập nhật conf \ slaves và cũng start-slave.sh spark://spark:7077 từ slave.

[Tên máy chủ chính - tia lửa; Worker hostanme - nhân]

15/07/01 11:54:16 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://[email protected]:7077] has failed, address is now gated for [5000] ms. Reason is: [Association failed with [akka.tcp://[email protected]:7077]]. 
15/07/01 11:54:59 ERROR Worker: All masters are unresponsive! Giving up. 
15/07/01 11:54:59 INFO Utils: Shutdown hook called 

Khi tôi cố gắng telnet từ nô lệ để làm chủ, đây là những gì tôi nhận được -

[email protected]:~# telnet spark 7077 
Trying 10.xx.xx.xx... 
Connected to spark. 
Escape character is '^]'. 
Connection closed by foreign host. 

Telnet dường như làm việc nhưng kết nối được đóng ngay khi nó được thành lập. Điều này có liên quan gì đến vấn đề này không?

Tôi đã thêm địa chỉ IP chính và phụ thuộc vào/etc/hosts trên cả hai máy. Tôi đã làm theo tất cả các giải pháp được cung cấp tại SPARK + Standalone Cluster: Cannot start worker from another machine nhưng chúng chưa hoạt động đối với tôi.

Tôi có cấu hình sau đây đặt trong spark-env.sh trong cả hai máy -

xuất khẩu SPARK_MASTER_IP = spark

xuất khẩu SPARK_WORKER_PORT = 44444

Any help is appreciated rất nhiều.

Trả lời

20

Tôi gặp phải vấn đề chính xác giống như bạn và chỉ ra cách làm cho nó hoạt động.

Vấn đề là bậc thầy tia lửa của bạn được lắng nghe trên hostname, trong ví dụ của bạn spark, gây lao động trên cùng một máy chủ có khả năng đăng ký thành công nhưng không thành công từ máy khác với lệnh start-slave.sh spark://spark:7077.

Giải pháp là để đảm bảo giá trị SPARK_MASTER_IP được quy định với ip trong file conf/spark-env.sh

SPARK_MASTER_IP=<your host ip> 

trên nút chính của bạn, và bắt đầu chủ tia lửa của bạn như bình thường. Bạn có thể mở gui web của mình để đảm bảo rằng trình chiếu tia lửa của bạn xuất hiện dưới dạng spark: // YOUR_HOST_IP: 7077 sau khi bắt đầu. Sau đó, trên máy khác có lệnh start-slave.sh spark://<your host ip>:7077 nên bắt đầu và đăng ký nhân viên để thành công.

Hy vọng nó sẽ giúp bạn

+0

Giải pháp không hiệu quả, nhưng ít nhất là đưa ra một lỗi khác. – taranaki

+0

bạn có thực hiện mật khẩu ít xác thực hơn đối với máy phụ thuộc không? nếu không thể truyền thông master = slave thì không thể – Sads

+0

Cảm ơn. đã thay đổi thành SPARK_MASTER_HOST trên các phiên bản mới nhất – Sri

9

của nó phụ thuộc vào phiên bản spark của bạn, nó sẽ cần conf khác nhau. nếu bạn phiên bản spark 1.6 thêm dòng này vào conf/spark-env.sh để máy khác có thể kết nối để làm chủ

SPARK_MASTER_IP = your_host_ip

và nếu phiên bản spark của bạn là 2.x thêm những dòng này để bạn conf/spark-env.sh

SPARK_MASTER_HOST = your_host_ip

SPARK_LOCAL_IP = your_host_ip

sau khi thêm những dòng này chạy spark:

./sbin/spark-all.sh

và nếu bạn làm đúng, bạn có thể thấy trong <your_host_ip>:8080 rằng url spark thạc sĩ là : spark://<your_host_ip>:7077

BeCarefule your_host_ip, should not được localhost và Nó phải được chính xác Your host ip mà bạn đặt trong conf/spark-env.sh

sau khi tất cả các bạn có thể kết nối máy khác để làm chủ bằng lệnh dưới đây:

spark ./sbin/start-slave.sh: // your_host_ip: 7077

+2

Điều này có tác dụng đối với tôi trên Spark 2.01 –

+0

Điều này cũng có tác dụng đối với tôi trên Spark 2.0.1. Trước khi thay đổi này, URL đã được kích hoạt: // spark-master: 7077 sau khi nó đã được kích hoạt: // IP: 7077. Cảm ơn! –

1

tôi vừa tung ra của tôi cụm tia lửa của riêng với phiên bản 2.10. Cách tôi giải quyết vấn đề của tôi là như sau:

./sbin/start-master.sh -h <your_ip> 
Các vấn đề liên quan