美文网首页
SparkSQL thrift server 搭建

SparkSQL thrift server 搭建

作者: scandly | 来源:发表于2018-09-12 13:09 被阅读0次

    spark的 thrift serve r和hive的hive server2类似,有了它之后,sparksql就可以直接用jdbc去连接

    是需要对外提供服务的,因此可以配置线程池最大连接数

    sparksql的源数据还是依赖hive的

    一.          前提条件

    启动hdfs集群

    start-all.sh

    192.168.4.31:50070

    启动hive的metastore服务

    node2上启动:

    service mysqld restart

    cd /opt/apache-hive-1.2.1-bin/bin

    ./hive --service metastore

    没反应就是启动成功

    ctrl +c

    再执行 ./hive --service metastore &

    等一会后,node1上执行,查看 hive 是否启动成功

    $ hive

    hive> show tables;

    OK

    node1 启动 spark 集群

    cd /opt/spark-2.1.0-bin-hadoop2.7/sbin

    ./start-all.sh

    http://192.168.4.31:8080/

    二.          安装配置

    node1 上

    cd /opt/spark-2.1.0-bin-hadoop2.7/conf

    cp /opt/apache-hive-1.2.1-bin/conf/hive-site.xml ./

    cd /opt/spark-2.1.0-bin-hadoop2.7/bin

    vim log4j.properties

    添加如下配置

    log4j.logger.org.apache.spark.sql.SQLContext=WARN

    log4j.logger.org.apache.spark.sql.catalyst.analysis.Analyzer=WARN

    log4j.logger.org.apache.spark=WARN

    log4j.logger.org.apache.spark.storage.BlockManagerMasterActor=WARN

    log4j.logger.org.apache.spark.HeartbeatReceiver=WARN

    log4j.logger.org.apache.spark.scheduler.local.LocalActor=WARN

    启动 sqarksql 的 client(我们用下面启动服务的方式,可以用 jdbc 连接)

    node1上 

    cd /opt/spark-2.1.0-bin-hadoop2.7/bin

    ./spark-sql --master spark://192.168.4.31:7077 --executor-memory 512m

    用这种方式可以直接 写 sql 语句

    select * from person;(虽然数据少,但spark 将它放在两个地方,所以有2个任务)

    select count(*) from person group by name; (shuffl 后是200个任务,原因是 sparksql 默认 shuffle后是启200个task)

    虽然shuffle后有200个任务,但实际并行跑的只有3个(也即并行度为3个),因为这个和你机器的核数有关,我们这里有3台虚拟机且配置的核心数都是1。

    cat spark-env.sh

    所以shuffle后的200个任务,要跑 200/3 = 67 次

    注意如果 加上limit 关键字就会秒出,不跑spark任务,会直接从本地文件里取

    vim hive-site.xml

    在spark的conf目录下配置hive-site.xml,添加配置:

    hive.server2.thrift.min.worker.threads

    5

    hive.server2.thrift.max.worker.threads

    500

    hive.server2.thrift.port

    10000

    hive.server2.thrift.bind.host

    spark1

    启动 spark thrift server 即把sparksql 启成一个服务

    node1 上

    cd /opt/spark-2.1.0-bin-hadoop2.7/sbin

    ./start-thriftserver.sh --master spark://192.168.4.31:7077 --executor-memory 512M

    cd /opt/spark-2.1.0-bin-hadoop2.7/bin

    ./beeline (稍等一会)

    beeline>!connect jdbc:hive2://spark1:10000

    用户名和密码都是空

    show tables;

    相关文章

      网友评论

          本文标题:SparkSQL thrift server 搭建

          本文链接:https://www.haomeiwen.com/subject/zejvgftx.html