Archive for the ‘Linux’ Tag

Getting started with HBase

There are quite a few HBase tutorials out there, but the reason I wanted to add another one was for two specific reasons:
1. To document the installation steps (HBase stand-alone mode) for my ready reference in future
2. To highlight the installation issues I faced and how I got around them so that anyone else facing the same can benefit.

Installation Steps

Download and install the latest version of Ubuntu from http://www.ubuntu.com/download

In my case I downloaded and installed Ubuntu 12.04.1 64-bit i.e. ubuntu-12.04.1-desktop-amd64.iso

Download and install Java SDK from http://www.oracle.com/technetwork/java/javase/downloads/index.html

Since Cloudera recommends JDK version 1.6.0_31 (https://ccp.cloudera.com/display/CDH4DOC/Java+Development+Kit+Installation)
I downloaded the same and installed it as follows:

root@ubuntu:~# mkdir /opt/java
root@ubuntu:~# cd /opt/java/
root@ubuntu:/opt/java# chmod +x jdk-6u31-linux-x64.bin 
root@ubuntu:/opt/java# ./jdk-6u31-linux-x64.bin 
... ... ... ...
... ... ... ...
root@ubuntu:/opt/java#
root@ubuntu:/opt/java# ls -lth jdk1.6.0_31/
total 19M
-r--r--r--  1 root root 4.7K Oct  6 14:32 register_zh_CN.html
-r--r--r--  1 root root 5.1K Oct  6 14:32 register.html
-r--r--r--  1 root root 6.5K Oct  6 14:32 register_ja.html
drwxr-xr-x  7 root root 4.0K Oct  6 14:32 jre
drwxr-xr-x  3 root root 4.0K Oct  6 14:32 lib
drwxr-xr-x  7 root root 4.0K Jan 20  2012 db
drwxr-xr-x  3 root root 4.0K Jan 20  2012 include
drwxr-xr-x  9 root root 4.0K Jan 20  2012 sample
drwxr-xr-x 10 root root 4.0K Jan 20  2012 demo
drwxr-xr-x  4 root root 4.0K Jan 20  2012 man
drwxr-xr-x  2 root root 4.0K Jan 20  2012 bin
-r--r--r--  1 root root 3.3K Jan 20  2012 COPYRIGHT
-r--r--r--  1 root root   40 Jan 20  2012 LICENSE
-r--r--r--  1 root root  115 Jan 20  2012 README.html
-r--r--r--  1 root root 165K Jan 20  2012 THIRDPARTYLICENSEREADME.txt
-rw-r--r--  1 root root  19M Jan 20  2012 src.zip
root@ubuntu:/opt/java# 

Set the JAVA_HOME environment variable

root@ubuntu:~# echo $JAVA_HOME
root@ubuntu:~#
root@ubuntu:~# vi .bashrc 

Add the following lines, save and exit:

export JAVA_HOME=/opt/java/jdk1.6.0_31
export PATH=$JAVA_HOME/bin:$PATH

Check

root@ubuntu:~# source .bashrc 
root@ubuntu:~# echo $JAVA_HOME
/opt/java/jdk1.6.0_31

root@ubuntu:~#
root@ubuntu:~# java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)
root@ubuntu:~# 

Configure the CDH repositories

root@ubuntu:~# mkdir /opt/hbase
root@ubuntu:~# cd /opt/hbase/

Download http://archive.cloudera.com/cdh4/one-clickinstall/precise/amd64/cdh4-repository_1.0_all.deb into /opt/hbase

root@ubuntu:/opt/hbase# ls -lth
total 4.0K
-rw-r--r-- 1 root root 3.3K Oct  6 14:38 cdh4-repository_1.0_all.deb
root@ubuntu:/opt/hbase# 
root@ubuntu:/opt/hbase# sudo dpkg -i cdh4-repository_1.0_all.deb 
Selecting previously unselected package cdh4-repository.
(Reading database ... 140999 files and directories currently installed.)
Unpacking cdh4-repository (from cdh4-repository_1.0_all.deb) ...
Setting up cdh4-repository (1.0) ...
gpg: keyring `/etc/apt/secring.gpg' created
gpg: keyring `/etc/apt/trusted.gpg.d/cloudera-cdh4.gpg' created
gpg: key 02A818DD: public key "Cloudera Apt Repository" imported
gpg: Total number processed: 1
gpg:               imported: 1
root@ubuntu:/opt/hbase# 

Install HBase

root@ubuntu:/opt/hbase# sudo apt-get update
Ign http://archive.cloudera.com precise-cdh4 InRelease                                                          
Ign http://security.ubuntu.com precise-security InRelease                                                       
Ign http://extras.ubuntu.com precise InRelease                                                                  
Get:1 http://archive.cloudera.com precise-cdh4 Release.gpg [198 B]                                  
Ign http://us.archive.ubuntu.com precise InRelease                                               
Ign http://us.archive.ubuntu.com precise-updates InRelease           
Ign http://us.archive.ubuntu.com precise-backports InRelease         
Hit http://extras.ubuntu.com precise Release.gpg                     
Hit http://security.ubuntu.com precise-security Release.gpg          
Get:2 http://archive.cloudera.com precise-cdh4 Release [1,682 B]     
Hit http://us.archive.ubuntu.com precise Release.gpg                                                   
Hit http://extras.ubuntu.com precise Release                                                
Hit http://security.ubuntu.com precise-security Release                                      
Get:3 http://archive.cloudera.com precise-cdh4/contrib Sources [6,382 B]                     
Hit http://us.archive.ubuntu.com precise-updates Release.gpg                                          
Hit http://us.archive.ubuntu.com precise-backports Release.gpg                              
Hit http://extras.ubuntu.com precise/main Sources                                           
Get:4 http://archive.cloudera.com precise-cdh4/contrib amd64 Packages [16.8 kB]             
Hit http://security.ubuntu.com precise-security/main Sources                                          
Hit http://us.archive.ubuntu.com precise Release                                                      
Ign http://archive.cloudera.com precise-cdh4/contrib TranslationIndex                                           
Hit http://extras.ubuntu.com precise/main amd64 Packages                                    
Hit http://extras.ubuntu.com precise/main i386 Packages                                     
Hit http://us.archive.ubuntu.com precise-updates Release                                                        
Ign http://extras.ubuntu.com precise/main TranslationIndex                                                      
Hit http://us.archive.ubuntu.com precise-backports Release                                                      
Ign http://archive.cloudera.com precise-cdh4/contrib Translation-en_US                                          
Ign http://archive.cloudera.com precise-cdh4/contrib Translation-en                         
Ign http://extras.ubuntu.com precise/main Translation-en_US                                                     
Ign http://extras.ubuntu.com precise/main Translation-en                                                        
Hit http://us.archive.ubuntu.com precise/main Sources                                                           
Hit http://us.archive.ubuntu.com precise/restricted Sources                                                     
Hit http://us.archive.ubuntu.com precise/universe Sources                                                       
Hit http://us.archive.ubuntu.com precise/multiverse Sources                                                     
Hit http://us.archive.ubuntu.com precise/main amd64 Packages                                                    
Hit http://security.ubuntu.com precise-security/restricted Sources                                              
Hit http://security.ubuntu.com precise-security/universe Sources                                                
Hit http://us.archive.ubuntu.com precise/restricted amd64 Packages                                              
Hit http://security.ubuntu.com precise-security/multiverse Sources                                              
Hit http://security.ubuntu.com precise-security/main amd64 Packages                                             
Hit http://security.ubuntu.com precise-security/restricted amd64 Packages                                       
Hit http://security.ubuntu.com precise-security/universe amd64 Packages                                         
Hit http://us.archive.ubuntu.com precise/universe amd64 Packages                                                
Hit http://security.ubuntu.com precise-security/multiverse amd64 Packages                                       
Hit http://security.ubuntu.com precise-security/main i386 Packages                                              
Hit http://security.ubuntu.com precise-security/restricted i386 Packages                                        
Hit http://us.archive.ubuntu.com precise/multiverse amd64 Packages                                              
Hit http://security.ubuntu.com precise-security/universe i386 Packages                                          
Hit http://security.ubuntu.com precise-security/multiverse i386 Packages                                        
Hit http://security.ubuntu.com precise-security/main TranslationIndex                                           
Hit http://security.ubuntu.com precise-security/multiverse TranslationIndex                                     
Hit http://security.ubuntu.com precise-security/restricted TranslationIndex                                     
Hit http://security.ubuntu.com precise-security/universe TranslationIndex                                       
Hit http://us.archive.ubuntu.com precise/main i386 Packages                                                     
Hit http://security.ubuntu.com precise-security/main Translation-en                                             
Hit http://security.ubuntu.com precise-security/multiverse Translation-en                                       
Hit http://security.ubuntu.com precise-security/restricted Translation-en                                       
Hit http://us.archive.ubuntu.com precise/restricted i386 Packages                                               
Hit http://security.ubuntu.com precise-security/universe Translation-en                                         
Hit http://us.archive.ubuntu.com precise/universe i386 Packages                                                 
Hit http://us.archive.ubuntu.com precise/multiverse i386 Packages
Hit http://us.archive.ubuntu.com precise/main TranslationIndex
Hit http://us.archive.ubuntu.com precise/multiverse TranslationIndex
Hit http://us.archive.ubuntu.com precise/restricted TranslationIndex
Hit http://us.archive.ubuntu.com precise/universe TranslationIndex
Hit http://us.archive.ubuntu.com precise-updates/main Sources
Hit http://us.archive.ubuntu.com precise-updates/restricted Sources
Hit http://us.archive.ubuntu.com precise-updates/universe Sources
Hit http://us.archive.ubuntu.com precise-updates/multiverse Sources
Hit http://us.archive.ubuntu.com precise-updates/main amd64 Packages
Hit http://us.archive.ubuntu.com precise-updates/restricted amd64 Packages
Hit http://us.archive.ubuntu.com precise-updates/universe amd64 Packages
Hit http://us.archive.ubuntu.com precise-updates/multiverse amd64 Packages
Hit http://us.archive.ubuntu.com precise-updates/main i386 Packages
Hit http://us.archive.ubuntu.com precise-updates/restricted i386 Packages
Hit http://us.archive.ubuntu.com precise-updates/universe i386 Packages
Hit http://us.archive.ubuntu.com precise-updates/multiverse i386 Packages
Hit http://us.archive.ubuntu.com precise-updates/main TranslationIndex
Hit http://us.archive.ubuntu.com precise-updates/multiverse TranslationIndex
Hit http://us.archive.ubuntu.com precise-updates/restricted TranslationIndex
Hit http://us.archive.ubuntu.com precise-updates/universe TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports/main Sources
Hit http://us.archive.ubuntu.com precise-backports/restricted Sources
Hit http://us.archive.ubuntu.com precise-backports/universe Sources
Hit http://us.archive.ubuntu.com precise-backports/multiverse Sources
Hit http://us.archive.ubuntu.com precise-backports/main amd64 Packages
Hit http://us.archive.ubuntu.com precise-backports/restricted amd64 Packages
Hit http://us.archive.ubuntu.com precise-backports/universe amd64 Packages
Hit http://us.archive.ubuntu.com precise-backports/multiverse amd64 Packages
Hit http://us.archive.ubuntu.com precise-backports/main i386 Packages
Hit http://us.archive.ubuntu.com precise-backports/restricted i386 Packages
Hit http://us.archive.ubuntu.com precise-backports/universe i386 Packages
Hit http://us.archive.ubuntu.com precise-backports/multiverse i386 Packages
Hit http://us.archive.ubuntu.com precise-backports/main TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports/multiverse TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports/restricted TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports/universe TranslationIndex
Hit http://us.archive.ubuntu.com precise/main Translation-en
Hit http://us.archive.ubuntu.com precise/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise/restricted Translation-en
Hit http://us.archive.ubuntu.com precise/universe Translation-en
Hit http://us.archive.ubuntu.com precise-updates/main Translation-en
Hit http://us.archive.ubuntu.com precise-updates/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise-updates/restricted Translation-en
Hit http://us.archive.ubuntu.com precise-updates/universe Translation-en
Hit http://us.archive.ubuntu.com precise-backports/main Translation-en
Hit http://us.archive.ubuntu.com precise-backports/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise-backports/restricted Translation-en
Hit http://us.archive.ubuntu.com precise-backports/universe Translation-en
Fetched 25.1 kB in 30s (827 B/s)
Reading package lists... Done
root@ubuntu:/opt/hbase# 
root@ubuntu:/opt/hbase# sudo apt-get install hbase hbase-master
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  bigtop-jsvc bigtop-utils hadoop hadoop-hdfs libopts25 ntp zookeeper
Suggested packages:
  ntp-doc
The following NEW packages will be installed:
  bigtop-jsvc bigtop-utils hadoop hadoop-hdfs hbase hbase-master libopts25 ntp zookeeper
0 upgraded, 9 newly installed, 0 to remove and 119 not upgraded.
Need to get 70.1 MB of archives.
After this operation, 82.3 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libopts25 amd64 1:5.12-0.1ubuntu1 [59.9 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main ntp amd64 1:4.2.6.p3+dfsg-1ubuntu3.1 [612 kB]
Get:3 http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/ precise-cdh4/contrib bigtop-jsvc amd64 0.4+352-1.cdh4.1.0.p0.29~precise-cdh4.1.0 [53.2 kB]
Get:4 http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/ precise-cdh4/contrib bigtop-utils all 0.4+352-1.cdh4.1.0.p0.28~precise-cdh4.1.0 [2,004 B]
Get:5 http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/ precise-cdh4/contrib zookeeper all 3.4.3+25-1.cdh4.1.0.p0.28~precise-cdh4.1.0 [4,087 kB]
Get:6 http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/ precise-cdh4/contrib hadoop all 2.0.0+541-1.cdh4.1.0.p0.27~precise-cdh4.1.0 [16.6 MB]
Get:7 http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/ precise-cdh4/contrib hadoop-hdfs all 2.0.0+541-1.cdh4.1.0.p0.27~precise-cdh4.1.0 [12.7 MB]
Get:8 http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/ precise-cdh4/contrib hbase all 0.92.1+154-1.cdh4.1.0.p0.23~precise-cdh4.1.0 [35.9 MB]
Get:9 http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/ precise-cdh4/contrib hbase-master all 0.92.1+154-1.cdh4.1.0.p0.23~precise-cdh4.1.0 [19.2 kB]
Fetched 70.1 MB in 8min 41s (134 kB/s)                                                                          
Selecting previously unselected package libopts25.
(Reading database ... 141003 files and directories currently installed.)
Unpacking libopts25 (from .../libopts25_1%3a5.12-0.1ubuntu1_amd64.deb) ...
Selecting previously unselected package ntp.
Unpacking ntp (from .../ntp_1%3a4.2.6.p3+dfsg-1ubuntu3.1_amd64.deb) ...
Selecting previously unselected package bigtop-jsvc.
Unpacking bigtop-jsvc (from .../bigtop-jsvc_0.4+352-1.cdh4.1.0.p0.29~precise-cdh4.1.0_amd64.deb) ...
Selecting previously unselected package bigtop-utils.
Unpacking bigtop-utils (from .../bigtop-utils_0.4+352-1.cdh4.1.0.p0.28~precise-cdh4.1.0_all.deb) ...
Selecting previously unselected package zookeeper.
Unpacking zookeeper (from .../zookeeper_3.4.3+25-1.cdh4.1.0.p0.28~precise-cdh4.1.0_all.deb) ...
Selecting previously unselected package hadoop.
Unpacking hadoop (from .../hadoop_2.0.0+541-1.cdh4.1.0.p0.27~precise-cdh4.1.0_all.deb) ...
Selecting previously unselected package hadoop-hdfs.
Unpacking hadoop-hdfs (from .../hadoop-hdfs_2.0.0+541-1.cdh4.1.0.p0.27~precise-cdh4.1.0_all.deb) ...
Selecting previously unselected package hbase.
Unpacking hbase (from .../hbase_0.92.1+154-1.cdh4.1.0.p0.23~precise-cdh4.1.0_all.deb) ...
Selecting previously unselected package hbase-master.
Unpacking hbase-master (from .../hbase-master_0.92.1+154-1.cdh4.1.0.p0.23~precise-cdh4.1.0_all.deb) ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Setting up libopts25 (1:5.12-0.1ubuntu1) ...
Setting up ntp (1:4.2.6.p3+dfsg-1ubuntu3.1) ...
 * Starting NTP server ntpd                                                                               [ OK ] 
Setting up bigtop-jsvc (0.4+352-1.cdh4.1.0.p0.29~precise-cdh4.1.0) ...
Setting up bigtop-utils (0.4+352-1.cdh4.1.0.p0.28~precise-cdh4.1.0) ...
Setting up zookeeper (3.4.3+25-1.cdh4.1.0.p0.28~precise-cdh4.1.0) ...
update-alternatives: using /etc/zookeeper/conf.dist to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode.
Setting up hadoop (2.0.0+541-1.cdh4.1.0.p0.27~precise-cdh4.1.0) ...
update-alternatives: using /etc/hadoop/conf.empty to provide /etc/hadoop/conf (hadoop-conf) in auto mode.
Setting up hadoop-hdfs (2.0.0+541-1.cdh4.1.0.p0.27~precise-cdh4.1.0) ...
Setting up hbase (0.92.1+154-1.cdh4.1.0.p0.23~precise-cdh4.1.0) ...
update-alternatives: using /etc/hbase/conf.dist to provide /etc/hbase/conf (hbase-conf) in auto mode.
Setting up hbase-master (0.92.1+154-1.cdh4.1.0.p0.23~precise-cdh4.1.0) ...
Starting Hadoop HBase master daemon: +======================================================================+
|      Error: JAVA_HOME is not set and Java could not be found         |
+----------------------------------------------------------------------+
| Please download the latest Sun JDK from the Sun Java web site        |
|       > http://java.sun.com/javase/downloads/ <                      |
|                                                                      |
| HBase requires Java 1.6 or later.                                    |
| NOTE: This script will find Sun Java whether you install using the   |
|       binary or the RPM based installer.                             |
+======================================================================+
invoke-rc.d: initscript hbase-master, action &quot;start&quot; failed.
dpkg: error processing hbase-master (--configure):
 subprocess installed post-installation script returned error exit status 1
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 hbase-master
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ubuntu:/opt/hbase# 

I got the above error the first time so I checked if JAVA_HOME is set properly.

root@ubuntu:/opt/hbase# echo $JAVA_HOME
/opt/java/jdk1.6.0_31

Since it seems ok, I decided to directly set JAVA_HOME in the hbase-master script

root@ubuntu:/opt/hbase# vi /etc/init.d/hbase-master

# Add this
export JAVA_HOME=/opt/java/jdk1.6.0_31

Lets try installing again

root@ubuntu:/opt/hbase# sudo apt-get install hbase hbase-master
Reading package lists... Done
Building dependency tree       
Reading state information... Done
hbase is already the newest version.
hbase-master is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 119 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Setting up hbase-master (0.92.1+154-1.cdh4.1.0.p0.23~precise-cdh4.1.0) ...
Starting Hadoop HBase master daemon: starting master, logging to /var/log/hbase/hbase-hbase-master-ubuntu.out
hbase-master.
root@ubuntu:/opt/hbase# 

This time everything went well.
View the list of HBase configuration files.

root@ubuntu:/opt/hbase# ls -lth /etc/hbase/conf/
total 28K
-rw-r--r-- 1 root root 1.1K Oct 30 12:06 hbase-site.xml
-rw-r--r-- 1 root root 2.3K Sep 29 11:54 hadoop-metrics.properties
-rw-r--r-- 1 root root 4.2K Sep 29 11:54 hbase-env.sh
-rw-r--r-- 1 root root 2.2K Sep 29 11:54 hbase-policy.xml
-rw-r--r-- 1 root root 2.5K Sep 29 11:54 log4j.properties
-rw-r--r-- 1 root root   10 Sep 29 11:54 regionservers
root@ubuntu:/opt/hbase# cat /etc/hbase/conf/regionservers
localhost
root@ubuntu:/opt/hbase#

Lets invoke the HBase shell and test.

root@ubuntu:/opt/hbase# hbase shell
12/10/06 15:07:20 WARN conf.Configuration: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 0.92.1-cdh4.1.0, rUnknown, Sat Sep 29 11:55:59 PDT 2012

hbase(main):001:0> status
1 servers, 0 dead, 3.0000 average load

hbase(main):001:0> list
TABLE                                                                                                            
0 row(s) in 0.6370 seconds

hbase(main):002:0> 

hbase(main):002:0> create 'table1','cf1'


^Croot@ubuntu:/opt/hbase# 
root@ubuntu:/opt/hbase# 

Here I encountered the second issue. For some reason the HBase shell would hang.
After googling around for quite some time I found a fix.

Update the /etc/hosts file and ensure that there is no 127.0.1.1 that points to localhost and ubuntu
and comment out the ipv6 lines

root@ubuntu:/opt/hbase# vi /etc/hosts

192.168.38.137  hbase2

127.0.0.1       localhost ubuntu

# The following lines are desirable for IPv6 capable hosts
#::1     ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters

Also disable ipv6 as follows:

root@ubuntu:~# vi /etc/sysctl.conf 

and add the following lines to the end of it:

# Abhi: Disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Now restart the system

root@ubuntu:/opt/hbase# /etc/init.d/hbase-master restart
Restarting Hadoop HBase master daemon: stopping master...
Starting Hadoop HBase master daemon: starting master, logging to /var/log/hbase/hbase-hbase-master-ubuntu.out
hbase-master.
root@ubuntu:/opt/hbase# 

Check if its running

root@ubuntu:/opt/hbase# jps
16353 Jps
15654 HMaster

Open the Hbase shell and lets play around with few commands

root@ubuntu:/opt/hbase# 
root@ubuntu:/opt/hbase# hbase shell
12/10/06 15:35:18 WARN conf.Configuration: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 0.92.1-cdh4.1.0, rUnknown, Sat Sep 29 11:55:59 PDT 2012

hbase(main):007:0* list
TABLE                                                                                                            
0 row(s) in 0.0040 seconds

hbase(main):008:0> create 'table1','cf1'
0 row(s) in 1.0880 seconds

hbase(main):009:0> list
TABLE                                                                                                            
table1                                                                                                           
1 row(s) in 0.0160 seconds

hbase(main):010:0> scan 'table1'
ROW                           COLUMN+CELL                                                                        
0 row(s) in 0.0200 seconds

hbase(main):012:0> put 'table1','row1','cf1:greeting','Hello'
0 row(s) in 0.0590 seconds

hbase(main):013:0> put 'table1','row1','cf1:name','World'
0 row(s) in 0.0110 seconds

hbase(main):014:0> scan 'table1'
ROW                           COLUMN+CELL                                                                        
 row1                         column=cf1:greeting, timestamp=1349563833359, value=Hello                          
 row1                         column=cf1:name, timestamp=1349563858582, value=World                              
1 row(s) in 0.0350 seconds

hbase(main):016:0> get 'table1','row1'
COLUMN                        CELL                                                                               
 cf1:greeting                 timestamp=1349563833359, value=Hello                                               
 cf1:name                     timestamp=1349563858582, value=World                                               
2 row(s) in 0.0300 seconds

hbase(main):017:0> put 'table1','row2','cf1:greeting','Hi'
0 row(s) in 0.0140 seconds

hbase(main):018:0> put 'table1','row2','cf1:name','Abhi'
0 row(s) in 0.0080 seconds

hbase(main):019:0> scan 'table1'
ROW                           COLUMN+CELL                                                                        
 row1                         column=cf1:greeting, timestamp=1349563833359, value=Hello                          
 row1                         column=cf1:name, timestamp=1349563858582, value=World                              
 row2                         column=cf1:greeting, timestamp=1349563961204, value=Hi                             
 row2                         column=cf1:name, timestamp=1349563973437, value=Abhi                               
2 row(s) in 0.0730 seconds

hbase(main):020:0> get 'table1','row2'
COLUMN                        CELL                                                                               
 cf1:greeting                 timestamp=1349563961204, value=Hi                                                  
 cf1:name                     timestamp=1349563973437, value=Abhi                                                
2 row(s) in 0.0080 seconds

hbase(main):021:0> 

You can open a browser and go to http://localhost:60010/ to access the HBase monitoring WebUI

HBase WebUI

Updated on October 31, 2012
Note: I have changed the hostname of my system from ‘ubuntu’ to ‘hbase2’

Set the HBase Root Directory

Although we are able to play around with HBase – create tables, put and get data etc. the data will get deleted once we restart the system as it is transient. In the stand-alone mode everything is executed within a single Java process and the data/files get stored under /tmp by default. Most OS clear /tmp on reboot thereby removing all the data. To make the data persistent we need to edit the hbase-site.xml file and set the root directory.

abhi@hbase2:~$ sudo mkdir /opt/hbase/data/
abhi@hbase2:~$ sudo chown -cRvf hbase:users /opt/hbase/data/
abhi@hbase2:~$ ls -lth /opt/hbase/
total 8.0K
drwxr-xr-x 7 hbase users 4.0K Oct 30 12:47 data
abhi@hbase2:~$
abhi@hbase2:~$ sudo vi /etc/hbase/conf/hbase-site.xml

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///opt/hbase/data</value>
    </property>
</configuration>

Restart hbase-master.

abhi@hbase2:~$ sudo /etc/init.d/hbase-master restart

Now when you create tables and enter data, the data will persist even after system restart.
Lets create a table and enter data.

hbase(main):005:0> create 'users','info'
0 row(s) in 1.1180 seconds

hbase(main):006:0> list
TABLE
users
1 row(s) in 0.0090 seconds

hbase(main):007:0> put 'users','abhi','info:name','abhishek'
0 row(s) in 0.0660 seconds

hbase(main):008:0> put 'users','abhi','info:age','30'
0 row(s) in 0.0110 seconds

hbase(main):009:0> scan 'users'
ROW                                         COLUMN+CELL
 abhi                                       column=info:age, timestamp=1351626512340, value=30
 abhi                                       column=info:name, timestamp=1351626501011, value=abhishek
1 row(s) in 0.0350 seconds

hbase(main):010:0> flush 'users'
0 row(s) in 0.0750 seconds

hbase(main):011:0>

Note: Always do a flush on your tables so that the data gets written as files in your filesystem.

In my next post we’ll see how HBase persists the data physically on the filesystem as files and directories.

Advertisements

Enable Nautilus Toolbar, Statusbar and Sidebar with Tree view

I installed CentOS 5.6 and was a bit uncomfortable with the way the file browser Nautilus was behaving – I couldn’t find the Toolbar, Statusbar or the Sidebar/Sidepane with the folder tree that I have gotten used to over the years. Moreover every time I would double-click on a folder it would open it in a new window – my screen was simply getting cluttered. I tried to enable the Sidepane by pressing ‘F9″ but no luck. After quite a bit of looking around I managed to fix it.

Basically open gconf-editor i.e. press Alt+F2, enter gconf-editor and click on Run.

Run Application

Go to / -> apps -> nautilus -> preferences, select always_use_browser and enable the checkbox as shown below.

Configuration Editor

Now when you open Nautilus you can view the Toolbar, Status bar and the Sidebar with the tree.

Watching movies on TV using HDMI support in Ubuntu 10.04

The thing I love the most in Ubuntu 10.04 is the support for HDMI Audio. I like to plug my laptop (Dell Studio 1555) to my TV using HDMI cable when I need to watch a movie. Earlier when I had openSUSE 11.1, the display worked fine but the audio would still come out of my laptop speakers instead of the TV ones. This was quite a pain as I couldn’t sit back with my TV remote control and had to walk up to my laptop to increase/decrease the volume every now and then.
However this was the case only with the Linux distros as HDMI audio worked fine with Windows Vista. The good news is that with Ubuntu 10.04, HDMI Audio works perfect. All you need to do is just select “HDMI Stereo” as the Output option in the Sound Preferences dialog as shown below.


HDMI Stereo Output in Sound Preferences Dialog

I’ve setup a Bluetooth mouse and now I can sit back and use the mouse as a remote control.

Bluetooth Mouse Setup on Ubuntu 10.04

I’ve also installed a virtual keyboard “onBoard” to key in whatever text I need to run a command from the terminal.

GNome Virtual Keyboard - onBoard

I’m simply loving it 🙂

PostgreSQL 8.4 on Ubuntu 10.04

I’ve been struggling to install PostgreSQL Server 8.4 on Ubuntu 10.04.

I created a new user “postgres” using the Users Settings Tool (System > Administration > Users and Groups) and tried to install the PostgreSQL database server and pgAdmin III tool using the “Software Update Center”. Although the server seems to have been installed, I was unable to start it.
I tried the instructions mentioned at – https://help.ubuntu.com/community/PostgreSQL to no avail.

Finally found the cause to be a bug – https://bugs.launchpad.net/ubuntu/+source/postgresql-8.4/+bug/558319

Anyway, since I had to create a small Proof-Of-Concept for a project I’m working on, I really wanted to install PostgreSQL as the database.

So I went to the PostgreSQL site and downloaded the one-click installer from – http://www.postgresql.org/download/linux. I downloaded – postgresql-8.4.3-1-linux-x64.bin and followed the instructions at – http://www.enterprisedb.com/learning/pginst_guide.do

This was much simpler and I was able to install the server and all the necessary tools in less than 10 minutes. I now have a nice PostgreSQL 8.4 Menu under the Application Menu with a number of options viz. start server, stop server etc. These menu items along with the pgAdmin III tool definitely make working with PostgreSQL lot easier.


PostgreSQL 8.4 on Ubuntu 10.04

Ubuntu root password

Ubuntu has definitely been developed keeping user experience in mind and one of the ways it tries to do so is by cleverly keeping “root” out of the picture. You work with only one user account – one that was created during the installation process. Unlike other Linux distros where during installation you specify a root password, in Ubuntu you are prompted to create a regular user (as opposed to root) and you specify a password for that user. The root user does exist but one cannot explicitly log in as root.

abhi@abhidllx(~)$ su -
Password: 
su: Authentication failure

All features that require a super user/root access are invoked by the regular user (abhi in this case) using “sudo”. Now this is totally fine for someone who is new to Linux and more used to the MS Windows world. I for one like to login using root instead of repeatedly specifying “sudo”. So I reclaimed my root password by following the instructions mentioned at – http://www.debuntu.org/2006/04/24/34-ubuntu-default-root-password-or-the-sudo-way

abhi@abhidllx(~)$ sudo bash
[sudo] password for abhi: 
root@abhidllx(~)$ sudo passwd
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@abhidllx(~)$

Now exit and login as root

root@abhidllx(~)$ exit
abhi@abhidllx(~)$ su -
Password: 
root@abhidllx(~)# 

Ubuntu 10.04 Lucid Lynx rocks!

I’ve been using openSUSE for quite some time now. Barring the ubiquitous driver issues that plague all Linux distros I’ve not had much to complain.
Over the last two years or so Ubuntu has been picking up steam.. at least the community seems very active. So I went ahead and downloaded the latest release – Ubuntu 10.04 Lucid Lynx. I opted for the 64-Bit Desktop Edition (ubuntu-10.04-desktop-amd64.iso).

The installation was super easy and was quite fast. Everything just worked fine – Graphics (Compiz), Sound, Webcam etc. It also gave me an option to use the proprietary driver for my ATI Radeon graphics card. I installed the ATI drivers and then configured Compiz cube and other visual effects.

Installing drivers or any other software for that matter is really simple on Ubuntu. I love the “Ubuntu Software Update Center”. I immediately downloaded Mozilla Thunderbird, VLC Media Player and few other must have utilities.
When I invoked Rhythm Box to play some songs it immediately prompted me to install the MP3 plugins. A button click and my MP3 plugins were installed.

Installing JDK and NetBeans was fairly straightforward as well.

Mozilla Thunderbird works fine but I ran into issues trying to install the calendar plugin – Lightning. There seems to be some issue with its 64-bit version and lot of other folks been struggling with it too.

Using VirtualBox – Ubuntu 7.04 on openSUSE 10.3

My first shot at OS virtualization was almost a year back when I dabbled with
VMWare to run Solaris on my Windows XP. When I read about Sun’s acquisition of innotek – makers of
VirtualBox, I decided to check it out.
So I downloaded the latest RPM of VirtualBox for
openSUSE 10.3 and installed it on my system. The installation was very simple and
within minutes I was able to install Ubuntu 7.04 as a guest OS on my openSUSE.

Following is how I went about it:

1. Execute VirtualBox application.

2. Create new virtual machine for installing Ubuntu 7.04

3. Configure virtual memory and hard disk

The Virtual machine gets created successfully.
However, in order to start it, the user needs to be part of the group – vboxusers

4. Add user to the group – vboxusers

5. Modify settings – CD/DVD ROM, Shared Folders etc.

6. Configure host key in preferences – F12 in this example.
This is the key which will be used to toggle mouse/keyboard inputs between guest and host OS

7. Insert the guest OS installation DVD in the drive and start the virtual machine.
The machine boots from the CD/DVD Drive and begins installation of Ubuntu 7.04

8. Accessing the web from the guest OS.
Note: To run the guest OS in fullscreen mode press [hostkey] + F i.e. F12+F in this case.

NetBeans 6 and Java 6 on openSUSE 10.3

I’ve been struggling to install NetBeans 6 on my openSUSE 10.3.
The installer would startup alright but would crash soon after displaying the bug-buddy dialog.
After few attempts, I ran the installer using Java 5. This time the installer gave the following error:

java: xcb_xlib.c:52: xcb_xlib_unlock: Assertion `c-&gt;xlib.lock' failed.

After googling the above I found the following bug – http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373.
I also found the workaround on the same page i.e. set the following environment variable:

export LIBXCB_ALLOW_SLOPPY_LOCK=1

After implementing the workaround, I was able to install NetBeans and run it.
However, once I upgraded my JDK to Java 6 update 4, and executed NetBeans, the splash screen would appear for a brief moment and then it would crash displaying the bug-buddy dialog.

abhi@abhiltlnx(~)# /opt/netbeans/netbeans-6.0/bin/netbeans --jdkhome /opt/java/jdk1.6.0_04
/usr/share/themes/Chlorophyll/gtk-2.0/gtkrc:47: Clearlooks configuration option "menuitemstyle" is not supported and will be ignored.
/usr/share/themes/Chlorophyll/gtk-2.0/gtkrc:48: Clearlooks configuration option "listviewitemstyle" is not supported and will be ignored.
/usr/share/themes/Chlorophyll/gtk-2.0/gtkrc:49: Clearlooks configuration option "progressbarstyle" is not supported and will be ignored.
/usr/share/themes/Chlorophyll/gtk-2.0/gtkrc:47: Clearlooks configuration option "menuitemstyle" is not supported and will be ignored.
/usr/share/themes/Chlorophyll/gtk-2.0/gtkrc:48: Clearlooks configuration option "listviewitemstyle" is not supported and will be ignored.
/usr/share/themes/Chlorophyll/gtk-2.0/gtkrc:49: Clearlooks configuration option "progressbarstyle" is not supported and will be ignored.
/usr/lib/: No such file or directory.

Following is the bug report that got generated.

System: Linux 2.6.22.5-31-default #1 SMP 2007/09/21 22:29:00 UTC i686
X Vendor: The X.Org Foundation
X Vendor Release: 70000001
Selinux: No
Accessibility: Disabled
GTK+ Theme: Chlorophyll
Icon Theme: Industrial
Memory status: size: 1003343872 vsize: 1003343872 resident: 48775168 share: 25587712 rss: 74362880 rss_rlim: 900776960
CPU usage: start_time: 1203194106 rtime: 812 utime: 647 stime: 165 cutime:0 cstime: 2 timeout: 0 it_real_value: 0 frequency: 100
Backtrace was generated from '/usr/lib/'
[?1034h(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb7de36c0 (LWP 2395)]
[New Thread 0xb1b0fb90 (LWP 2510)]
[New Thread 0xb2ba9b90 (LWP 2499)]
[New Thread 0xb3656b90 (LWP 2479)]
[New Thread 0xb3857b90 (LWP 2478)]
[New Thread 0xb3a58b90 (LWP 2477)]
[New Thread 0xb3d04b90 (LWP 2476)]
[New Thread 0xb41fbb90 (LWP 2475)]
[New Thread 0xb43fcb90 (LWP 2474)]
[New Thread 0xb45fdb90 (LWP 2473)]
[New Thread 0xb47feb90 (LWP 2472)]
[New Thread 0xb49ffb90 (LWP 2405)]
[New Thread 0xb4e2ab90 (LWP 2404)]
[New Thread 0xb502bb90 (LWP 2403)]
[New Thread 0xb50acb90 (LWP 2402)]
[New Thread 0xb52adb90 (LWP 2401)]
[New Thread 0xb54f4b90 (LWP 2400)]
[New Thread 0xb56f5b90 (LWP 2399)]
[New Thread 0xb5776b90 (LWP 2398)]
[New Thread 0xb7dbdb90 (LWP 2397)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xffffe410 in __kernel_vsyscall ()
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7f2b575 in pthread_join () from /lib/libpthread.so.0
#2  0x0804dce8 in ContinueInNewThread ()
#3  0x080497f6 in main ()
Thread 20 (Thread 0xb7dbdb90 (LWP 2397)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310be9 in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06370831 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0x080588f4 in ?? ()
No symbol table info available.
#9  0xb7dbcabc in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
Thread 19 (Thread 0xb5776b90 (LWP 2398)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7e8ef3c in sched_yield () from /lib/libc.so.6
No symbol table info available.
#2  0x063432c5 in SafepointSynchronize::begin ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#3  0x063caeb3 in VMThread::loop ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x063caa9f in VMThread::run ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x06311029 in java_start ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0xb7f2a192 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#7  0xb7ea802e in clone () from /lib/libc.so.6
No symbol table info available.
Thread 18 (Thread 0xb56f5b90 (LWP 2399)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310be9 in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06370831 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0x080808f4 in ?? ()
No symbol table info available.
#9  0xb56f4f40 in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
Thread 17 (Thread 0xb54f4b90 (LWP 2400)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x062ff1de in Monitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x063cb525 in VMThread::execute ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x060dd073 in BiasedLocking::revoke_and_rebias ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0636dda5 in ObjectSynchronizer::fast_enter ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0x0620eaee in InterpreterRuntime::monitorenter ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#8  0xb5b2558a in ?? ()
No symbol table info available.
#9  0x08081800 in ?? ()
No symbol table info available.
#10 0xb54f3bf4 in ?? ()
No symbol table info available.
#11 0xb5b2555f in ?? ()
No symbol table info available.
#12 0xb4a3348d in ?? ()
No symbol table info available.
#13 0x6197c398 in ?? ()
No symbol table info available.
#14 0xb54f3bf4 in ?? ()
No symbol table info available.
#15 0x9430eac4 in ?? ()
No symbol table info available.
#16 0xb54f3c24 in ?? ()
No symbol table info available.
#17 0x94c3b4f0 in ?? ()
No symbol table info available.
#18 0x00000000 in ?? ()
No symbol table info available.
Thread 16 (Thread 0xb52adb90 (LWP 2401)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f3049e in sem_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#2  0x06311374 in check_pending_signals ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#3  0x0630e65d in os::signal_wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x0630b6b8 in signal_thread_entry ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x06391bbd in JavaThread::run ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x06311029 in java_start ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb7f2a192 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#8  0xb7ea802e in clone () from /lib/libc.so.6
No symbol table info available.
Thread 15 (Thread 0xb50acb90 (LWP 2402)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x062ff1de in Monitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x0619d0df in CompileQueue::get ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0619e844 in CompileBroker::compiler_thread_loop ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x06391bbd in JavaThread::run ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0x06311029 in java_start ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#8  0xb7f2a192 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#9  0xb7ea802e in clone () from /lib/libc.so.6
No symbol table info available.
Thread 14 (Thread 0xb502bb90 (LWP 2403)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x062ff059 in Monitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x062e39c5 in LowMemoryDetector::low_memory_detector_thread_entry ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x06391bbd in JavaThread::run ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x06311029 in java_start ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb7f2a192 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#8  0xb7ea802e in clone () from /lib/libc.so.6
No symbol table info available.
Thread 13 (Thread 0xb4e2ab90 (LWP 2404)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e7ec in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec8f in pthread_cond_timedwait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x0630f161 in os::sleep ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06390f0a in WatcherThread::run ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x06311029 in java_start ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0xb7f2a192 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#7  0xb7ea802e in clone () from /lib/libc.so.6
No symbol table info available.
Thread 12 (Thread 0xb49ffb90 (LWP 2405)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310be9 in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06370831 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0xb4a110f4 in ?? ()
No symbol table info available.
#9  0xb49fedf8 in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
Thread 11 (Thread 0xb47feb90 (LWP 2472)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f31248 in accept () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb4b70357 in NET_Accept ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/libnet.so
No symbol table info available.
#3  0xb4b6ba59 in Java_java_net_PlainSocketImpl_socketAccept ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/libnet.so
No symbol table info available.
#4  0xb5b25e9d in ?? ()
No symbol table info available.
#5  0xb4a2ecf4 in ?? ()
No symbol table info available.
#6  0xb47fde50 in ?? ()
No symbol table info available.
#7  0xb47fde4c in ?? ()
No symbol table info available.
#8  0xb5b1e508 in ?? ()
No symbol table info available.
#9  0xb4a2ec00 in ?? ()
No symbol table info available.
#10 0x615daf98 in ?? ()
No symbol table info available.
#11 0x00000001 in ?? ()
No symbol table info available.
#12 0xb47fde1c in ?? ()
No symbol table info available.
#13 0x942d787c in ?? ()
No symbol table info available.
#14 0xb47fde50 in ?? ()
No symbol table info available.
#15 0x94bed608 in ?? ()
No symbol table info available.
#16 0x00000000 in ?? ()
No symbol table info available.
Thread 10 (Thread 0xb45fdb90 (LWP 2473)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f30c1e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ca58 in _L_mutex_lock_86 () from /lib/libpthread.so.0
No symbol table info available.
#3  0xb7f2c47d in pthread_mutex_lock () from /lib/libpthread.so.0
No symbol table info available.
#4  0x062fd844 in Mutex::lock_without_safepoint_check ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x06343727 in SafepointSynchronize::block ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x063707d9 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#8  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#9  0xb5b25e9d in ?? ()
No symbol table info available.
#10 0xb4a2fcf4 in ?? ()
No symbol table info available.
#11 0xb45fcf0c in ?? ()
No symbol table info available.
#12 0x000007d0 in ?? ()
No symbol table info available.
#13 0x00000000 in ?? ()
No symbol table info available.
Thread 9 (Thread 0xb43fcb90 (LWP 2474)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f3205b in waitpid () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb2494d07 in g_spawn_sync () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3  0xb249503c in g_spawn_command_line_sync () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4  0xb299d700 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
No symbol table info available.
#5  0xb299dbf2 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
No symbol table info available.
#6  0xb299de43 in google_breakpad::ExceptionHandler::InternalWriteMinidump ()
from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
No symbol table info available.
#7  0xb299e42e in google_breakpad::ExceptionHandler::HandleException ()
from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
No symbol table info available.
#8  
No symbol table info available.
#9  0xb5bf2bba in ?? ()
No symbol table info available.
#10 0xb5bbc528 in ?? ()
No symbol table info available.
#11 0x64631518 in ?? ()
No symbol table info available.
#12 0x63cb91d8 in ?? ()
No symbol table info available.
#13 0x00000022 in ?? ()
No symbol table info available.
#14 0xb5c14b04 in ?? ()
No symbol table info available.
#15 0xb43faaa0 in ?? ()
No symbol table info available.
#16 0x949e7240 in ?? ()
No symbol table info available.
#17 0xb43faac8 in ?? ()
No symbol table info available.
#18 0xb5c14fa2 in ?? ()
No symbol table info available.
#19 0x64629210 in ?? ()
No symbol table info available.
#20 0xb43faaa4 in ?? ()
No symbol table info available.
#21 0x614cc5a8 in ?? ()
No symbol table info available.
#22 0x64631518 in ?? ()
No symbol table info available.
#23 0x614cc500 in ?? ()
No symbol table info available.
#24 0x00354ea2 in ?? ()
No symbol table info available.
#25 0x00000022 in ?? ()
No symbol table info available.
#26 0x00000000 in ?? ()
No symbol table info available.
Thread 8 (Thread 0xb41fbb90 (LWP 2475)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310be9 in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06370831 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0xb4a334f4 in ?? ()
No symbol table info available.
#9  0xb41fa520 in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
Thread 7 (Thread 0xb3d04b90 (LWP 2476)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310be9 in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06370831 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0x082a68f4 in ?? ()
No symbol table info available.
#9  0xb3d03c5c in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
Thread 6 (Thread 0xb3a58b90 (LWP 2477)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f30c1e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ca58 in _L_mutex_lock_86 () from /lib/libpthread.so.0
No symbol table info available.
#3  0xb7f2c47d in pthread_mutex_lock () from /lib/libpthread.so.0
No symbol table info available.
#4  0x062fd844 in Mutex::lock_without_safepoint_check ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x06343727 in SafepointSynchronize::block ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x06393434 in JavaThread::check_safepoint_and_suspend_for_native_trans ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0x06237041 in jni_CallStaticVoidMethod ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#8  0xb3eec652 in performPoll ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/xawt/libmawt.so
No symbol table info available.
#9  0xb3eec433 in waitForEvents ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/xawt/libmawt.so
No symbol table info available.
#10 0xb5b25e9d in ?? ()
No symbol table info available.
#11 0x0833acf4 in ?? ()
No symbol table info available.
#12 0xffffffff in ?? ()
No symbol table info available.
#13 0xffffffff in ?? ()
No symbol table info available.
#14 0xffffffff in ?? ()
No symbol table info available.
#15 0x00000000 in ?? ()
No symbol table info available.
Thread 5 (Thread 0xb3857b90 (LWP 2478)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310be9 in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06370831 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0x0833bcf4 in ?? ()
No symbol table info available.
#9  0xb3856d8c in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
Thread 4 (Thread 0xb3656b90 (LWP 2479)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310be9 in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06370831 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0x0833ccf4 in ?? ()
No symbol table info available.
#9  0xb3655cfc in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
Thread 3 (Thread 0xb2ba9b90 (LWP 2499)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e7ec in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec8f in pthread_cond_timedwait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310d1e in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x063704ff in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0x085188f4 in ?? ()
No symbol table info available.
#9  0xb2ba8ee0 in ?? ()
No symbol table info available.
#10 0x0000ea60 in ?? ()
No symbol table info available.
#11 0x00000000 in ?? ()
No symbol table info available.
Thread 2 (Thread 0xb1b0fb90 (LWP 2510)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7f2ec18 in pthread_cond_wait@GLIBC_2.0 () from /lib/libpthread.so.0
No symbol table info available.
#3  0x06310be9 in os::PlatformEvent::park ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#4  0x06370831 in ObjectMonitor::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#5  0x0636e162 in ObjectSynchronizer::wait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#6  0x0626e6c7 in JVM_MonitorWait ()
from /opt/java/jdk1.6.0_04/jre/lib/i386/client/libjvm.so
No symbol table info available.
#7  0xb5b25e9d in ?? ()
No symbol table info available.
#8  0x08121cf4 in ?? ()
No symbol table info available.
#9  0xb1b0ecbc in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
Thread 1 (Thread 0xb7de36c0 (LWP 2395)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7f2b575 in pthread_join () from /lib/libpthread.so.0
No symbol table info available.
#2  0x0804dce8 in ContinueInNewThread ()
No symbol table info available.
#3  0x080497f6 in main ()
No symbol table info available.
#0  0xffffe410 in __kernel_vsyscall ()
The program is running.  Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
----------- .xsession-errors (9766 sec old) ---------------------
** (gnome-cups-icon:3907): WARNING **: IPP request failed with status 1030
** (gnome-cups-icon:3907): WARNING **: IPP request failed with status 1030
** (gnome-cups-icon:3907): WARNING **: IPP request failed with status 1030
** (gnome-cups-icon:3907): WARNING **: IPP request failed with status 1030
** (gnome-cups-icon:3907): WARNING **: IPP request failed with status 1030
** (gnome-cups-icon:3907): WARNING **: IPP request failed with status 1030
** (gnome-cups-icon:3907): WARNING **: IPP request failed with status 1030
...Too much output, ignoring rest...
--------------------------------------------------

I tried uninstalling/installing Jdk6u4 a number of times – manually, RPMs, YaST etc. to no avail.
Since I was unable to understand the bug report, I decided to uninstall bug-buddy in the hope of getting more meaningful information on the terminal.
The moment I unistalled bug-buddy, I was able to run NetBeans using Java 6.

root@abhiltlnx(~)#  zypper rm bug-buddy
* Reading repository 'Main Repository (OSS)' cache
* Reading repository 'Main Repository (NON-OSS)' cache
* Reading repository 'openSUSE-10.3-DVD 10.3' cache
* Reading installed packages [100%]
The following package is going to be REMOVED:
bug-buddy
After the operation, 2.0 M will be freed.
Continue? [yes/no]: yes
* Removing bug-buddy-2.20.0-5 [100%]
root@abhiltlnx(~)#

As it turned out bug-buddy wasn’t much of a buddy in this case.

Installing openSolaris (SXDE 1/08) and openSUSE 10.3

After almost a year I decided to upgrade the Operating Systems on my laptop.
The plan was to install the latest Solaris build – Solaris Express Developer Edition 1/08 (snv_79) and openSUSE 10.3 along with the pre-installed Windows XP.
I managed to get hold of a USB hard disk to take a backup of my data, partitioned/formatted my disk and installed Win XP.
This is how my partition table looks like:

root@abhiltlnx(~)# fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xcd9ccd9c
Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1912    15358108+   7  HPFS/NTFS
/dev/sda2            1913        3452    12370050   bf  Solaris
/dev/sda3            3454        8061    37013760    f  W95 Ext'd (LBA)
/dev/sda4   *        8062        9729    13398210   83  Linux
/dev/sda5            3454        5759    18522913+   b  W95 FAT32
/dev/sda6            5760        7799    16386268+   b  W95 FAT32
/dev/sda7            7800        8061     2104483+  82  Linux swap / Solaris
root@abhiltlnx(~)#

I then went about installing Solaris. Anyone who has tried installing Solaris in the past will be totally impressed with the new installer – very user friendly!
It gives simple options to the user to pick from and goes about installing the OS.
I haven’t spent much time looking into the system, however I must mention the things that I already like:

  • Easier user/group administration – creating user part of the installation process
  • Easier network management – It detected my wireless device and post-installation, displayed all the networks I can connect to.
  • Nice Gnome-based Desktop with the “Shutdown” option (Yes!). Although I’ve gotten used to “poweroff”
  • Detected all the devices and installed NVidia drivers
  • Out-of-the-box development environment viz. NetBeans 6, Apache, Databases etc.

Some screenshots:

Next on the agenda was openSUSE 10.3 installation.
I’ve been using openSUSE for over a year now and based on my past experience,
I was kind of expecting the installation to be fairly trivial.
Unfortunately, that was not to be :(. After few minor glitches (the installer kept crashing every now and then), I finally managed to install it.
Things I love about openSUSE 10.3

  • Love the Green look-and-feel
  • The startup time has really improved – A good enough reason to upgrade for 10.2 folks.
  • 1-click install of packages
  • Detected all my devices

Some screenshots:

Configured Compiz desktop:

Lastly, I had to modify the Grub menu for both openSUSE (to add an entry for Solaris) and openSolaris (to add an entry for openSUSE).

openSUSE grub menu:

root@abhiltlnx(~)# vi /boot/grub/menu.lst
# Modified by YaST2. Last modification on Thu Feb  7 21:41:29 UTC 2008
default 0
timeout 8
gfxmenu (hd0,3)/boot/message
##YaST - activate
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.3
root (hd0,3)
kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_IC25N080ATMR04-_MRG401K4G1SY6C-part4 vga=0x317    resume=/dev/sda7 splash=silent showopts
initrd /boot/initrd-2.6.22.5-31-default
###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows XP
rootnoverify (hd0,3)
chainloader (hd0,0)+1
<b>
### Abhi: Solaris entry added based on the windows one ###
title Solaris SXDE 1/08 - snv_79a
rootnoverify (hd0,3)
chainloader (hd0,1)+1
</b>
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.3
root (hd0,3)
kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_IC25N080ATMR04-_MRG401K4G1SY6C-part4 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.22.5-31-default

openSolaris grub menu:

root@abhiltsol(~)# vi /boot/grub/menu.lst
#pragma ident	"@(#)menu.lst	1.2	07/01/10 SMI"
#
# default menu entry to boot
default 0
#
# menu timeout in second before default OS is booted
# set to -1 to wait for user input
timeout 10
#
# To enable grub serial console to ttya uncomment the following lines
# and comment out the splashimage line below
# WARNING: don't enable grub serial console when BIOS console serial
#	redirection is active!!!
#   serial --unit=0 --speed=9600
#   terminal serial
#
# Uncomment the following line to enable GRUB splashimage on console
splashimage /boot/grub/splash.xpm.gz
#
# To chainload another OS
#
# title Another OS
#	root (hd,)
#	chainloader +1
#
# To chainload a Solaris release not based on grub
#
# title Solaris 9
#	root (hd,)
#	chainloader +1
#	makeactive
#
# To load a Solaris instance based on grub
# If GRUB determines if the booting system is 64-bit capable,
# the kernel$ and module$ commands expand $ISADIR to "amd64"
#
# title Solaris 
#	root (hd,,x)	--x = Solaris root slice
#	kernel$ /platform/i86pc/kernel/$ISADIR/unix
#	module$ /platform/i86pc/$ISADIR/boot_archive
#
# To override Solaris boot args (see kernel(1M)), console device and
# properties set via eeprom(1M) edit the "kernel" line to:
#
#   kernel /platform/i86pc/kernel/unix  -B prop1=val1,prop2=val2,...
#
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris Express Developer Edition 1/08 snv_79a X86
kernel$ /platform/i86pc/kernel/$ISADIR/unix
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris xVM
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris failsafe
kernel /boot/platform/i86pc/kernel/unix -s
module /boot/x86.miniroot-safe
#---------------------END BOOTADM--------------------
title Windows
rootnoverify (hd0,0)
chainloader +1
<b>
### Abhi: Linux entry added based on the windows one ###
title Linux
rootnoverify (hd0,3)
chainloader +1
</b>
# Unknown partition of type 15 found on /dev/rdsk/c0d0p0 partition: 3
# It maps to the GRUB device: (hd0,2) .
# Unknown partition of type 131 found on /dev/rdsk/c0d0p0 partition: 4
# It maps to the GRUB device: (hd0,3) .

FAT32 filenames in Linux

I have a multi-boot machine with Solaris, Linux & Windows installed.
So my hard disk currently has all different sorts of filesystems.

root@lnx(~)# fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1912    15358108+   7  HPFS/NTFS
/dev/sda2            4086        8682    36925402+   f  W95 Ext'd (LBA)
/dev/sda3            1913        4080    17414460   bf  Solaris
/dev/sda4   *        8683        9729     8410027+  83  Linux
/dev/sda5            4086        6635    20482843+   b  W95 FAT32
/dev/sda6            6636        8420    14337981    b  W95 FAT32
/dev/sda7            8421        8682     2104483+  82  Linux swap / Solaris

When using Linux, I’ve been struggling to work with any NetBeans web application projects that were stored in my FAT32 partitions.
Upon opening a web project, NetBeans would complain that WEB-INF folder is missing.

After a quick ls -l, I noticed that the WEB-INF folder appears as web-inf i.e. in lowercase.
Well the reason behind this anomaly was the way the Windows FAT32 partitons were mounted on my system.

root@lnx(~)# vi /etc/fstab
. . .
/dev/sda5            /mnt/win_d/          vfat       users,gid=users,umask=0002,utf8=true 0 0
/dev/sda6            /mnt/win_e/          vfat       users,gid=users,umask=0002,utf8=true 0 0
. . .

So I remounted the FAT32 partitions with the option shortname=mixed and everything became fine.

root@lnx(~)# umount /mnt/win_d/
root@lnx(~)# umount /mnt/win_e/
root@lnx(~)# vi /etc/fstab
. . .
/dev/sda5            /mnt/win_d/          vfat       users,gid=users,umask=0002,utf8=true,shortname=mixed 0 0
/dev/sda6            /mnt/win_e/          vfat       users,gid=users,umask=0002,utf8=true,shortname=mixed 0 0
. . .
root@lnx(~)# mount -a

The WEB-INF folder now appears as it is (i.e. in uppercase).
The default behaviour of a FAT32 mount uses shortname=lower, so any file/folder with a shortname i.e. less than 8 chars (excluding file extension) would appear in lowercase.