Dec 17, 2013

Install Vertica on CentOS Guide

OS:                          CentOS 6.5 64bit
Vertica:                    7.0 Community Edition

Part 1: OS Configurations Before Install Vertica

1. Disk Readahead

/sbin/blockdev --setra 2048 /dev/sda1
echo '/sbin/blockdev --setra 2048 /dev/sda1' >> /etc/rc.local

Note: I also have sda2 so I also need to execute

/sbin/blockdev --setra 2048 /dev/sda2
echo '/sbin/blockdev --setra 2048 /dev/sda2' >> /etc/rc.local

2. TZ

vi /etc/profile
add the following line
export TZ="Asia/Shanghai"
For all the valid time zone names, please refer to

3. NTP

$ chkconfig --list ntpd
/sbin/service ntpd restart
/sbin/chkconfig ntpd on

4. Disable SELInux

1). Edit /etc/selinux/config and change setting for SELINUX to disabled
(SELINUX=disabled). This disables SELinux at boot time.
2). As root/sudo, type setenforce 0 to disable SELinux immediately.

5. Disable Transparent HugePages

You can check the current setting using the following command, which is displaying the default value of "enabled=[always]".

# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

The preferred method to disable Transparent HugePages is to add "transparent_hugepage=never" to the kernel boot line in the "/etc/grub.conf" file.

vi /etc/grub.conf

and add transparent_hugepage=never

For example: 
title Oracle Linux Server (2.6.39-400.24.1.el6uek.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.39-400.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_ol6112-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk
LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  rd_NO_DM rd_LVM_LV=vg_ol6112/lv_swap rd_LVM_LV=vg_ol6112/lv_root rhgb quiet numa=off
transparent_hugepage=never
        initrd /initramfs-2.6.39-400.24.1.el6uek.x86_64.img

6. Change I/O Scheduler

echo deadline > /sys/block/sda/queue/scheduler
echo 'echo deadline > /sys/block/sda/queue/scheduler' >> /etc/rc.local

7. Single Node Install Vertica

rpm -ivh vertica-7.0.0-0.x86_64.RHEL5.rpm

8. Run install_vertica to complete installation

cd /opt/vertica/sbin
./install_vertica --hosts 127.0.0.1 --dba-user vertica --dba-user-password vertica

This installs a vertica instance in localhost (127.0.0.1), and create a dba names vertica, and the password is vertica

9. Accept Vertica License

cd /opt/vertica/bin
./adminTools   (The T is uppercase)

and accept the license and EULA etc. Here please note that you can use mouse click to check and accept the EULA.

10. Install VMart example database

cd /opt/vertica/sbin
./install_example VMart

I mainly followed the installation guide, which is difficult to understand. :)
http://my.vertica.com/docs/7.0.x/PDF/HP_Vertica_7.0.x_Install_Guide.pdf
I also referenced the post here: 

Aha! All Set.

You can try to connect to database





You can also connect it from a windows environment, for example:
 vsql -h 192.168.136.63 -U vertica

If you find this blog is useful, please kindly click the ads on this page to help. Thank you very much.

How to install Chrome on CentOS 6.4 and 6.5

I have been always using Chrome, and even I am quite new to linux, I still want to use Chrome even it's not supported in CentOS 6.4 and 6.5, and below are the steps.

First of all, thanks to Rihard, he provides a script to install Chrome, which does 99.9% of the work. It's great!
 http://chrome.richardlloyd.org.uk/

But when I use the script, I still met some problems, maybe it's because I am using the company's internet proxy, or because in China, we cannot access some websites due to great firewall. Anyway, I need to do something to finish the 0.1% work left.

Step1: Follow the instructions here: http://chrome.richardlloyd.org.uk/ , download install_chrome.sh (http://chrome.richardlloyd.org.uk/install_chrome.sh)

Step2: It's better that you switch to root account to run the script, or use sudo ./install_chrome.sh. Assume you are running a root account:

chmod u+x install_chrome.sh
./install_chrome.sh

In this step, I met several problems:
a. connection to https://dl.google.com failed...
I solved this by using a no proxy internet. In our company, we always using proxy. But the connection just failed, so I run the command at home where no proxy is used.

b. download is very slow as shown in the screenshot below

The time estimation goes up to several hours and the progress always hung.
I solved this by using Ctrl C to stop the ./install_chrome.sh, and run this command again. Sometimes it hang at another package, but tried several times, the installation succeeded.


Note for CentOS 6.4: In CentOS 6.4, I see the script installed successfully. But when I click the icon, nothing happened. Then I open a terminal:

cd /usr/bin
./google-chrome

It shows the error:
[sai@localhost bin]$ ./google-chrome
./google-chrome: /usr/lib64/libnss3.so: version `NSS_3.14.3' not found (required by ./google-chrome)

I tried to follow the instructions here but didn't work.
http://www.linuxquestions.org/questions/slackware-14/google-chrome-30-error-nss-4-13-5-upgrade-4175482053/

What I did to solve this problem is: 
I searched and find a link here:
And I download and installed it. Now the problem solved. 

[Update on 2014/2/25] Sorry I didn't know the package link will be removed so I didn't save a copy of the package. I tried to find one and put it in the share folder below. Please try it and let me know whether it works for you:
https://drive.google.com/file/d/0B_ZDNNkWG1dYVXpHeDBwaHNBTXc/edit?usp=sharing
Last but not least, 
to uninstall Chrome, please run:
./install_chrome.sh -u

to update Chrome, please run:
sudo yum update google-chrome-stable



If you find this blog is useful, please kindly click the ads on this page to help. Thank you very much.

Dec 13, 2013

How to Visualize Vertica Query Plan

Vertica uses EXPLAIN command to return the query plan execution strategy to standard output.

Syntax
EXPLAIN { SELECT... | INSERT... | UPDATE...}

Returns
A compact representation of the query plan, laid out hierarchically.

Let's have an example here.
1. Prepare a table
This is preparation work, and if you know a table you can select please skip this step.

1. CREATE SCHEMA SAI;
2. CREATE TABLE T1(c INT);
3. INSERT INTO T1 VALUES(3);
4. INSERT INTO T1 VALUES(4);
5. INSERT INTO T1 VALUES(5);
2. In Vertica console, or a third party tool like DBVisualizer, execute
EXPLAIN SELECT * FROM SAI.T1;
You will get the output like below


3. Install GraphViz and launch GVEdit
For how to install GraphViz and launch GVEdit, please check another POST of mine.
http://sai1983.blogspot.com/2013/12/how-to-install-graphviz-and-launch.html

4. Use GVEdit
a. Copy the code in highlighted in step 2, the codes start from digraph G and all contents in {}
b. click the new icon of GVEdit and paste the content

c. click the right most "Run" button

If you think this article is useful, please click the ads on this page to help. Thank you very much.

How to install GraphViz and launch GVEdit

When study Vertica query plan, it's the first time I hear about GraphViz, it turns out to be a project with history. The official site and a brief introduction is as below:
http://www.graphviz.org/

ClusterGraphviz - Graph Visualization Software

GraphvizDrawing graphs since 1988

Graphviz is open source graph visualization software. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics,  software engineering, database and web design, machine learning, and in visual interfaces for other technical domains. 


Question is: if I got an GraphViz codes, how to make it displayed?

Step 1: Please download a package here
There are many versions and I downloaded Windows msi package






Step 2: launch a command window with administrator access






Please run a command

msiexec /a graphviz-x.xx.msi

And install the software as normal.

Step 3: open a command shell, go to GraphViz installation path, for example mine is:
D:\Program Files (x86)\Graphviz2.34\
Go to the bin folder, and run gvedit.exe







And you will see GVEdit launched!































If you think this article is useful, please click the ads on this page to help. Thank you very much.

Dec 11, 2013

SkyDrive How to Share to Everyone

I have been using Microsoft MSN space to manage my photos, and it's called SkyDrive now. SkyDrive now provides more functions and the UI are improved a lot. However, in MSN space it was very easy to share the picture or album you created to others, with SkyDrive it's not easy to find it out. Luckily, I figured out how to make it work:

1. in SkyDrive click "Files"
This will list all your files and folders

2. Check the folder you want to share (it's on the top right corner) and on the right there will display a link button called "Share" on the right
3. It will pop up a modal dialog, and click Get a link and choose "Public" in the option drop down list, 

4. Then click "Crate link", You can see it's now shared with Everyone. All Set!
I am now able to share my pictures and even send the URL to people I know. 

If you think this article is useful, please click the ads on this page to help. Thank you very much.