Do you like understanding a new technology hands-on yet also want to understand the concepts? Concerned it will take too long to get started?
Wait no longer! You can now experiment with Egeria by making use of our new Jupyter notebooks installed via Docker. Within minutes (plus download time) you’ll be happily running REST API calls against a live Egeria environment, and gaining an understand of Egeria’s concepts.
In this first Blog post I’ll take you through getting set up with a lab environment and running your first notebook.
Before we get started on setting up Egeria, you’ll need access to a few things:
- docker – the environment in which to run Egeria
- git – the source code control tool to get files needed
Setting up docker
Docker makes it easy to run pre-created environments in ‘containers’ which are isolated from the host machine such as your laptop. The instructions here were tested with ‘Docker for Mac’, but you can also use ‘Docker for Windows’, or docker installed on linux.
- Install Docker for Mac
- Install Docker for Windows
- Install Docker for linux variants & other platforms
Note: The containers are linux containers built for Intel 64 bit architecture, so they won’t work on ARM, nor will they work in Windows containers …
Once you’ve installed docker, make sure it’s running as covered in the docs above. If using windows or mac, you should see a docker icon (a whale) on the toolbar.
Setting up git
git is the tool we use to manage our code. If you don’t have it installed, install it from the git website (easiest), or else from your linux distribution or homebrew . No special configuration is needed.
Retrieving the Egeria code
You’re now ready to retrieve the Egeria code. Whilst we only need a few files for the docker work this will be useful for further exercises and following along with other blog posts.
Open up a command window (mac, windows or linux), switch to a suitable directory and type:
git clone https://github.com/odpi/egeria
This will pull down the egeria code locally to your machine.
Running the notebooks
We’re now ready to run the notebook. To do this we will use a feature of docker called ‘docker-compose’. This is a simple approach to running multiple containers (think of these as applications or services) together.
For this example we are running
- multiple Egeria servers (which we call a platform)
- Egeria UI
- Apache Kafka & Apache Zookeeper for messaging
- Jupyter notebook
To get started with the docker compose environment (all one line – and replace / with \ for Windows):
cd egeria/open-metadata-resources/open-metadata-deployment/compose/tutorials docker-compose -f egeria-tutorial.yaml up
At this point you’ll notice a lot of activity. Once it has settled down go to a web browser and go to http://localhost:18888 . You should see a Jupyter notebook environment open, and a list of our current labs will be shown in the left hand folder tree
If you don’t see the UI appear, press CTRL-C, and retry the docker compose command. Sometimes a slower network download can cause things not to start properly first time.
Running the notebooks
In the Jupyter UI navigate to ‘administration’ and open up the `read-me-first` notebook. This introduces you to how to setup an Egeria environment in a fictional company ‘Coco Pharmaceuticals’.
The large blue bar is effectively a cursor. It shows where you are in the notebook. Read each paragraph in turn and then hit the ‘play’ button to progress through the notebook. You can also press SHIFT-ENTER to run the current step and move to the next one. As well as text, some paragraphs contain code which are being executed live against a real egeria server in your docker environment.
Once you’ve worked through this notebook try ‘managing-servers’ which goes into more specifics of how to start and stop servers. Other tutorials get into topics such as accessing assets.
Shutting down the environment
docker-compose -f egeria-tutorial.yaml down
Updating the environment
Each time the environment is started the same code will be run, since the container is downloaded the first time it’s used.
In order to refresh the contains and run the latest code (recommended) run:
docker-compose -f egeria-tutorial.yaml pull
If you have any problems running the notebooks:
- contact the team via slack – join here & go to #egeria-discussions . We’d love to hear what you think!
- Review the current github issues
- Raise a new github issue
These containers we used above can be used in other ways too – stay tuned to the blog to find out more.