麦粉社区
>
帖子详情

大数据源-Smartbi通过JDBC方式连接SparkSQL

数据连接 发表于 2019-11-21 14:07
发表于 2019-11-21 14:07:53
Hive是支持JDBC方式连接的,因为它自带了一个Thrift Server。
这个Thrift Server是FaceBook开发的一个接口,可以让程序通过ODBC、JDBC的方式连接。
同样的,SparkSQL也自带了这个Thrift Server,所以SparkSQL也可以通过JDBC的方式连接,用来访问Hive里面建好的表的数据。
操作步骤如下:
第一步:启动SparkSQL中自带的Thrifter Server
1、从hive的安装目录下,找到conf/hive-site.xml文件,拷贝到Spark所有节点的安装目录下conf文件夹;
2、如果hive的元数据存储是用mysql的话,那么还需要把mysql的jdbc包放到Spark所有节点的安装目录下的jars目录(低版本的是lib目录);
3、启动Thrift server,在spark安装目录下执行:
内网连接:
sbin/start-thriftserver.sh --master spark://10.9.2.100:7077  --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
   
外网连接:
sbin/start-thriftserver.sh   --hiveconf hive.server2.thrift.port=10000  --hiveconf hive.server2.thrift.bind.host=hadoop-master     --master spark://10.9.2.100:7077  --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar

        采用spark on yarn的方式
        sbin/start-thriftserver.sh  --hiveconf hive.server2.thrift.port=10000 --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar --master yarn --driver-cores 2 --driver-memory 2G --executor-cores 2 --executor-memory 2G --num-executors 8

其中:
spark://10.9.2.100:7077:是Spark的master地址,根据需要修改
/usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar:是mysql的jdbc的jar包的路径,根据需要修改
--hiveconf hive.server2.thrift.port=10000:端口是10000,如果跟hive的端口冲突了,可以根据需要修改
4、启动完成后,用jps命令,可以看到一个SparkSubmit的进程
5、用beeline连接测试一下是否OK,用法如下(IP地址和端口根据需要修改):
cd spark的安装目录/bin
[hadoop@node1 bin]$ ./beeline -u [url=]jdbc:hive2://192.168.1.26:10000/default -n hadoop[/url]
0: [url=]jdbc:hive2://192.168.1.26:10000/default[/url]> show databases;
0: [url=]jdbc:hive2://192.168.1.26:10000/default[/url]> show tables;
0: [url=]jdbc:hive2://192.168.1.26:10000/default[/url]> !quit

第二步:用Smartbi连接SparkSQL
1、把Thrift Server相关的jar包放到smartbi的lib目录下,从spark安装目录下的jars目录找到需要以下jar包:
hive-beeline-1.2.1.spark2.jar
hive-cli-1.2.1.spark2.jar
hive-exec-1.2.1.spark2.jar
hive-jdbc-1.2.1.spark2.jar
hive-metastore-1.2.1.spark2.jar
spark-hive_2.11-2.1.0.jar
spark-hive-thriftserver_2.11-2.1.0.jar
spark-network-common_2.11-2.1.0.jar
libfb303-0.9.2.jar
libthrift-0.9.2.jar
httpclient-4.5.2.jar
httpcore-4.4.4.jar
hadoop-common-2.7.3.jar

同时删除smartbi自带的httpclient-4.2.5.jar、httpcore-4.2.5.jar

2、重启Smartbi
3、新建数据源时,填写以下信息:
数据源类型:hadoop_hive
Driver:org.apache.hive.jdbc.HiveDriver
URL:[url=]jdbc:hive2://122.23.368.32:10000/default[/url]
用户:hadoop
密码:一般默认是空

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 0关注人数 3639浏览人数
最后回复于:2019-11-21 14:07
快速回复 返回顶部 返回列表