Running HANA Client and HANA Studio on a Macbook

Although in SAP HANA 1.0, Rev 70, the most complete developer tooling is only available for Windows and Linux, it is possible to install HANA in a Virtual Machine on a Mac.

In my case, I decided to go with a Linux virtual machine, one running Ubuntu. I first tried VirtualBox but I had some issues getting the virtual machine’s resolution to support a decent screen resolution. I also wasn’t making a lot of progress getting a lot of my folders to be shared between the Mac and the Ubuntu virtual machine. I then decided to give Parallels a try. Unlike VirtualBox, Parallels is a paid product but they were offering me a 14-day free trial so I quickly decided to give it a try. The installation was a breeze and the integration with my Mac, amazing. I’m definitely keeping it.

With a Ubuntu Linux 13.04 installation ready, I was ready to install HANA Client and HANA Studio.

1. Downloaded the two files I needed, and copied them to a directory of my choice. If you have a revision number different than 70, make sure to update all the commands in this tutorial accordingly.

sap_hana_client_linux64_rev70.tgz
sap_hana_studio_linux64_rev70.tgz

2. Extracted the file contents.

$ tar zxvf sap_hana_client_linux64_rev70.tgz
$ tar zxvf sap_hana_studio_linux64_rev70.tgz

3. First I installed the HANA Client. After changing to the client files directory, I executed the installation script.

$ cd sap_hana_70_client_linux64/
$ sudo ./hdbinst -a client

3a. If it turns out that the execution permissions get lost when you’re moving files around, you’ll need to re-assign the execution permissions before running the installation script.

$ cd sap_hana_70_client_linux64/
$ chmod +x hdbinst
$ chmod +x hdbsetup
$ chmod +x hdbuninst
$ chmod +x instruntime/sdbrun
$ sudo ./hdbinst -a client

4. The HANA Studio requires the Java Runtime. Check your system by running the following command. If Java is not found, you’ll need to install it (see 4a).

$ which java

4a.To install Java in Ubuntu, simply run the following command.

$ sudo apt-get install default-jre

5. With Java ready, you can go ahead and install the HANA Studio.

$ cd sap_hana_70_studio_linux64/
$ sudo ./hdbinst -a studio

5b. Again, if it turns out that the execution permissions get lost while moving files around, you’ll need to re-assign them before running the installation script.

$ cd sap_hana_70_studio_linux64/
$ chmod +x hdbinst
$ chmod +x hdbsetup
$ chmod +x hdbuninst
$ chmod +x instruntime/sdbrun
$ sudo ./hdbinst -a studio

6. If everything goes well, and you go with all the default values, you should end up with everything installed under the /usr/sap/ directory.

7. To run the HANA Studio, you just need to navigate to the installation directory and run the following command. Doing so will launch the HANA Studio graphical application. If the applications launches without any errors, you’re ready to roll and start configuring your project.

$ cd /usr/sap/hdbstudio
$ ./hdbstudio

8. To test if the HANA Client has been installed properly, you can run the following command:

$ cd /usr/sap/hdbclient
$ sudo ./hdbsql

8a. Note that if you get an error like “error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory“, you’ll need to install the missing libaio-dev package by running the following command.

$ sudo apt-get install libaio-dev

8b. If the HANA Client is installed correctly, you’ll see a greetings message after calling the client:

$ sudo ./hdbsql
Welcome to the SAP HANA Database interactive terminal.
 
Type: \h for help with commands 
 \q to quit
hdbsql=>

And that’s it. Getting both the HANA Studio and the HANA Client to run on a Mac is really simple, as long as you’re willing to spend a few extra minutes setting up a Linux virtual machine. In total, it took me probably somewhere between 30 and 45 minutes to get it all done but if you follow my instructions you should get it done a lot quicker as you won’t have to go through the same hiccups I went through 🙂

Cheers,
~ Andre Lessa (@lessaworld)

 

Advertisements