2016-09-14 8 views
2

私は、別のサーバ上にあるHBaseテーブルからデータを取得するスパークジョブ(Scalaで書かれています)を持っています。これを行うには、まずHBaseContextを次のように作成します。 val hBaseContext:HBaseContext = new HBaseContext(sparkContext, HBaseConfiguration.create())spbase-submitするhbase-site.xmlを指定してください

私はspark-submitを使用して、必要な引数を指定します。このような何かを:

spark-submit --master=local[*] --executor-memory 4g --executor-cores 2 --num-executors 2 --jars $(for x in `ls -1 ~/spark_libs/*.jar`; do readlink -f $x; done | paste -s | sed -e 's/\t/,/g') --class com.sparksJob.MyMainClass myJarFile.jar "[email protected]" 

事しかし、私はそれが別のサーバー上の飼育係(HBaseのは1)に接続したい、これはローカルホスト上のZooKeeperに接続ということです。しかし

val configuration: Configuration = new Configuration() 
configuration.set("hbase.zookeeper.quorum", "10.190.144.8") 
configuration.set("hbase.zookeeper.property.clientPort", "2181") 
val hBaseContext:HBaseContext = new HBaseContext(sparkContext, HBaseConfiguration.create(configuration)) 

を私はそれは、設定したい:この情報をハードコーディング

で動作します。

使用するhbase-site.xmlファイルへのパスをspark-submitに指定するにはどうすればよいですか?

+1

zookeeperクォーラムとスカラのアプリケーション引数を介して移植できますか? – maxteneff

+0

JARファイルからHBaseContextを取得しましたが、Ted Malaska git repoとは離れていました。このクラスは見つかりませんでした.SBTファイルまたはPOMファイルを共有できるようになりますか?https:// github .com/tmalaska/SparkOnHBase – Manjesh

答えて

2

--filesオプションのパラメータとしてhbase-site.xmlを渡すことができます。例は次のようになります:

spark-submit --master yarn-cluster --files /etc/hbase/conf/hbase-site.xml --executor-memory 4g --executor-cores 2 --num-executors 2 --jars $(for x in `ls -1 ~/spark_libs/*.jar`; do readlink -f $x; done | paste -s | sed -e 's/\t/,/g') --class com.sparksJob.MyMainClass myJarFile.jar "[email protected]" 

マスターは糸クラスターに設定されています。他のオプションを指定すると、hbase-site.xmlは無視されます。

+0

私は上記のオプションを試しましたが、まだHBaseに接続できませんでしたが、ローカルモードで正常に動作しています... – Shankar

+0

実行中のSparkのバージョンは? ' - master 'の値として何を使用していますか? – mgaido

関連する問題