Spark中ThriftServer、HiveServer2、MetaStore、Beeline之间的关系

前言:在实际大数据分析项目中,使用 SparkSQL 时,往往启动一个 SparkThriftserver 服务,分配较多资源(Executor数目和内存、CPU),不同的用户启动客户端比如 beeline 连接它,编写SQL语句分析数据,方便集中管理。

至于关系嘛,如图所示:

        注意上方“红框的 hiveserver2 架构”和“绿框的 Spark Thriftserver 架构”中间有一些东西是重叠共用的。


  • 首先需要启动 hive 的 metastore 服务。
    nohup /export/server/hive/bin/hive --service metastore  2>&1 > /tmp/hive-metastore.log &
  • metastore 进程会占用 9083 端口。
  • Spark Thriftserver 不需要 启动hiveserver2 进程
  • 启动Spark的thriftserver服务。
  • 注意不要选取10000端口,因为10000端口通常作为 hiveserver2 进程的端口。比如选用10001
  • 如果在企业中可以申请很多资源。比如向 yarn 申请200C:
    /export/server/spark/sbin/start-thriftserver.sh \
    --hiveconf hive.server2.thrift.port=10001 \
    --hiveconf hive.server2.thrift.bind.host=node1 \
    --master yarn \
    --num-executors 50 \
    --executor-cores 4 \
    --executor-memory 12G \
  • 此处如果自测练习,就少一点:
    SPARK_HOME=/export/server/spark
    $SPARK_HOME/sbin/start-thriftserver.sh \
    --hiveconf hive.server2.thrift.port=10001 \
    --hiveconf hive.server2.thrift.bind.host=node1.itcast.cn \
    --master local[2]
  • 启动客户端 beeline 去连接上面的 Spark Thriftserver。
  • 进入 beeline 客户端:
    /export/server/spark/bin/beeline
    #进入后
    !connect jdbc:hive2://node1:10001​
  • 连接数据库需要用户名和密码,就是 Linux 的用户名和密码。
  • 如果不输入用户名和密码,则是以匿名用户 anonymous 登录的,后期有时写表数据时会权限不足。
  • 最好用 root 和密码登录,不会有权限限制问题。
  • 也可以在 Pycharm 中配置客户端连接 Spark 的 thriftserver 服务。
  • 如何查看mestore进程是否占用了9083端口号?
    • 先[ jps ]或[ ps -ef | grep 关键词] 得到进程号。
    • 再 netstat -antp | grep 进程号,返回端口号。
  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Spark SQL是一个用于处理结构化数据的模块,它提供了一种基于SQL的编程接口,可以让用户使用SQL语句来查询数据。ThriftServerSpark SQL的一个组件,它提供了一个基于Thrift协议的服务,可以让用户通过网络连接到Spark SQL,并使用SQL语句来查询数据。Beeline是一个用于连接到ThriftServer的命令行工具,它可以让用户通过命令行界面来执行SQL语句。 使用ThriftServerBeeline可以让用户通过网络连接到Spark SQL,并使用SQL语句来查询数据。首先需要启动ThriftServer,可以使用以下命令: ``` ./sbin/start-thriftserver.sh ``` 启动成功后,可以使用Beeline连接到ThriftServer,可以使用以下命令: ``` ./bin/beeline -u jdbc:hive2://localhost:10000 ``` 连接成功后,就可以使用SQL语句来查询数据了。例如,可以使用以下命令查询表格: ``` SELECT * FROM table_name; ``` 使用ThriftServerBeeline可以方便地查询Spark SQL的数据,特别是在需要远程访问数据时非常有用。 ### 回答2: ThriftServer(又称HiveServer2)和Beeline都是Spark SQL常用的工具,用于连接和操作Spark SQLThriftServer是一个支持Hive/Spark SQL的服务,它允许用户通过多种编程语言(如Java、Python等)来访问和查询数据。ThriftServer通过Thrift协议提供了基于网络的服务,允许远程客户端连接到Spark集群并执行Spark SQL查询。ThriftServer可以通过配置来启用或禁用Kerberos身份验证,以实现安全连接。 Beeline是一个基于命令行的工具,它是HiveSpark SQL的原生客户端。可以使用Beeline连接到ThriftServer,并通过命令行界面执行Spark SQL查询。Beeline支持多种连接方式,例如通过JDBC连接到ThriftServer、通过Kerberos进行身份验证等。用户可以通过Beeline执行SQL语句、管理数据库、查看查询结果等。 使用ThriftServerBeeline的步骤如下: 1. 首先,确保Spark集群已经启动,并且ThriftServer已经启动。可以通过spark-sqlspark-sql2启动ThriftServer,默认情况下会监听端口10000。 2. 使用Beeline连接到ThriftServer。可以通过命令beeline -u jdbc:hive2://hostname:port进行连接,其hostname是ThriftServer所在的主机名或IP地址,port是ThriftServer监听的端口号。此外,还需要提供用户名和密码进行身份验证。 3. 连接成功后,可以在Beeline执行SQL语句。输入SQL语句后,按下回车键即可执行。查询结果会显示在命令行界面上。还可以使用Beeline提供的命令来管理数据库、查看表、导入导出数据等操作。 ThriftServerBeeline的使用简单而方便,能够有效地连接和操作Spark SQL。它们为用户提供了一种灵活的方式来查询和管理数据,便于开发人员和数据分析师使用Spark SQL进行数据处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奇迹虎虎

客官,赏个银子吧,别下次一定了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值