資源描述:
《hiveonspark安裝配置詳解》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、HiveonSpark安裝配置詳解本文章來自于阿里云云棲社區(qū)摘要:?本文主要記錄如何安裝配置HiveonSpark,并列舉遇到的坑及解決辦法??蛇M入我的博客(原文鏈接:http://linbingdong.com/2016/10/10/Hive%20on%20Spark%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3/?spm=5176.100239.blogcont72228.9.Qn7zSh)查看原文。簡介本文主要記錄如何安裝配置HiveonSpark,在執(zhí)行以下步驟之前,請先確保已經(jīng)安
2、裝Hadoop集群,Hive,MySQL,JDK,Scala,具體安裝步驟不再贅述。背景Hive默認使用MapReduce作為執(zhí)行引擎,即Hiveonmr。實際上,Hive還可以使用Tez和Spark作為其執(zhí)行引擎,分別為HiveonTez和HiveonSpark。由于MapReduce中間計算均需要寫入磁盤,而Spark是放在內(nèi)存中,所以總體來講Spark比MapReduce快很多。因此,HiveonSpark也會比Hiveonmr快。為了對比HiveonSpark和Hiveonmr的速度,需要在已經(jīng)安裝了Hadoop集群的機器上安裝Spark集群
3、(Spark集群是建立在Hadoop集群之上的,也就是需要先裝Hadoop集群,再裝Spark集群,因為Spark用了Hadoop的HDFS、YARN等),然后把Hive的執(zhí)行引擎設置為Spark。Spark運行模式分為三種1、SparkonYARN2、StandaloneMode3、SparkonMesos。HiveonSpark默認支持SparkonYARN模式,因此我們選擇SparkonYARN模式。SparkonYARN就是使用YARN作為Spark的資源管理器。分為Cluster和Client兩種模式。一、環(huán)境說明本教程Hadoop相關軟件
4、全部基于CDH5.5.1,用yum安裝,系統(tǒng)環(huán)境如下:·操作系統(tǒng):CentOS7.2·Hadoop2.6.0·Hive1.1.0·Spark1.5.0·MySQL5.6·JDK1.8·Maven3.3.3·Scala2.10各節(jié)點規(guī)劃如下:192.168.117.51Goblin01nn1jn1rm1workermasterhivemetastoremysql192.168.117.52Goblin02zk2nn2jn2rm2workerhive192.168.117.53Goblin03zk3dn1jn3workerhive192.168.117.
5、54Goblin04zk4dn2workerhive說明:Goblin01~04是每臺機器的hostname,zk代表zookeeper,nn代表hadoop的namenode,dn代表datanode,jn代表journalnode,rm代表resourcemanager,worker代表Spark的slaves,master代表Spark的master二、編譯和安裝Spark(SparkonYARN)2.1編譯Spark源碼要使用HiveonSpark,所用的Spark版本必須不包含Hive的相關jar包,hiveonspark的官網(wǎng)上說“Not
6、ethatyoumusthaveaversionofSparkwhichdoesnotincludetheHivejars”。在spark官網(wǎng)下載的編譯的Spark都是有集成Hive的,因此需要自己下載源碼來編譯,并且編譯的時候不指定Hive。我們這里用的Spark源碼是spark-1.5.0-cdh5.5.1版本,下載地址如下:http://archive.cloudera.com/cdh5/cdh/5/spark-1.5.0-cdh5.5.1-src.tar.gz下載完后用tarxzvf命令解壓,進入解壓完的文件夾,準備編譯。注意:編譯前請確保已
7、經(jīng)安裝JDK、Maven和Scala,maven為3.3.3及以上版本,并在/etc/profile里配置環(huán)境變量。命令行進入在源碼根目錄下,執(zhí)行./make-distribution.sh--name"hadoop2-without-hive"--tgz"-Pyarn,hadoop-provided,hadoop-2.6,parquet-provided"若編譯過程出現(xiàn)內(nèi)存不足的情況,需要在運行編譯命令之前先運行:exportMAVEN_OPTS="-Xmx2g-XX:MaxPermSize=512M-XX:ReservedCodeCacheSiz
8、e=512m"來設置Maven的內(nèi)存。編譯過程由于要下載很多Maven依賴的jar包,需要時間較長(大概一兩