The best way to learn a new technology for an IT person is to install and play with it. Today we'll get our OS prepared for an install of our first Vertica instance. In a later post we'll install a second and create a K-safe cluster (more on that in a future post). We'll use the free Community Edition.
Vertica on Linux
This is what I'm going to use for the remainder of these tutorial blog posts on Vertica. Specifically, Ubuntu.
- Ubuntu or another debian-based Linux. You can install on other platforms but my tutorial is geared toward Ubuntu.
- If using Ubuntu, ensure it is 12.04 LTS. Don't load 14 (or whatever is the "current" LTS when you read this...or determine if Vertica supports newer Ubuntu releases).
- SSH installed (Vertica will configure passwordless logins for you). SSH is how cluster nodes communicate with each other
- Ensure sudo is installed:
- Your data directory must be separate from your catalog directory
- Both directories must have identical paths across ALL nodes. Plan your directory structure.
- I think it is best to therefore use /home/catalog and /home/data. The installer will create these directories with the requisite permissions, but the parent folders (in this case /home) must be created first (which of course /home is).
- As with any RDBMS, plan for data growth. In SQL Server there are algorithms on google that will tell you how much EXTRA disk space you'll need for things like tempdb and logs. Vertica is no different and HP recommends that disk utilization per node be no more than 60% for K-safety=1. This allows for background processes to have lots of needed space. K-safety will be explained in a future blog post.
- must be at least 2048
--getrato view the current readahead
sudo /sbin/blockdev --setra 2048 /dev/sda1(change the device accordingly)
sudo /sbin/blockdev --setra 2048 /dev/mapper/VERTICA1--vg-root
- ensure that succeeds. Now
sudo nano /etc/rc.localand add the EXACT same lines above the exit0 line
Install NTP (network time protocol)
- node clocks must be synchronized for conflict resolution.
sudo apt-get install ntp
sudo /etc/init.d/ntp reloadreboot
sudo ntpq -c rv | grep stratum
- A stratum of 16 means that you have a problem. You might want to wait an hour or so before freaking out at a 16. Sometimes it takes awhile to sync. Not sure why.
- change your paths accordingly
sudo dd if=/dev/zero of=/media/swap.img bs=1034 count=3M
sudo mkswap /media/swap.img
sudo swapon /media/swap.img
sudo nano /etc/fstabadd the following
/media/swap.img swap swap sw 0 0
Other OS Tasks
sudo apt-get install pstack, mcelog, sysstatvarious support and debugging tools
At this point I would do a
sudo shutdown -r now. I know that technically this isn't required but it seems to be the only way I could make some of these settings "stick". Probably just me doing something incorrectly.
Other Installer Notes
- the installer will create a dbadmin Linux user and verticadb group. These names can be changed but then YOU must ensure you set things like the home directories correctly. Therefore /home/dbadmin will be created with necessary chown/chmods for you.
- dbadmin will own the db catalog and data files on disk.
- dbadmin is configured for passwordless SSH communication between nodes.
- The binaries that Vertica installs will be located at /opt/vertica.
- The installer must be run with su or sudo.
We'll cover the actual installation of your first Vertica node in the next blog post. Installing to the first node requires some extra steps that are not needed for subsequent nodes. However, the steps outlined in this blog post must be done by you PRIOR to installing Vertica on ANY node.