0

I have configured hadoop1.0.3 on with 3 machines with fully distributed mode.on the first machine below jobs are running:

1) 4316 SecondaryNameNode 4006 NameNode 4159 DataNode 4619 TaskTracker 4425 JobTracker

2) 2794 TaskTracker 2672 DataNode

3) 3338 DataNode 3447 TaskTracker

Now when i run simple map reduce job on it,it takes longer time to execute map reducejob.So i installed HBASE layer over Hadoop.now I have below processes for HBASE on 3 clusters.

1) 5115 HQuorumPeer 5198 HMaster 5408 HRegionServer

2) 3719 HRegionServer

3) 2719 HRegionServer

Now i installed Phoenix according to the instructions:

https://github.com/forcedotcom/phoenix#installation But I dont understand where to install Phoenix client?? I installed on same master machine but i am not able to invoke the following command.

./psql.sh master(zookeeper name) ../examples/web_stat.sql ../examples/web_stat.csv ../examples/web_stat_queries.sql

It gives below error:

com.salesforce.phoenix.exception.PhoenixIOException: Retried 10 times
        at com.salesforce.phoenix.util.ServerUtil.parseRemoteException(ServerUtil.java:123)
        at com.salesforce.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:106)
        at com.salesforce.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:599)
        at com.salesforce.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:777)
        at com.salesforce.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:365)
        at com.salesforce.phoenix.compile.CreateTableCompiler$1.execute(CreateTableCompiler.java:81)
        at com.salesforce.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.executeUpdate(PhoenixStatement.java:278)
        at com.salesforce.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:741)
        at com.salesforce.phoenix.util.SchemaUtil.initMetaData(SchemaUtil.java:332)
        at com.salesforce.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:861)
        at com.salesforce.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:151)
        at com.salesforce.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:157)
        at java.sql.DriverManager.getConnection(DriverManager.java:620)
        at java.sql.DriverManager.getConnection(DriverManager.java:222)
        at com.salesforce.phoenix.util.PhoenixRuntime.main(PhoenixRuntime.java:168)
Caused by: org.apache.hadoop.hbase.MasterNotRunningException: Retried 10 times
        at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:138)
        at com.salesforce.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:517)
Asha Koshti
  • 2,763
  • 4
  • 22
  • 30

1 Answers1

1

Either your HMaster is not running or the client is not able to contact it because of some reason. Re-run JPS to make sure that it's still running. To cross check you can go to the HBase webUI (hmaster_machine:60010).

Also make sure you have added the phoenix-[version].jar to the classpath of your RegionServer or copied it to your HBASE_HOME/lib directory.

Tariq
  • 34,076
  • 8
  • 57
  • 79
  • i checked with HBase webUI (hmaster_machine:60010).its working fine and even in jps it shows HMaster.i added phoenix version jar in lib directory of every region servers.then also it gives above exception.is there anything related to phoenix client jar file to set up?? – Asha Koshti Jul 26 '13 at 04:26
  • No additional setup, AKAIK. Have you restarted HBase daemons after adding the jars? – Tariq Jul 26 '13 at 06:51
  • yes..its done..i need to give port number with zookeeper services. like this: ./psql.sh master:2222 ../examples/web_stat.sql ../examples/web_stat.csv ..thanks tariq for the help. :) – Asha Koshti Jul 26 '13 at 08:04
  • While issuing Phoenix query will it distribute to all clusters for processing?? – Asha Koshti Jul 26 '13 at 11:44
  • Since HBase is a distributed store, it will. And, if you have to query a couple of million rows, I don't think it should take more than a few msecs. – Tariq Jul 26 '13 at 22:34
  • that is right.but how can i measure to have that which cluster is doing what job? because in map reducing i was able to but here i am not able to..so i am doubting for that.. – Asha Koshti Jul 27 '13 at 05:08
  • in just 100k of rows in first run its taking 60000 above ms with 3 node cluster so please provide some performance improvement where i am lacking?? – Asha Koshti Jul 27 '13 at 06:55