thrift的源碼
① spark thrift server 與 網易 kyuubi thrift server
thrift server可以實現通過jdbc, beeline等工具,實現連接到spark集群,並提交sql查詢的機制。
默認情況下,cdh安裝的spark沒有包含thrift server模塊,因此我們需要重新編譯spark。
另外,為了不影響cdh自帶的spark,而且spark目前都是基於yarn運行的,本身也沒有什麼獨立的服務部署(除了history sever)。
所以,在一個集群中,可以部署安裝多個版本的spark。
我們使用源碼編譯的spark 2.4.0(其中hive的版本是1.2.1)
cdh集成的spark版本和Hive版本如下:
使用jdk1.8
修改spark提供的mvn,使用自行安裝的maven 3.8.1
使用make-distribution.sh可以幫助與我們編譯之後打包成tgz文件
修改pom.xml文件的配置如下。
最後,執行編譯命令如下:
這樣打出的包,就含有thrift server的jar包了。
最終打包文件,根目錄下。
之後就是解壓到其他目錄下後即可。
將hive-site.xml的文件連接過來,這樣spark就可以讀取hive的表了。
為了確保spark提交到yarn上運行,需要配置
cp spark-defaults.conf.template spar-defaults.conf
另外,可以在spark-env.sh中設置環境變數。
HADOOP_CONF_DIR
環境變數,也可以在/etc/profile中設置
啟動日誌可以查看,注意下埠佔用問題,如下。
啟動時候,使用beeline工具連接上,主要這里不用使用cdh默認安裝hive提供的beeline工具,應為版本太高。
使用編譯後spark生成beeline工具
參考beeline使用教程。
https://github.com/apache/incubator-kyuubi
kyuubi是基於thrift sever二次開發,在系能和安全上優於thrift server。
鑒於目前hive的版本是2.1,而最新的kyuubi的hive是2.3,所以採用前天版本的kyuubi,採用0.7版本,保證hive的版本小於當前集群中的hive版本。
使用build目錄下的dist腳本進行編譯和打包。
編譯成功後,會在更目錄下出現tar.gz的壓縮文件,如上圖。
之後解壓到目錄下。
配置bin/kyuubi-env.sh腳本,設置spark路徑
執行bin/start-kyuubi.sh命令即可。
訪問的方式同樣採用beelin,注意使用上面章節的beeline工具。
訪問後,可以通過beeline訪問到hive的表(在spark中已經配置了hive-site.xml)
!connect jdbc: hive2://xxxx:10009 即可。
② 關於php學習,哪個網站資料比較合適
做PHP相關工作已經有7年了,如果是初學者,推薦有兩個PHP100、PHP CHINA.
PHP100
-------------
PHP100中文網是國內第一家以PHP資源分享為主的專業網站,也提供了PHP中文交流社區。面向PHP學習研究者提供:最新PHP資訊、原創內容、開源代碼和PHP視頻教程等相關內容。
PHP100中的100個視頻,雖然看著有點多,但是如果想入門的話,10幾個視頻就可以了,這裡面不僅有入門的教程,還有中階、高階的教程,完全可以把你從一個什麼都不懂的PHP菜鳥,變成PHP的使用高手。
介紹php開發環境,讓您快速搭建您的工作環境,測試環境,開始PHP的編程之旅;php開發工具
,工欲善其事必先利其器,IDE,資料庫管理,版本控制等等,稱心..,帶你進行PHP語言開發,手把手在視頻教程中教你如何開發一個留言板功能,學會這些,你就可以入門了。
當然如果遇到問題怎麼辦,PHP100還有一個技術論壇,分類也很全,不僅包含PHP技術相關的內容,還包含PHP相關的好多技術語言,例如linux、apache、mysql、javascript、ajax等等。
PHP CHINA
----------------
之所以推薦這個,是因為,N年前我自己就是在這里進行過培訓的學員,也是深受益處,還有個很出名的開源論壇也是出自這里的,Discuz! ,這里不僅有學習相關的資料,也可以報名進行培訓,還可以學習Discuz!相關的源碼。
當然這里也有一個屬於自己的論壇,裡面有一部分人都是初學者,都是在這里做培訓的學員,所以會看到很多初級的問題,也可以提一些基礎問題,很多人會幫你解答。
當然別的地方也會有很多資料很全的網站,以上兩個只是個人推薦,希望對你有幫助
③ 如何在windows下安裝openstack的依賴包
本文主要講述在windows系統中如何安裝openstack源代碼的依賴包,以便於在windows操作系統下進行源碼閱讀。為了可以在windows下閱讀openstack源碼,首先我們需要在windows系統下安裝python2.7。安裝好後將python目錄配置到系統的環境變數中(我的電腦->屬性->高級->環境變數)。可以在命令行輸入echo %PATH%觀察系統其值是否發生了變化。如果發生了變化可以繼續安裝pip。如果沒有包括python的路徑則需要注銷電腦,重新登陸或者重啟電腦。
為了完成pip的安裝,首先需要安裝setuptools,下載完成後解壓,然後使用命令行進入到解壓後的目錄,輸入pythonsetup.py install進行安裝。安裝完成後就可以下載pip進行安裝了,其安裝過程與setuptools一樣。在pip安裝完成後,需要修改Path環境變數,將python目錄下的Scripts添加進環境變數。然後參考上一段的做法激活環境變數後就可以使用pip方面地安裝擴展包了。
在完成上面的操作後就可以安裝openstack源代碼中所需要的擴展包的。其安裝命令主要是pip installrequirements.txt 或者pip install-r tools/requirements。至於執行哪個命令要根據openstack組件的源代碼結構而定。
下面主要說明安裝過程可能出現的問題。
1)distutils.errors.DistutilsError: Setup script exited with error:Unable to find vcvarsall.bat
注意:系統可能需要安裝vs2008,因為windows python以來vc++ 2008版本的。
2)UnicodeDecodeError:'ascii' codec can't decode byte 0xb2 in position 0: ordinal not in range
3)以下這些擴展包需要手動安裝或者下載安裝,不能使用pip安裝
A.pyOpenSSL
B.lxml
C.cffi
D.pycparser
E.thrift
F.mysql-python