Spark 2.2.0 在加载 table 到 DF 时无法连接到 Phoenix 4.11.0 版本

Spark 2.2.0 unable to connect to Phoenix 4.11.0 version in loading the table to DF

我正在使用以下技术堆栈并尝试使用 PySpark 代码连接 Phoenix tables。我已经从 url 下载了以下 jar 并尝试执行以下代码。在日志中,已建立与 hbase 的连接,但控制台卡住了,什么也不做。如果有人遇到并解决了类似问题,请告诉我。

https://mvnrepository.com/artifact/org.apache.phoenix/phoenix-spark/4.11.0-HBase-1.2

罐子: phoenix-spark-4.11.0-HBase-1.2.jar 凤凰-client.jar

Tech Stack 所有 运行 在同一主机中:

Apache Spark 2.2.0 版本

Hbase 1.2 版本

凤凰4.11.0版本

复制hbase-site.xml到文件夹路径/spark/conf/hbase-site.xml.

已执行命令 ->

usr/local/spark> spark-submit phoenix.py --jars /usr/local/spark/jars/phoenix-spark-4.11.0-HBase-1.2.jar --罐子/usr/local/spark/jars/phoenix-client.jar

Phoenix.py:

from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext

conf = SparkConf().setAppName("pysparkPhoenixLoad").setMaster("local")
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)

df = sqlContext.read.format("org.apache.phoenix.spark").option("table", 
"schema.table1").option("zkUrl", "localhost:2181").load()
df.show()

错误日志:Hbase连接已建立,但在控制台卡住并抛出超时错误

18/07/30 12:28:15 警告 HBaseConfiguration:配置选项 "hbase.regionserver.lease.period" 已弃用。相反,使用 "hbase.client.scanner.timeout.period"

18/07/30 12:28:54 信息 RpcRetryingCaller:调用异常,尝试=10,重试=35,开始=38367 毫秒前,取消=假,消息=行'SYSTEM:CATALOG,,' 在table 'hbase:meta' 在 region=hbase:meta,1.1588230740, hostname=master01,16020,1532591192223, seqNum=0

看看这些答案:

  • phoenix jdbc doesn't work, no exceptions and stuck
  • HBase Java client - unknown host: localhost.localdomain

这两个问题都发生在 Java(JDBC),但看起来这里也有类似的问题。

尝试将 ZooKeeper 主机名(master01,正如我在错误消息中看到的那样)添加到您的 /etc/hosts :

127.0.0.1    master01

如果您 运行 所有堆栈都在本地。