Hello friends! Can someone help me with the instal...
# getting-started
c
Hello friends! Can someone help me with the installation? I am using Ubuntu. I've been able to reassure that my docker works as expected. I followed all the steps on https://datahubproject.io/docs/quickstart/ until 4th, which is throwing the error...
The error is:
gladejob@Tank:~$ python3 -m datahub docker quickstart Fetching docker-compose file from GitHub No Datahub Neo4j volume found, starting with elasticsearch as graph service. To use neo4j as a graph backend, run
datahub docker quickstart --quickstart-compose-file ./docker/quickstart/docker-compose.quickstart.yml
from the root of the datahub repo ERROR: .FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpl4qwgodi.yml' [2021-07-12 162909,983] ERROR {datahub.entrypoints:106} - File "/home/gladejob/.local/lib/python3.8/site-packages/datahub/entrypoints.py", line 98, in main 95 def main(**kwargs): 96 # This wrapper prevents click from suppressing errors. 97 try: --> 98 sys.exit(datahub(standalone_mode=False, **kwargs)) 99 except click.exceptions.Abort: .................................................. kwargs = {'prog_name': 'python3 -m datahub'} datahub = <click.core.Group object at 0x7fb9d5003940> click.exceptions.Abort = <class 'click.exceptions.Abort'> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 764, in call 762 def __call__(self, *args, **kwargs): 763 """Alias for meth`main`.""" --> 764 return self.main(*args, **kwargs) .................................................. self = <click.core.Group object at 0x7fb9d5003940> args = () kwargs = {'standalone_mode': False, 'prog_name': 'python3 -m datahub'} self.main = <method 'BaseCommand.main' of <click.core.Group object at 0x7fb9d5003940> core.py:658> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main 658 def main(self, args=None, prog_name=None, complete_var=None, 659 standalone_mode=True, **extra): (...) 713 714 try: 715 try: 716 with self.make_context(prog_name, args, **extra) as ctx: --> 717 rv = self.invoke(ctx) 718 if not standalone_mode: .................................................. self = <click.core.Group object at 0x7fb9d5003940> args = ['docker', 'quickstart', ] prog_name = 'python3 -m datahub' complete_var = None standalone_mode = False extra = {} self.make_context = <method 'BaseCommand.make_context' of <click.core.Group object at 0x7fb9d5003940> core.py:621> ctx = <click.core.Context object at 0x7fb9d720abb0> self.invoke = <method 'MultiCommand.invoke' of <click.core.Group object at 0x7fb9d5003940> core.py:1098> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke 1098 def invoke(self, ctx): (...) 1133 ctx.invoked_subcommand = cmd_name 1134 Command.invoke(self, ctx) 1135 sub_ctx = cmd.make_context(cmd_name, args, parent=ctx) 1136 with sub_ctx: --> 1137 return _process_result(sub_ctx.command.invoke(sub_ctx)) 1138 .................................................. self = <click.core.Group object at 0x7fb9d5003940> ctx = <click.core.Context object at 0x7fb9d720abb0> ctx.invoked_subcommand = 'docker' cmd_name = 'docker' sub_ctx = <click.core.Context object at 0x7fb9d71f4ca0> cmd.make_context = <method 'BaseCommand.make_context' of <click.core.Group object at 0x7fb9d4ff80d0> core.py:621> args = ['quickstart', ] _process_result = <function 'MultiCommand.invoke.<locals>._process_result' core.py:1099> sub_ctx.command.invoke = <method 'MultiCommand.invoke' of <click.core.Group object at 0x7fb9d4ff80d0> core.py:1098> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke 1098 def invoke(self, ctx): (...) 1133 ctx.invoked_subcommand = cmd_name 1134 Command.invoke(self, ctx) 1135 sub_ctx = cmd.make_context(cmd_name, args, parent=ctx) 1136 with sub_ctx: --> 1137 return _process_result(sub_ctx.command.invoke(sub_ctx)) 1138 .................................................. self = <click.core.Group object at 0x7fb9d4ff80d0> ctx = <click.core.Context object at 0x7fb9d71f4ca0> ctx.invoked_subcommand = 'quickstart' cmd_name = 'quickstart' sub_ctx = <click.core.Context object at 0x7fb9d4fe9fd0> cmd.make_context = <method 'BaseCommand.make_context' of <click.core.Command object at 0x7fb9d5003670> core.py:621> args = [] _process_result = <function 'MultiCommand.invoke.<locals>._process_result' core.py:1099> sub_ctx.command.invoke = <method 'Command.invoke' of <click.core.Command object at 0x7fb9d5003670> core.py:950> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke 950 def invoke(self, ctx): (...) 952 in the right way. 953 """ 954 _maybe_show_deprecated_notice(self) 955 if self.callback is not None: --> 956 return ctx.invoke(self.callback, **ctx.params) .................................................. self = <click.core.Command object at 0x7fb9d5003670> ctx = <click.core.Context object at 0x7fb9d4fe9fd0> self.callback = <function 'quickstart' docker.py:109> ctx.invoke = <method 'Context.invoke' of <click.core.Context object at 0x7fb9d4fe9fd0> core.py:518> ctx.params = {'version': 'head', 'build_locally': None, 'quickstart_compose_file': (), 'dump_logs_on_failure': None, 'graph_service_impl': None} .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke 518 def invoke(*args, **kwargs): (...) 551 552 args = args[2:] 553 with augment_usage_errors(self): 554 with ctx: --> 555 return callback(*args, **kwargs) .................................................. args = () kwargs = {'version': 'head', 'build_locally': None, 'quickstart_compose_file': (), 'dump_logs_on_failure': None, 'graph_service_impl': None} self = <click.core.Context object at 0x7fb9d4fe9fd0> ctx = <click.core.Context object at 0x7fb9d4fe9fd0> callback = <function 'quickstart' docker.py:109> .................................................. File "/home/gladejob/.local/lib/python3.8/site-packages/datahub/cli/docker.py", line 195, in quickstart 144 def quickstart( 145 version: str, 146 build_locally: bool, 147 quickstart_compose_file: List[pathlib.Path], 148 dump_logs_on_failure: bool, 149 graph_service_impl: str, 150 ) -> None: (...) 191 "datahub", 192 ] 193 194 # Pull and possibly build the latest containers. --> 195 subprocess.run( 196 [ .................................................. quickstart = <click.core.Command object at 0x7fb9d5003670> version = 'head' build_locally = None quickstart_compose_file = [PosixPath('/tmp/tmpl4qwgodi.yml'), ] List = typing.List pathlib.Path = <class 'pathlib.Path'> dump_logs_on_failure = None graph_service_impl = None subprocess.run = <function 'run' subprocess.py:448> .................................................. File "/usr/lib/python3.8/subprocess.py", line 512, in run 448 def run(*popenargs, 449 input=None, capture_output=False, timeout=None, check=False, **kwargs): (...) 508 # We don't call process.wait() as .exit does that for us. 509 raise 510 retcode = process.poll() 511 if check and retcode: --> 512 raise CalledProcessError(retcode, process.args, 513 output=stdout, stderr=stderr) .................................................. popenargs = (['docker-compose', '-f', '/tmp/tmpl4qwgodi.yml', '-p', 'datahub', 'pull', ], ) input = None capture_output = False timeout = None check = True kwargs = {} retcode = 1 process.poll = <method 'Popen.poll' of <subprocess.Popen object at 0x7fb9d4f9faf0> subprocess.py:1048> CalledProcessError = <class 'subprocess.CalledProcessError'> process.args = ['docker-compose', '-f', '/tmp/tmpl4qwgodi.yml', '-p', 'datahub', 'pull', ] stdout = None stderr = None .................................................. ---- (full traceback above) ---- File "/home/gladejob/.local/lib/python3.8/site-packages/datahub/entrypoints.py", line 98, in main sys.exit(datahub(standalone_mode=False, **kwargs)) File "/usr/lib/python3/dist-packages/click/core.py", line 764, in call return self.main(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/home/gladejob/.local/lib/python3.8/site-packages/datahub/cli/docker.py", line 195, in quickstart subprocess.run( File "/usr/lib/python3.8/subprocess.py", line 512, in run raise CalledProcessError(retcode, process.args, CalledProcessError: Command '['docker-compose', '-f', '/tmp/tmpl4qwgodi.yml', '-p', 'datahub', 'pull']' returned non-zero exit status 1. gladejob@Tank:~$
g
what if you try running
datahub docker quickstart
directly?
c
Won’t work in my case. It only works with python3...
@mammoth-bear-12532
g
@crooked-toddler-8683 I’m looking into this - trying to see if I can reproduce
@crooked-toddler-8683 I’m unable to reproduce this locally - seems like it’s having trouble with something about your /tmp directory, where it saves temporary files Could you try running this from the root of the repo instead?
python3 -m datahub docker quickstart --quickstart-compose-file ./docker/quickstart/docker-compose-without-neo4j.quickstart.yml
c
@gray-shoe-75895 thank you for your response. Question - what is the root directory in this case? In the guide, I didn't see anything about the repo but thought that I certainly need the git repo.
@gray-shoe-75895 should I download the repo first and then run it from there?
g
Yep -
git clone <https://github.com/linkedin/datahub> && cd datahub
should download + move you into the root directory
Ideally the quickstart doesn’t require you to download anything yourself, but having the git repo downloaded will be helpful in this debugging process
c
@gray-shoe-75895 let me try now
@gray-shoe-75895 please check what I get when I run the command you provided from the root folder:
python3 -m datahub docker quickstart --quickstart-compose-file ./docker/quickstart/docker-compose-without-neo4j.quickstart.yml ERROR: Invalid interpolation format for "image" option in service "datahub-frontend-react": "linkedin/datahub-frontend-react:${DATAHUB_VERSION:-latest}" [2021-07-12 224205,277] ERROR {datahub.entrypoints:106} - File "/home/gladejob/.local/lib/python3.8/site-packages/datahub/entrypoints.py", line 98, in main 95 def main(**kwargs): 96 # This wrapper prevents click from suppressing errors. 97 try: --> 98 sys.exit(datahub(standalone_mode=False, **kwargs)) 99 except click.exceptions.Abort: .................................................. kwargs = {'prog_name': 'python3 -m datahub'} datahub = <click.core.Group object at 0x7f1e506349a0> click.exceptions.Abort = <class 'click.exceptions.Abort'> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 764, in call 762 def __call__(self, *args, **kwargs): 763 """Alias for meth`main`.""" --> 764 return self.main(*args, **kwargs) .................................................. self = <click.core.Group object at 0x7f1e506349a0> args = () kwargs = {'standalone_mode': False, 'prog_name': 'python3 -m datahub'} self.main = <method 'BaseCommand.main' of <click.core.Group object at 0x7f1e506349a0> core.py:658> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main 658 def main(self, args=None, prog_name=None, complete_var=None, 659 standalone_mode=True, **extra): (...) 713 714 try: 715 try: 716 with self.make_context(prog_name, args, **extra) as ctx: --> 717 rv = self.invoke(ctx) 718 if not standalone_mode: .................................................. self = <click.core.Group object at 0x7f1e506349a0> args = ['docker', 'quickstart', '--quickstart-compose-file', './docker/quickstart/docker-compose-without-neo4j.quickstart.yml', ] prog_name = 'python3 -m datahub' complete_var = None standalone_mode = False extra = {} self.make_context = <method 'BaseCommand.make_context' of <click.core.Group object at 0x7f1e506349a0> core.py:621> ctx = <click.core.Context object at 0x7f1e5282aeb0> self.invoke = <method 'MultiCommand.invoke' of <click.core.Group object at 0x7f1e506349a0> core.py:1098> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke 1098 def invoke(self, ctx): (...) 1133 ctx.invoked_subcommand = cmd_name 1134 Command.invoke(self, ctx) 1135 sub_ctx = cmd.make_context(cmd_name, args, parent=ctx) 1136 with sub_ctx: --> 1137 return _process_result(sub_ctx.command.invoke(sub_ctx)) 1138 .................................................. self = <click.core.Group object at 0x7f1e506349a0> ctx = <click.core.Context object at 0x7f1e5282aeb0> ctx.invoked_subcommand = 'docker' cmd_name = 'docker' sub_ctx = <click.core.Context object at 0x7f1e528146d0> cmd.make_context = <method 'BaseCommand.make_context' of <click.core.Group object at 0x7f1e50627130> core.py:621> args = ['quickstart', '--quickstart-compose-file', './docker/quickstart/docker-compose-without-neo4j.quickstart.yml', ] _process_result = <function 'MultiCommand.invoke.<locals>._process_result' core.py:1099> sub_ctx.command.invoke = <method 'MultiCommand.invoke' of <click.core.Group object at 0x7f1e50627130> core.py:1098> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke 1098 def invoke(self, ctx): (...) 1133 ctx.invoked_subcommand = cmd_name 1134 Command.invoke(self, ctx) 1135 sub_ctx = cmd.make_context(cmd_name, args, parent=ctx) 1136 with sub_ctx: --> 1137 return _process_result(sub_ctx.command.invoke(sub_ctx)) 1138 .................................................. self = <click.core.Group object at 0x7f1e50627130> ctx = <click.core.Context object at 0x7f1e528146d0> ctx.invoked_subcommand = 'quickstart' cmd_name = 'quickstart' sub_ctx = <click.core.Context object at 0x7f1e50627070> cmd.make_context = <method 'BaseCommand.make_context' of <click.core.Command object at 0x7f1e506346d0> core.py:621> args = [] _process_result = <function 'MultiCommand.invoke.<locals>._process_result' core.py:1099> sub_ctx.command.invoke = <method 'Command.invoke' of <click.core.Command object at 0x7f1e506346d0> core.py:950> .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke 950 def invoke(self, ctx): (...) 952 in the right way. 953 """ 954 _maybe_show_deprecated_notice(self) 955 if self.callback is not None: --> 956 return ctx.invoke(self.callback, **ctx.params) .................................................. self = <click.core.Command object at 0x7f1e506346d0> ctx = <click.core.Context object at 0x7f1e50627070> self.callback = <function 'quickstart' docker.py:109> ctx.invoke = <method 'Context.invoke' of <click.core.Context object at 0x7f1e50627070> core.py:518> ctx.params = {'quickstart_compose_file': ('./docker/quickstart/docker-compose-without-neo4j.quickstart.yml', ), 'version': 'head', 'build_locally': None, 'dump_logs_on_failure': None, 'graph_service_impl': None} .................................................. File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke 518 def invoke(*args, **kwargs): (...) 551 552 args = args[2:] 553 with augment_usage_errors(self): 554 with ctx: --> 555 return callback(*args, **kwargs) .................................................. args = () kwargs = {'quickstart_compose_file': ('./docker/quickstart/docker-compose-without-neo4j.quickstart.yml', ), 'version': 'head', 'build_locally': None, 'dump_logs_on_failure': None, 'graph_service_impl': None} self = <click.core.Context object at 0x7f1e50627070> ctx = <click.core.Context object at 0x7f1e50627070> callback = <function 'quickstart' docker.py:109> .................................................. File "/home/gladejob/.local/lib/python3.8/site-packages/datahub/cli/docker.py", line 195, in quickstart 144 def quickstart( 145 version: str, 146 build_locally: bool, 147 quickstart_compose_file: List[pathlib.Path], 148 dump_logs_on_failure: bool, 149 graph_service_impl: str, 150 ) -> None: (...) 191 "datahub", 192 ] 193 194 # Pull and possibly build the latest containers. --> 195 subprocess.run( 196 [ .................................................. quickstart = <click.core.Command object at 0x7f1e506346d0> version = 'head' build_locally = None quickstart_compose_file = ['./docker/quickstart/docker-compose-without-neo4j.quickstart.yml', ] List = typing.List pathlib.Path = <class 'pathlib.Path'> dump_logs_on_failure = None graph_service_impl = None subprocess.run = <function 'run' subprocess.py:448> .................................................. File "/usr/lib/python3.8/subprocess.py", line 512, in run 448 def run(*popenargs, 449 input=None, capture_output=False, timeout=None, check=False, **kwargs): (...) 508 # We don't call process.wait() as .exit does that for us. 509 raise 510 retcode = process.poll() 511 if check and retcode: --> 512 raise CalledProcessError(retcode, process.args, 513 output=stdout, stderr=stderr) .................................................. popenargs = (['docker-compose', '-f', './docker/quickstart/docker-compose-without-neo4j.quickstart.yml', '-p', 'datahub', 'pull', ], ) input = None capture_output = False timeout = None check = True kwargs = {} retcode = 1 process.poll = <method 'Popen.poll' of <subprocess.Popen object at 0x7f1e505ced30> subprocess.py:1048> CalledProcessError = <class 'subprocess.CalledProcessError'> process.args = ['docker-compose', '-f', './docker/quickstart/docker-compose-without-neo4j.quickstart.yml', '-p', 'datahub', 'pull', ] stdout = None stderr = None .................................................. ---- (full traceback above) ---- File "/home/gladejob/.local/lib/python3.8/site-packages/datahub/entrypoints.py", line 98, in main sys.exit(datahub(standalone_mode=False, **kwargs)) File "/usr/lib/python3/dist-packages/click/core.py", line 764, in call return self.main(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/home/gladejob/.local/lib/python3.8/site-packages/datahub/cli/docker.py", line 195, in quickstart subprocess.run( File "/usr/lib/python3.8/subprocess.py", line 512, in run raise CalledProcessError(retcode, process.args, CalledProcessError: Command '['docker-compose', '-f', './docker/quickstart/docker-compose-without-neo4j.quickstart.yml', '-p', 'datahub', 'pull']' returned non-zero exit status 1.
g
Could you send me the output of
docker-compose --version
, and also try manually running
docker-compose -f ./docker/quickstart/docker-compose-without-neo4j.quickstart.yml -p datahub pull
- current hypothesis is that you’ve got an older version of docker-compose
c
@gray-shoe-75895 doing it now
1
@gray-shoe-75895 docker-compose --version docker-compose version 1.25.5, build unknown
@gray-shoe-75895 docker-compose -f ./docker/quickstart/docker-compose-without-neo4j.quickstart.yml -p datahub pull ERROR: Invalid interpolation format for "image" option in service "datahub-frontend-react": "linkedin/datahub-frontend-react:${DATAHUB_VERSION:-latest}"
@gray-shoe-75895 so you think it's the version...?
g
Yes seems like a version issue
Could you try updating docker-compose?
For reference, I’m on 1.29.1 and it seems to work smoothly
c
@gray-shoe-75895 let me do that
g
Also, I was able to reproduce the bug you ran into with docker-compose 1.25.5, and have this PR to fix it https://github.com/linkedin/datahub/pull/2873
c
@gray-shoe-75895 works perfect with the 1.29 version. Thank you a lot!
datahub is the username, correct?
@gray-shoe-75895 just so you know - datahub is both username and password by default. The official quickstart documentation never mentions that about password - something to add 🙂
g
Ah yes good catch - will update the docs
🙌 1