apache spark - Message: RSA premaster secret error. ERRORCODE=-4499, SQLSTATE=08001 -


i'm trying connect bigsql on biginsights on cloud cluster ipython notebook on bluemix spark service.

my notebook looks this:

import os cwd = os.getcwd()  open('certificate', 'w') f:     f.write('''-----begin certificate----- xxxxxxxxxxxxxxx -----end certificate-----''')  !rm truststore.jks !keytool -import -trustcacerts -alias biginsights -file certificate -keystore truststore.jks -storepass mypassword -noprompt  host = 'ehaasp-xxxxx-master-2.bi.services.bluemix.net' user = 'biadmin' pwd  = 'xxxxxxx' url  = 'jdbc:db2://{0}:51000/bigsql:user={1};password={2};sslconnection=true;ssltruststorelocation={3}/truststore.jks;password=mypassword;'.format(host, user, pwd, cwd)  df = sqlcontext.read.format('jdbc').options(url=url,          driver='com.ibm.db2.jcc.db2driver', dbtable='gosalesdw.sls_sales_fact').load() 

the exception receive is:

py4jjavaerror: error occurred while calling o111.load. : com.ibm.db2.jcc.am.disconnectnontransientconnectionexception: [jcc][t4][2030][11211][4.19.26] communication error occurred during operations on connection's underlying socket, socket input stream,  or socket output stream.  error location: reply.fill() - socketinputstream.read (-1).  message: rsa premaster secret error. errorcode=-4499, sqlstate=08001     @ com.ibm.db2.jcc.am.kd.a(unknown source)     @ com.ibm.db2.jcc.t4.a.a(unknown source)     @ com.ibm.db2.jcc.t4.a.a(unknown source)     @ com.ibm.db2.jcc.t4.a.a(unknown source)     @ com.ibm.db2.jcc.t4.a.b(unknown source)     @ com.ibm.db2.jcc.t4.a.a(unknown source)     @ com.ibm.db2.jcc.t4.a.f(unknown source)     @ com.ibm.db2.jcc.t4.a.flush_(unknown source)     @ com.ibm.db2.jcc.am.agent.flowoutsideuow(unknown source)     @ com.ibm.db2.jcc.t4.b.b(unknown source)     @ com.ibm.db2.jcc.t4.b.b(unknown source)     @ com.ibm.db2.jcc.t4.b.a(unknown source)     @ com.ibm.db2.jcc.t4.b.a(unknown source)     @ com.ibm.db2.jcc.t4.b.a(unknown source)     @ com.ibm.db2.jcc.t4.b.<init>(unknown source)     @ com.ibm.db2.jcc.db2simpledatasource.getconnection(unknown source)     @ com.ibm.db2.jcc.db2simpledatasource.getconnection(unknown source)     @ com.ibm.db2.jcc.db2driver.connect(unknown source)     @ com.ibm.db2.jcc.db2driver.connect(unknown source)     @ java.sql.drivermanager.getconnection(drivermanager.java:583)     @ java.sql.drivermanager.getconnection(drivermanager.java:199)     @ org.apache.spark.sql.jdbc.jdbcrdd$.resolvetable(jdbcrdd.scala:118)     @ org.apache.spark.sql.jdbc.jdbcrelation.<init>(jdbcrelation.scala:128)     @ org.apache.spark.sql.jdbc.defaultsource.createrelation(jdbcrelation.scala:113)     @ org.apache.spark.sql.sources.resolveddatasource$.apply(ddl.scala:269)     @ org.apache.spark.sql.dataframereader.load(dataframereader.scala:114)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:95)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:56)     @ java.lang.reflect.method.invoke(method.java:620)     @ py4j.reflection.methodinvoker.invoke(methodinvoker.java:231)     @ py4j.reflection.reflectionengine.invoke(reflectionengine.java:379)     @ py4j.gateway.invoke(gateway.java:259)     @ py4j.commands.abstractcommand.invokemethod(abstractcommand.java:133)     @ py4j.commands.callcommand.execute(callcommand.java:79)     @ py4j.gatewayconnection.run(gatewayconnection.java:207)     @ java.lang.thread.run(thread.java:801) caused by: javax.net.ssl.sslkeyexception: rsa premaster secret error     @ com.ibm.jsse2.z.<init>(z.java:85)     @ com.ibm.jsse2.b.a(b.java:20)     @ com.ibm.jsse2.b.a(b.java:275)     @ com.ibm.jsse2.a.t(a.java:225)     @ com.ibm.jsse2.a.a(a.java:452)     @ com.ibm.jsse2.aq.a(aq.java:30)     @ com.ibm.jsse2.aq.h(aq.java:790)     @ com.ibm.jsse2.aq.a(aq.java:371)     @ com.ibm.jsse2.h.write(h.java:20)     @ com.ibm.db2.jcc.t4.eb.b(unknown source)     @ com.ibm.db2.jcc.t4.eb.a(unknown source)     ... 31 more caused by: java.security.invalidkeyexception: illegal key size or default parameters     @ javax.crypto.cipher.a(unknown source)     @ javax.crypto.cipher.a(unknown source)     @ javax.crypto.cipher.a(unknown source)     @ javax.crypto.cipher.init(unknown source)     @ com.ibm.jsse2.z.<init>(z.java:122)     ... 41 more 

i similar error when trying connect using hive 2.0 jdbc.

i see unlimited jurisdiction policy file needs installed on spark service under java directory per instructions link found. under spark service tenant on bluemix user not permission create/browse java directory.(lock down)

n [4]: !echo $java_home /usr/local/src/spark160master/ibm-java-x86_64-80 in [5]: !ls $java_home/security/ ls: cannot access /usr/local/src/spark160master/ibm-java-x86_64-80/security/: no such file or directory in [6]: !touch $java_home/security/policydummy.txt touch: cannot touch '/usr/local/src/spark160master/ibm-java-x86_64-80/security/policydummy.txt': no such file or directory 

this has been noted requirement , reviewed further investigation.

thanks, charles.