1. 程式人生 > >SparkSQL ThriftServer配置及連線測試

SparkSQL ThriftServer配置及連線測試

一.ThriftServer介紹

ThriftServer是一個JDBC/ODBC介面,使用者可以通過JDBC/ODBC連線ThriftServer來訪問SparkSQL的資料。ThriftServer在啟動的時候,會啟動了一個sparkSQL的應用程式,而通過JDBC/ODBC連線進來的客戶端共同分享這個sparkSQL應用程式的資源,也就是說不同的使用者之間可以共享資料;ThriftServer啟動時還開啟一個偵聽器,等待JDBC客戶端的連線和提交查詢。所以,在配置ThriftServer的時候,至少要配置ThriftServer的主機名和埠,如果要使用hive資料的話,還要提供hive metastore的uris。

二.ThriftServer配置

1.基於hive的thrift server2服務的配置:
    比如監聽埠:  hive.server2.thrift.port=10000
          hive.server2.thrift.bind.host=localhost
      一般情況下,需要將hive.server2.thrift.bind.host改成具體的hostname
2.與SparkSQL一樣,需要進行hive的整合
3.啟動
    sbin/start-thriftserver.sh 
    http://hadoop-senior01:4040/sqlserver/
    sbin/stop-thriftserver.sh ## 關閉命令
4.連線測試

    bin/beeline 
    beeline> !connect jdbc:hive2://localhost:10000
    Connecting to jdbc:hive2://localhost:10000
    Enter username for jdbc:hive2://localhost:10000: hadoop
    Enter password for jdbc:hive2://localhost:10000: ******    
    bin/beeline
    beeline> !connect jdbc:hive2://localhost:10000 gerry 123456
bin/beeline -u jdbc:hive2://localhost:10000 -n gerry -p 123456

5.相關引數說明

    driver、url和hive的thriftserver2服務是完全一樣的,包括ssl許可權驗證相關引數
    url: jdbc:hive2://localhost:10000
    username、password:要求給定的username可以在hdfs進行資料操作,具有hdfs寫許可權

  作用:
     提供JDBC給其他應用使用,比如tableau、需要通過jdbc+spark的方式獲取hive資料的應用.........

  beeline
    https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients
    hive中提供的方式資料庫服務的工具,要求資料庫提供JDBC連線方式
    命令:!help檢視幫助資訊

6.測試beeline連線mysql

     將驅動新增到spark的classpath中
         bin/beeline
         beeline> !connect jdbc:mysql://localhost:3306/test root 123456