Ошибка pyspark при подключении к py4j.java_gateway - приложение зависает - PullRequest
0 голосов
/ 13 июля 2020

Python 3.7.6

pyspark==2.4.4

Работает в кластерном режиме, все экземпляры активны.

Сеанс не запускается с того же мастера, что и машина.

Уже перезапущены все мастера и рабочие процессы, поэтому проблема должна быть в машине API.

Запуск его через flask API, создает один сеанс и поддерживает его постоянно для всех jobs.

Приложение, по-видимому, отлично работает при низких рабочих нагрузках, но при увеличении количества запросов оно застревает в этой ошибке:

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (most recent call last):
  File "/source/environment/lib/python3.7/site-packages/py4j/java_gateway.py", line 1067, in start
    self.socket.connect((self.address, self.port))
ConnectionRefusedError: [Errno 111] Connection refused
[pid: 2853|app: 0|req: 10/16] 172.31.59.3 () {32 vars in 457 bytes} [Mon Jul 13 09:24:16 2020] POST 
ERROR:py4j.java_gateway:An error occurred while trying to connect to the Java server (127.0.0.1:40277)
Traceback (most recent call last):
  File "/source/environment/lib/python3.7/site-packages/py4j/java_gateway.py", line 929, in _get_connection
    connection = self.deque.pop()
IndexError: pop from an empty deque

Приложение просто застряло в этой ошибке.

Перед возникновением основной ошибки появились другие ошибки:

Во время обработки вышеуказанного исключения возникло другое исключение:

Traceback (most recent call last):
  File "/source/environment/lib/python3.7/site-packages/py4j/java_gateway.py", line 1067, in start
    self.socket.connect((self.address, self.port))
ConnectionRefusedError: [Errno 111] Connection refused
/source/environment/lib/python3.7/site-packages/pyspark/context.py:446: RuntimeWarning: Unable to cleanly shutdown Spark JVM process. It is possible that the process has crashed, been killed or may also be in a zombie state.
  RuntimeWarning
ERROR:py4j.java_gateway:An error occurred while trying to connect to the Java server (127.0.0.1:40277)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/source/environment/lib/python3.7/site-packages/pyspark/sql/column.py", line 611, in between
    return (self >= lowerBound) & (self <= upperBound)
  File "/source/environment/lib/python3.7/site-packages/pyspark/sql/column.py", line 115, in _
    njc = getattr(self._jc, name)(jc)
  File "/source/environment/lib/python3.7/site-packages/py4j/java_gateway.py", line 1257, in __call__
    answer, self.gateway_client, self.target_id, self.name)
  File "/source/environment/lib/python3.7/site-packages/pyspark/sql/utils.py", line 63, in deco
    return f(*a, **kw)
  File "/source/environment/lib/python3.7/site-packages/py4j/protocol.py", line 336, in get_return_value
    format(target_id, ".", name))
py4j.protocol.Py4JError: An error occurred while calling o1081.leq

Вероятно, нужно что-то сделать с

RuntimeWarning: Unable to cleanly shutdown Spark JVM process. It is possible that the process has crashed, been killed or may also be in a zombie state.

Не знаю, как с этим справиться.

...