When I was in college, I installed Debian Linux on my Xbox, where I did most of my computer science homework. I have always had a fascination with embedded systems and making things work when they shouldn’t.
When the Raspberry Pi Model B+ came out, I was sure that the Linux version of TIBCO™ Spotfire Server could run on it. If you are not familiar with the Raspberry Pi, it is a single-board computer the size of a credit card. People have used them in robotics, home automation and even building a supercomputer.
The Raspberry Pi Model B+ has a 700MHz, single-core ARM processor with 512MB of RAM, which is shared with its GPU. Tibco Spotfire Server 7.0 requires these resources at least:
- x64 Intel 2GHz processor
- 2GB RAM,
- Red Hat or SUSE Enterprise Linux
I reused one of my old Raspberry Pi Model B+, which I had been using as a game trail cam. To get as close as possible to the host operating system required for TIBCO Spotfire Server, I used the Pidora distribution. This was a Fedora clone optimized for the Raspberry Pi. There are different ways to place the image onto a microSD card. I used my Apple MacBook Air and copied the image by using an 8GB microSD card.
When the image was copied, I hooked up the Raspberry Pi to my television. I used an HDMI cable and a wireless keyboard with a built-in trackpad. This enabled me to do a wireless and headless configuration.
After completing all the configurations, I unplugged the HDMI cable and the wireless USB keyboard dongle. This enabled me to relocate the Raspberry Pi in the backyard. That’s where it’s currently hooked up to a UPS battery, being charged by a solar panel. Yes… this is solar powered Spotfire Server running on a Raspberry Pi.
When everything was running properly, I logged in to the Raspberry Pi with SSH and completed the installation.
Pidora images can be outdated, so I performed a yum update to bring everything up to date. While the system was running, I then used SFTP to push the TIB_sfire_server_7.0.0_linux.tar package to the Raspberry Pi.
The next four images show the untarring and installation of the Spotfire Server 7.0 package. (Click on image to zoom).
After the installation was complete, I had to provide the server a working bootstrap file. I created one using the Spotfire GUI Configuration Tool. Then, using SFTP, I pushed the file to the Raspberry Pi.
The bootstrap file used an existing Spotfire Server 7.0 installation database, which ran on Microsoft SQL Server 2012. (It was very disappointing to discover that Oracle XE comes compiled only for x64 processors. So to make this work, pointing the bootstrap.xml file to an external Microsoft SQL Server database was the best I could do).
When I moved the bootstrap.xml file to the WEB-INF directory, I restarted the tss-7.0.0 service. When the service restarted, I immediately launched my browser and started hitting http://spotpi (hosts file edit). To my dismay I sat there waiting for the admin console to appear on my browser. But after many tries, the Raspberry Pi served nothing back.
After rounds and rounds of troubleshooting and tracing, I learned two things:
- The tss-7.0.0 service might have appeared to start, but it really takes about 1 hour for the service to initialize fully.
- Other files and applications must be installed before Spotfire Server can run without any issues.
After everything was resolved, and after waiting an hour for the service to initialize, this is what I was waiting to see:
I could connect to the SpotPi server by using the Spotfire Professional client. And, after making the SpotPi available publicly, colleagues could also connect to the SpotPi server by using their clients and browsers.
The SpotPi Server is definitely not meant to replace your current production environment. This was just a fun project that stuffed an enterprise software, that costs thousands of dollars, into a tiny little $35 computer.
Syntellians are passionate data scientists that are constantly seeking new and innovative solutions to employ in the field of Big Data & Analytics.
About Dennis: Dennis has skills and expertise in Spotfire installations & implementations (servers such as Spotfire, Webplayer, ADS/Composite). He has extensive experience with working closely with clients to find and execute optimal solutions. His past experience includes Vice President of Information Security at Bank of America, as well as positions in application development, databases and mobile development.