我确实已经成功访问了从Hbase
到Spark
的数据。但是我发现了一个问题,即计算没有移到Spark中的数据。例如,我有10个区域,其中的数据位于5个物理节点中,我想使用Spark-2.4.0
访问其数据,这很奇怪,集群启动任务中只有3个节点。我的集群怎么了?
我已经配置了一些条件:
该集群总共有5个物理节点,分别运行Hadoop
,HBase
,Zookeeper
和Spark
。
我确信数据均匀地存储在5个节点的10个区域中。换句话说,如果我要访问数据1到10,则将调用regionServer1到regionServer10。
我正在使用“ newAPIHadoopRDD”从HBase
访问数据,该API根本不包含分区配置,因此Executors
可以启动的默认线程数是HRegions
。
现象是集群中只有3个节点启动了10个任务。我希望所有5个节点都启动任务,并且每个节点都应该启动2个任务。我已经意识到Hbase
是基于HDFS
的,但是我不知道该API“ newAPIHadoopRDD”,所以我也想知道它是如何工作的。