我正在使用下面的技术堆栈,并尝试使用PySpark代码连接Phoenix表。我已经从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.jarphoenix-client.jar
技术堆栈都在同一主机上运行:
Apache Spark 2.2.0版本
Hbase 1.2版本
Phoenix 4.11.0版本
复制了文件夹路径/spark/conf/hbase-site.xml中的hbase-site.xml。
命令执行->
usr/local/spark>spark-submit phoenix.py--jars/usr/local/spark/jars/phenix-spark-4.11.0-HBase-1.2.jar--jarsusr/local/spark/jars/phenix-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.reregionserver.release.eperiod"已弃用。相反,使用"hbase.client.scanner.timeout.eperiod">
18/07/30 12:28:54信息RpcRetryingCaller:呼叫异常,尝试次数=10,重试次数=35,在38367毫秒前开始,取消=false,消息=行'SYSTEM:CATALOG,,'在区域=hbase:meta的表'hbase:mata'上,1.1588230740,主机名=master01160201532591192223,seqNum=0
看看这些答案:
- phoenix jdbc不工作,没有异常,并且被卡住
- HBase Java客户端-未知主机:localhost.localdomain
这两个问题都发生在Java(使用JDBC(中,但在这里看起来是类似的问题。
尝试将ZooKeeper主机名(master01
,正如我在错误消息中看到的(添加到您的/etc/hosts
:
127.0.0.1 master01
如果您在本地运行所有堆栈。