更新时间:2024-08-05 GMT+08:00

Spark同时访问两个HBase样例程序开发思路

场景说明

spark支持同时访问两个集群中的HBase,前提是两个集群配置了互信。

数据规划

  1. 将cluster2集群的所有Zookeeper节点和HBase节点的IP和主机名配置到cluster1集群的客户端节点的“/etc/hosts”文件中。
  2. 分别将cluster1和cluster2集群Spark2x客户端conf下的hbase-site.xml文件放到“/opt/example/A”,“/opt/example/B”两个目录下。
  3. 用spark-submit提交命令:

    运行样例程序前,需要在Spark客户端的“spark-defaults.conf”配置文件中将配置项“spark.yarn.security.credentials.hbase.enabled”设置为“true”(该参数值默认为“false”,改为“true”后对已有业务没有影响。如果要卸载HBase服务,卸载前请将此参数值改回“false”)。

    spark-submit --master yarn --deploy-mode client --files /opt/example/B/hbase-site.xml --keytab /opt/FIclient/user.keytab --principal sparkuser  --class com.huawei.spark.examples.SparkOnMultiHbase /opt/example/SparkOnMultiHbase-1.0.jar

开发思路

  1. 用户访问HBase时,需要使用对应集群的配置文件创建Configuration对象,用于创建Connection对象。
  2. 用对应的Connection对象操作HBase表,包括建表、插入数据、查看数据并进行打印。