-
Notifications
You must be signed in to change notification settings - Fork 118
Append HADOOP_CONF_DIR to SPARK_CLASS in driver/executor Dockerfiles #578
Append HADOOP_CONF_DIR to SPARK_CLASS in driver/executor Dockerfiles #578
Conversation
Thank you for this, as I am developing the integration tests right now to catch these errors. |
rerun unit tests please |
This change would need to be added to all the dockerfiles as this logic is shared amongst the -py and -r versions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. Awaiting a confirmation from either @kimoonkim or @liyinan926 to merge.
LGTM. Thanks for fixing! |
I have been successfully using 0612195 for a while to connect to S3 passing the credentials with I have update to latest commit (so this commit and the big one related to Kerberos HDFS), and the Authentication to S3 does not work anymore. I don't know where this issue comes from but I have rolled-back and now everything's fine again. Could it be that the executor reads the conf from the given HADOOP_CONF_DIR and does not care about the given additional properties? |
That could be the case. Maybe modifying the xml to include that? As it is probably overwriting with the HADOOP_CONF_DIR |
@ifilonenko after hours of debugging suspects in moving zones, I have finally found the issue which is not the one I mentioned (so no worries, all good with this commit). For the record, I was instantiating a HadoopConf object before accessing for the first time the spark read methods. This apparently lead to a hadoop conf available that spark was picking. That hadoop conf however was not feeded with the needed s3 properties, resulting in access denied (I needed that hadoop conf to perform Honky-Tonky work on the bare HDFS files). The strange thing is that with Btw, looking at the last
|
cc @ChenLingPeng . Can you submit your patch which makes it possible for driver/executor to reuse an existing hadoopconf configmap |
Will do this ASAP |
Thx @ChenLingPeng (cc/ @chenchun). From the code and behavior, I understand that the DriverConfigurationStepsOrchestrator will create a new hadoop config map each time a driver is created.
Actually, I am looking a way to provide my own |
@ChenLingPeng @chenchun My bad (not sure what I was doing...). Now I can mount an existing hadoop configmap in the driver. A new confimap is created based on the given one with that code in the
Once the driver is created with the correct hadoop configmap, the executors benefit with the classical |
What changes were proposed in this pull request?
As the title says
How was this patch tested?
manual tests
I'm running a pagerank job which loads datasets from a HA HDFS with the following command.
The driver pod failed with exceptions in log.
It seems the exception is due to the fact that hadoop_conf_dir is missing from SPARK_CLASSPATH. After adding HADOOP_CONF_DIR to SPARK_CLASSPATH in driver/executor image, my job can run successfully.
Not sure why this Dockerfile change is missing compare #540 to #414