Вызов openssl :: rand_num (1) в sparklyr возвращает «недопустимую операцию» - PullRequest
0 голосов
/ 01 октября 2019

Для запуска кода R мы подключаемся к кластеру искр с помощью библиотеки sparklyr.

Только в производственной среде, созданной с тем же сценарием и на той же архитектуре, что и test (ядро SUSE Linux 3.0.101-108.87), мы сталкиваемся с исключением при запуске случайного сеанса с использованием openssl. Мы используем CDH 5.12.2, R 3.5.1 и sparklyr 0.8.4. R был установлен с использованием следующего скрипта:

conda create -n OUR_R r==3.5.1 r-essentials
conda install r-essentials
conda install -y -n OUR_R r-sparklyr                                                                            

Отправляя следующий код из oozie

library(sparklyr)
Sys.setenv(SPARK_HOME = "/opt/cloudera/parcels/CDH/lib/spark")
Sys.setenv(SPARK_HOME_VERSION = "1.6.0")
conf <- spark_config(use_default = FALSE)
conf$spark.yarn.queue <- "our_pool"
sc <- spark_connect(master = "yarn-client", config = conf)

, мы получаем этот вывод

Stdoutput  *** caught illegal operation ***
Stdoutput address 0x7f548f084703, cause 'illegal operand'
Stdoutput 
Stdoutput Traceback:
Stdoutput  1: openssl::rand_num(1)
Stdoutput  2: spark_session_random()
Stdoutput  3: start_shell(master = master, spark_home = spark_home, spark_version = version,     app_name = app_name, config = config, jars = spark_config_value(config,         "sparklyr.jars.default", list()), packages = spark_config_value(config,         "sparklyr.defaultPackages"), extensions = extensions,     environment = environment, shell_args = shell_args, service = service,     remote = remote)
Stdoutput  4: shell_connection(master = master, spark_home = spark_home, app_name = app_name,     version = version, hadoop_version = hadoop_version, shell_args = shell_args,     config = config, service = spark_config_value(config, "sparklyr.gateway.service",         FALSE), remote = spark_config_value(config, "sparklyr.gateway.remote",         spark_master_is_yarn_cluster(master, config)), extensions = extensions)
Stdoutput  5: spark_connect(master = "yarn-client", config = conf)
Stdoutput An irrecoverable exception occurred. R is aborting now ...

Если мы передаем явноеПараметр сеанса для sparklyr соединяется корректно, но у нас возникают другие ошибки, вызывающие другие библиотеки ОС (в данном случае LAPACK), на этот раз вызывающие метод gam библиотеки mgcv.

Stdoutput  *** caught illegal operation ***
Stdoutput address 0x7fa8faf5c703, cause 'illegal operand'
Stdoutput 
Stdoutput Traceback:
Stdoutput  1: qr.default(G$X)
Stdoutput  2: qr(G$X)
Stdoutput  3: is.qr(qr)
Stdoutput  4: qr.coef(qr(G$X), etam)
Stdoutput  5: get.null.coef(G, ...)
Stdoutput  6: estimate.gam(G, method, optimizer, control, in.out, scale, gamma,     ...)

Кто-нибудь сталкивался с такой проблемойдо? Мы попытались переустановить R и библиотеки, но без изменений, и такая же установка работает в тестовой среде, которая теоретически идентична.

...