IPython fails to start during DSS start PermissionError: [Errno 13] Permission denied
Hi!
I got Dataiku DSS up and running. The backend works and nginx is up and running. However the IPython fails to start. This results in the inability to use jupyter notebooks inside Dataiku DSS. Checking the ipython.log gives the following traceback:
Traceback (most recent call last): File "/opt/dataiku/dataiku-dss-8.0.3/dku-jupyter/dkulauncher.py", line 3, in <module> main() File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/application.py", line 266, in launch_instance return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs) File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/traitlets/config/application.py", line 663, in launch_instance app.initialize(argv) File "</opt/dataiku/dataiku-dss-8.0.3/python36.packages/decorator.py:decorator-gen-7>", line 2, in initialize File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/traitlets/config/application.py", line 87, in catch_config_error return method(app, *args, **kwargs) File "/opt/dataiku/dataiku-dss-8.0.3/dku-jupyter/packages/notebook/notebookapp.py", line 1513, in initialize super(NotebookApp, self).initialize(argv) File "</opt/dataiku/dataiku-dss-8.0.3/python36.packages/decorator.py:decorator-gen-6>", line 2, in initialize File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/traitlets/config/application.py", line 87, in catch_config_error return method(app, *args, **kwargs) File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/application.py", line 242, in initialize self.migrate_config() File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/application.py", line 168, in migrate_config migrate() File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/migrate.py", line 246, in migrate ensure_dir_exists(env['jupyter_config']) File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/utils/__init__.py", line 13, in ensure_dir_exists os.makedirs(path, mode=mode) File "/opt/dataiku/design/bin/../pyenv/lib/python3.6/os.py", line 220, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: '/home/.jupyter'
This of course implies that there is some permission error where the user running dataiku can't access /home/.jupyter. However, going into /home/ as root user there is no file .jupyter inside.
Dataiku was installed under the /opt/ directory. Any idea what could be the issue? Or how to resolve this?
Best Answer
-
Sergey Dataiker, Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS Core Concepts Posts: 365 Dataiker
The issue is not reading that dir but creating that dir inside /home which is a really strange place for .jupyter dir location.
Does your DSS system user has a valid home directory? The default location for .jupyter directory I would expect inside /home/<DSS_system_user>/ where DSS system user can write.
Answers
-
tgb417 Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Frontrunner 2022 Finalist, Frontrunner 2022 Winner, Dataiku Frontrunner Awards 2021 Participant, Frontrunner 2022 Participant, Neuron 2023 Posts: 1,601 Neuron
It looks like you may be running on Linux and DSS version 8.0.3.
If so you might want to try:
- Looking at this page
- In the implementations that I've run DSS runs under a DSS-specific account, not as root. Does your DSS user have access to the files in question?
- Global installation of tools often has to be done as root with the Sudo command.
- There is a useful shell script that checks for dependencies that might help:
install-deps.sh -check
- Submitting a support ticket
-
SallmanGhanem Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Registered Posts: 5 ✭✭✭✭
Following @sergeyd
's suggestion I realized that the dataiku system user did not have permission to write inside the /home directory. Therefore as root I made a new folder /home/<DSS_system_user>/ where the system user can write. And I made sure to change the home directory of that user user /home/<DSS_system_user>/ so now when running dss run as the dataiku system user to correctly tried to create the .jupyter file. Thank you so much!