2016-08-04 5 views
0

私はHbaseをスタンドアロンcloudera VMで実行しています。私はちょうど私のJavaコードからhbaseに接続しようとしていますが、この例外をすべて取得しています。私はhbase-site.xmlにエントリーをしていません。また、Hbaseとzookeperを起動して実行しています。java apiでHbaseに接続できません

明-2.6.0-cdh5.7.0.jar::以下は私が取得しています例外はあるの/ usr/libに/ HadoopのMapReduceの-/.// HadoopのMapReduceの-クライアント-HS-plugins.jar:/ usr/lib/hadoop-mapreduce /.// hadoop-mapreduce-client-jobclient-tests.jar
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:クライアント環境:java.library.path =/usr/lib/hadoop/lib/native
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:クライアント環境:java.io.tmpdir =/tmp
16/08/03 23:04:33 INFO zookeeper .ZooKeeper:クライアント環境:java.compiler =
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:クライアント環境:os.name = Linux
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:クライアント環境:os.arch = amd64
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:クライアント環境:os.version = 2.6。 32-573.el6.x86_64
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:クライアント環境:user.name = cloudera
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:Client環境:user.home =/home/cloudera
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:クライアント環境:user.dir =/home/cloudera
16/08/03 23:04:33 INFO zookeeper.ZooKeeper:クライアント接続の開始、connectString = localhost:2181 sessionTimeout = 90000ウォッチャー= hconnection-0x2da61880x0、クォーラム= localhost:2181、baseZNode =/hbase
16/08/03 23:04:33 INFO zookeeper.ClientCnxn:サーバquickstart.cloudera/127.0.0.1へのソケット接続をオープンしています:2181。 SASLを使用して認証しようとしません(不明なエラー)
16/08/03 23:04:33情報zookeeper.ClientCnxn:ソケット接続が確立され、セッションが開始されました。クライアント:/127.0.0.1:56535、サーバー:quickstart.cloudera/127.0.0.1:2181
16/08/03 23:04:33 INFO zookeeper.ClientCnxn:サーバーquickstart.cloudera/127.0.0.1:2181、sessionid = 0x1562b869790000e、ネゴシエーションタイムアウト= 40000でのセッション確立完了
16/08/03 23:04:33 INFO mapreduce.HFileOutputFormat:テーブルユーザーの現在の領域を検索する; hconnection-0x2da6188 org.apache.hadoop.hbase.client.RetriesExhaustedException:試行回数= 36、例外後に失敗:
Wed Aug 03 23 :05:21 PDT 2016、null、java.net.SocketTimeoutException:callTimeout = 60000、callDuration = 68660:テーブルの上の行 'のユーザー,, 00000000000000' 'のHBase:メタ' 領域= HBaseの時:メタ,, 1.1588230740、ホスト名= quickstart.cloudera、60020,1469171048401、SEQNUM = 0

は、これは私のJavaコードです。

public int run(String[] args) throws Exception { 
     int result=0; 
     String outputPath = args[1];   
     Configuration configuration = getConf(); 
     configuration.set("data.seperator", DATA_SEPERATOR);   
     configuration.set("hbase.table.name",TABLE_NAME);  
     configuration.set("COLUMN_FAMILY_1",COLUMN_FAMILY_1);  
     configuration.set("COLUMN_FAMILY_2",COLUMN_FAMILY_2);  
     Job job = new Job(configuration);  
     job.setJarByClass(HBaseBulkLoadDriver.class);  
     job.setJobName("Bulk Loading HBase Table::"+TABLE_NAME);   
     job.setInputFormatClass(TextInputFormat.class);  
     job.setMapOutputKeyClass(ImmutableBytesWritable.class);  
     job.setMapperClass(HBaseBulkLoadMapper.class);  
     FileInputFormat.addInputPaths(job, args[0]);   
     FileSystem.getLocal(getConf()).delete(new Path(outputPath), true);  
     FileOutputFormat.setOutputPath(job, new Path(outputPath));  
     job.setMapOutputValueClass(Put.class);  
     HFileOutputFormat.configureIncrementalLoad(job, new HTable(configuration,TABLE_NAME));  
     job.waitForCompletion(true);   
     if (job.isSuccessful()) { 
      HBaseBulkLoad.doBulkLoad(outputPath, TABLE_NAME); 
     } else { 
      result = -1; 
     } 
     return result; 
    } 
+0

このエラーが発生するJavaコードを表示できますか? – Whitefret

+0

hbaseにアクセスするためのjavaコードを追加しました – SUDARSHAN

+0

ここでJavaコードを実行しますか?クイックスタートVMで直接?またはリモート?あなたは私にHbaseのバージョンを教えてもらえますか? –

答えて

0

Zookeeperはlocalhost経由で解決され、正常に接続されています。 quickstart.clouderaを解決できますか?私の推測では、コールがquickstart.clouderaにタイムアウトしてからDNSの問題です。それは理にかなっていますか?

関連する問題