HANA in a pocket, a skull and some dirty hands on Linux
DISCLAIMER: this blog describes unsupported and unlicensed use of the SAP HANA software. I describe my personal try-out of a hardware/software combination. It’s not in any way meant to be used productively or recommended to use the software in the way I describe.
If you loose data, waste life-time, money, your good mood or damage anything while trying to do what I describe: that’s all on you and there’s no guarantee, warranty or liability whatsoever from SAP or myself.
The frustrating reality of ‘big machine computing’
Just like everyone else in the SAP HANA community, I really like having a private instance available for me.
Trying things out, practicing, researching solutions, working with sample data, checking system behaviour etc. are just so much easier than e.g. on a HCP instance or some “playground” instance on the company’s SAP HANA hardware.
Yes, there are always ways to work around this but e.g. for me this means I have to live with average round trip times of ca. 320ms. That’s certainly not too bad and definitively works for most use cases. Unfortunately the server is not “mine”.
So, if I e.g. wanted to reboot the server for any reason, well, folks probably wouldn’t be too happy …
Also, this server really is only available when I can logon into our corporate network in one way or another. And this turns out to be a limitation that is easily hit.
Customer visit with no immediate WIFI logon?
Nope, no way to access the SAP HANA system then.
Cable provider outage in the home office?
Yep, that SAP HANA server is running fine, far away – without any chance to be used by me.
In short a somewhat local SAP HANA installation would be a really nice thing. Especially since I am not permanently working with tons of data, but rather look into the development/admin aspect of things.
Is there a way or what?
A few weeks ago, I was on a customer visit in San Francisco and the development team there came up with a valid and interesting question: how to provision developers with private SAP HANA instances?
With a private instance, each developer could mess around with his system without impacting anyone else. This is pretty much a standard approach for development nowadays, so the request is rather reasonable.
SAP internally there exist multiple approaches to this problem.
From “small” SAP HANA hardware under the developer’s desk (actually quite expensive machines, that we would have called “workstations” back in the day) to spawn-on-demand-systems on virtual servers: there’s a flavor for everyone.
Unfortunately all that sort of screams: high initial investment.
Not great for smaller teams or individuals who would want to get deeper into SAP HANA development/administration without access to “allowed” hardware.
Coincidentally I read Mr. Atwood’s blog post and was intrigued: this Intel Skull Canyon NUC sounded awesome.
Even though I am not a gamer and the last time I assembled a PC myself was somewhat around 2000 this looked really interesting to me.
The system runs on an Intel i7 quad-core processor and allows up to 32GB of RAM.
That’s certainly enough to run and operate a small SAP HANA instance.
Here’s a picture of this nice piece of technology:
Cutting the story short
I ordered that thing online together with two 16 GB DDR4 strips and an old/slow but relatively cheap IBM SSD with 480GB capacity.
All in all the bill for this was around 1400 Australian Dollars – not too bad for a system way more powerful than my MacBook Pro.
Of course: this doesn’t come with any display or input device (well, in fact the online shop I ordered from had a special and chipped in a Logitech K400 plus for free 😉 . You have to have a monitor to use this thing.
A few days later the whole pack arrived and I was really surprised by the weight of it: easily below one kilogram.
I’ll skip the whole un-boxing and assembly part, but will tell you: it’s easy.
The RAM modules just need to be clicked into place and the SSD installation requires to loosen and tighten a single screw. Definitively doable for a hardware n00b like myself.
The more complicated part – again: for me, others might just do this without blinking – was to put an operating system onto the new machine.
I didn’t buy a Windows license, since the whole purpose of this buy was to eventually run SAP HANA on it, so I went for OpenSuse Linux (Leap Distribution). Creating a boot-able USB thumb drive is relatively easy.
The only changes to this tutorial I did was
- using ‘pv‘ to get an idea on the progress of the data transfer (installed via ‘brew‘) – yes, I used a Mac for this.
- using a blocksize of 1M instead of the 4k mentioned in the tutorial.
The whole command set then looked like this:
pv /path/to/downloaded.iso | dd of=/dev/rdisk2 bs=1M
Armed with this USB thumb drive stuck into one of the 4 USB ports, I simply started my “skullbox” and the OpenSuse installation screen appeared.
Again, I’m not the Linux expert on the installation side of things, so I basically when with most of the default settings and clicked through.
One reboot after that, I had OpenSuse running on the new machine.
Meanwhile in the kitchen
As TV chefs would say “… meanwhile I prepared something else …” which translates here into the download of the SAP HANA installation files from SAP Service Marketplace (Yes, you do need to have paid access to this).
The installation files come in a big multi-part RAR archive with Windows Auto-Extraction, which means, that the first part is an .EXE file.Unpacking on Linux however is not a problem; all you need is the UNRAR tool (if all fails ‘zypper install http://download.opensuse.org/repositories/openSUSE:/Leap:/42.1:/NonFree/standard/x86_64/unrar-5.3.3-1.3.x86_64.rpm‘ should fetch this).
The rest of the installation is fairly well documented, and only small additional changes were required to make the installation work on this NOT SUPPORTED operating system:
a) PNG Library couldn’t be loaded, and the hdblcmgui woudln’t start.
Fixed by installing an older version via ‘zypper install –oldpackage libpng12-0′
b) nameserver couldn’t be started due to missing SSL libs.The trace file listed
“Can’t load ‘/playfield/hana_inst/51050838/DATA_UNITS/HDB_SERVER_LINUX_X86_64/instruntime/SSLeay.so’ for module Net::SSLeay: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory at DynaLoader.pm line 193.”
Fixed by ‘zypper install libssl*’ and
ln -s /lib64/libcrypto.so.1.0.0 /usr/libcrypto.so.0.9.8
ln -s /lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.0.9.8
(as seen here)After that the installation went through without further troubles.
The looooong fork
I have enabled the option for remote administration in OpenSuse, which means that the system now can be accessed via VNC.
For my Windows 10 based work laptop I find that MobaXTerm makes it really simple to access the Linux box – it even has a plugin that contains a VNC client.
For the Mac, there is actually a VNC client build in (I’m using El Capitan): just start “Screen Sharing” or put vnc://hostname:port into the Safari address bar and off you go…
After all of this (and some more wrestling with the Linux network setup – I still barely have a clue on that, but it seems to work now…)
I can now access my “HANA skullbox” via:
- WIFI connection at homeoffice
- drect CAT5 cable connection between my work laptop and the NUC
which are exactly the scenarios I wanted to support.
Starting a HANA Studio via X-Server works too:
But that’s neither fast nor pretty.
For working with the system I prefer using the local HANA Studio or the Web UI.
Of course I used ‘memory allocation limit’, but to have some fun, I cranked it up to the total 32 GB of installed RAM; so far no functional problems with this 😉
All of this setup happened after hours over maybe three evenings. Someone with more Linux know-how would probably be done in way less time.
So far I’m quite happy with this setup and I’m eager to try out what things work and where the hard limit of usability for this micro-HANA lies.
OK, that’s it for now.
AGAIN: this is a completely unsupported setup. No support, warranty, maintenance or endorsement is provided by SAP or myself for this.
There you go – now you know!
Thanks for the heads up on this piece of kit. I'll have to give this a try as it's not a budget buster.
Way to go man...!!! Now that's something really out of the box. Shall definitely crush my skull for this HANA Skullbox.
I will also try running this, gives me an excuse to buy some more PC gear!
Better I stay away from this 🙂
Isn't that what SAP have been telling us the cloud is for ? I have SAP Developer Editions (from NW 7.02 on MaxDB to NW7.50 on HANA) running in the Sydney region of AWS, they're accessible for work and play, and they're a cheaper initial investment than $AUD1400.
AWS also beats the problem of the suspicious partner ("What have you been wasting our money on now ?") finding the package at the door before you do. The other issue is that the system looks like a serious gaming or HTPC machine, which means that I would need to buy two at least - one for "work" and one or more for the rest of the family ❗ .
What is more interesting though is potential for multiples of these; currently, IoT sensors are the 'dumb' terminals of the Network age. Transfer of information to the central repository and processing system is limited by latency (distance) and bandwidth (local infrastructure); a round trip for a single packet betweens east coast Australia and the US takes about a second, and that doesn't take into account any processing . Jeff Attwood says
"If you want to experience what console gaming will be like in 10 years,.."
but what could you do now with the local autonomy plus caching of global data that having multiple HANA instances in multiple locations would bring ?
Yep, AWS instances are indeed a valid option for many use cases.
To be honest, I haven't opened a business case for this one and never bothered to look into renting an AWS instance for SAP HANA even though I use services like S3 and Glacier.
The problem of having to buy more than one could be mitigated if you're quick enough with the unboxing and replace the skull cover with the neutral one that comes in the box. 😉 Or you 3D print your own, very serious businessy looking one - there's a template to download on the intel page.
Your point on IoT scenarios is something I agree on,. The current approach seems to be to have more or less intelligent edge devices that can do some computations (well, with the streaming analysis it's fair to say that you can some dangerous stuff, too) - still the main approach is a central computing approach.
With powerful systems like this, it can be feasible to approach a distributed mass computing model with data replication and all that.
Personally I find this very interesting and would love to see clients that dare to dig into something like this.
I am running such a setup since 3 years. And 32 GB RAM was way more expensive then. I even put a NW 7.4 into the HANA database for getting that authentic SAP feeling. After installation I just had to disable the SUSE firewall in order to get full access to the database.
Putting on applications on top of it is the next step for me, too. If I just had the time...
Do run your stack in a XEN vm or native?
I am not deeply familiar with Linux, especially virtualization. So I run it native. Running sapinst to install a simple NetWeaver instance is really easy and didn't take much time. However, 32 GB RAM is pretty small in this case. I have set the HANA GAL to 48 GB RAM to make the HANA database + SAP instance run. As you wrote, that setup is totally unsupported and experimental, so why not overprovisioning RAM.
Yep, you might as well 🙂
for People that are interested to have their own low priced SAP Hana environment. Old used Server are a god way.
I use a old HP DL160 G6 with 96GB RAM , the Hardware cost ~350€.
I install the free license of VMware ESXi 6.0 for virtualization, to run several instances.
The Server has enough RAM and CPU Power to not only run SAP Hana, it is no Problem to run an fresh SAP Hana S/4 1511 OP installation on it for testing.
Googled your DL160 and it looks a bit less, ehh... "non-basement-room"-compatible than the NUC.
But your point is very valid: used or refurbished hardware can save quite a few bucks for systems that you can deal with being not covered by support.
...and HANA Express Edition is born 😀
and it will eat your laptop alive
Hi Gregory Misiorek,
Can you throw some light on your point.
You're right, the Express Edition is aimed at a similar setup. However, my setup has no relation to the express edition and I've done this independent from it.
Thanks for the blog. I followed your setup and I have a working HANA express edition.