Pyspark Spark 2.2.0在将表格加载到DF时无法连接到Phoenix 4.11.0版本

Pyspark Spark 2.2.0在将表格加载到DF时无法连接到Phoenix 4.11.0版本,pyspark,hbase,phoenix,Pyspark,Hbase,Phoenix,我正在使用下面的techstack,并尝试使用PySpark代码连接Phoenix表。我已从url下载了以下JAR,并尝试执行以下代码。在日志中,已建立到hbase的连接,但控制台无法执行任何操作。如果有人遇到并解决了类似问题,请告诉我 罐子: phoenix-spark-4.11.0-HBase-1.2.jar phoenix-client.jar 所有技术堆栈均在同一主机上运行: Apache Spark 2.2.0版本 Hbase 1.2版 凤凰4.11.0版 复制了路径/spark/c

我正在使用下面的techstack,并尝试使用PySpark代码连接Phoenix表。我已从url下载了以下JAR,并尝试执行以下代码。在日志中,已建立到hbase的连接,但控制台无法执行任何操作。如果有人遇到并解决了类似问题,请告诉我

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

所有技术堆栈均在同一主机上运行:

Apache Spark 2.2.0版本

Hbase 1.2版

凤凰4.11.0版

复制了路径/spark/conf/hbase-site.xml文件夹中的hbase-site.xml

已执行命令->

usr/local/spark>spark提交phoenix.py--jars/usr/local/spark/jars/phoenix-spark-4.11.0-HBase-1.2.jar--jars/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警告HBA配置:配置选项“hbase.regionserver.lease.period”已被弃用。而是使用“hbase.client.scanner.timeout.period”


18/07/30 12:28:54信息RpcRetryingCaller:Call exception,trys=10,retries=35,start=38367毫秒前,cancelled=false,msg=row'SYSTEM:CATALOG,,'on table'hbase:meta'在region=hbase:meta,1.1588230740,hostname=master01160201532591192223,seqNum=0查看以下答案:

这两个问题都发生在Java(使用JDBC)中,但在这里看起来是类似的问题

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

127.0.0.1    master01

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

谢谢您的响应,zookeeper已经在本地设置好了。使用正确的IP承载文件点。我能运行Spark Hive ORC pyspark程序。我正在尝试直接连接到hbase的替代方案,然而,这一次它的不同问题。前面的评论不完整,请关注-它无法找到org.apache.spark.sql.execution.datasources.hbase类,即使我们下载了所需的jars spark-hbase-connector_2.10-1.0.3.jar并运行命令spark shell--jars/usr/local/spark/jars/spark-hbase-connector_2.10-1.0.3.jar---conf“spark.executor.extraClassPath=/usr/local/spark/jars/spark-hbase-connector_2.10-1.0.3.jar“如果您想像在第一个示例中那样在Python中执行此操作,您可以阅读。我认为您将遇到相同的问题:您得到的超时似乎与Spark连接到HBase群集的方式有关。但是值得一试。再次感谢你分享这些链接。我对pyspark上的Hbase连接尝试了相同的步骤,但错误消息非常简单:“org.apache.spark.sql.execution.datasources.Hbase Java.Noclass found”异常。我检查了JARs路径中的类可用性。不确定JAR是否能够映射,python 2.7可能不支持在python包装器中运行一些最新的scala JAR。我将从另一台服务器开始。嗨,我发现问题有两个原因:你是对的norbj,zookeeper主机名是作为ip addr而不是hostname提供的,第二个是sparkdriver和executor类路径,在提交程序时需要使用-conf参数显式设置,即使我将它们放在spark-detault.conf中。