SequoiaSQL 和 Spark 的安装配置放在在这里不赘述。
Thrift server 最好是配合 Hive 元数据库使用。所以这里讲一下如何配置,并启动 Thrift server ,最后可以用 beeline 命令行比较方便清爽的使用 Spark SQL 。下面是配置步骤。
1. Postgresql JDBC 驱动
下载 Postgresql jdbc驱动: https://jdbc.postgresql.org/download.html
注意驱动版本不仅跟Postgresql版本相关,还跟 jdk 版本相关。
下载之后,上传postgresql jdbc驱动包到spark集群所有服务器的某一个目录下:
例如,上传 postgresql-9.3-1104.jdbc41.jar 到目录 /opt/spark-2.1.1-bin-hadoop2.7/jars/
2. 配置spark-defaults.conf 或者 spark-env.sh
conf/spark-defaults.conf :
spark.executor.extraClassPath /opt/spark-2.1.1-bin-hadoop2.7/jars/sequoiadb.jar:/opt/spark-2.1.1-bin-hadoop2.7/jars/spark-sequoiadb_2.11-2.6.0.jar:/opt/spark-2.1.1-bin-hadoop2.7/jars/postgresql-9.3-1104.jdbc41.jar
或者 conf/spark-env.sh :
SPARK_CLASSPATH=/opt/spark-2.1.1-bin-hadoop2.7/jars/sequoiadb.jar:/opt/spark-2.1.1-bin-hadoop2.7/jars/spark-sequoiadb_2.11-2.6.0.jar:/opt/spark-2.1.1-bin-hadoop2.7/jars/postgresql-9.3-1104.jdbc41.jar
3. 下载并上传hive metastore建表脚本:
下载hive的源代码包:
http://mirror.bit.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-src.tar.gz
关于下载的hive版本,需要注意 spark 里边对应的 hive 版本。 Spark 2.1.1 的 hive 版本是 1.2.1 。不过, Hive 1.2.2 也一样可以用。
解压apache-hive-1.2.2-src.tar.gz之后,找到目录 metastore\scripts\upgrade\postgres\ 下边的两个SQL脚本:
hive-schema-1.2.0.postgres.sql
hive-txn-schema-0.13.0.postgres.sql
上传 这两个sql脚本 到服务器上某个目录下,待用。
4. 创建SequoiaSQL数据库和用户
首先创建数据库和用户:
./bin/psql -p 5432 foo
postgres=