日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何在集群上运行Shark

發布時間:2023/12/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在集群上运行Shark 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何在集群上運行Shark

本文介紹在計算機集群上如何啟動和運行Shark。如果對Amazon EC2上運行Shark感興趣,請點擊這里查看如何使用EC2腳本快速啟動預先配置好的集群。

依賴:

注意:Shark是一個即插即用的工具,所以可以在現有的Hive數據倉庫之上運行,不需要您對現有的部署做出任何修改。

在集群上運行Shark需要一下幾個外部組件:

  • Scala 2.9.3
  • Spark 0.7.2
  • 兼容的JAVA運行時環境:OpenJDK 7, Oracle HotSpot JDK 7,或者 Oracle HotSpot JDK 6u23+
  • Shark專用的 Hive JAR (基于Hive 0.9),包括在Shark發布包里。
  • HDFS 集群:在這里不介紹如何安裝,可以查看我的博文.

Scala

如果系統里沒有安裝Scala 2.9.3,可以按提示下載:

$ wget http://www.scala-lang.org/downloads/distrib/files/scala-2.9.3.tgz

$ tar xvfz scala-2.9.3.tgz

Spark

采用Spark的單獨部署模式運行Shark

部署細節:|http://spark-project.org/docs/latest/spark-standalone.html).也可以查看我翻譯的博文。

下載Spark:

$ wget http://spark-project.org/files/spark-0.7.2-prebuilt-hadoop1.tgz? # Hadoop 1/CDH3

或者

$ wget http://spark-project.org/files/spark-0.7.2-prebuilt-cdh4.tgz??? # Hadoop 2/CDH4

解壓縮:

$ tar xvfz spark-0.7.2-prebuilt*.tgz

編輯 spark-0.7.2/conf/slaves添加集群中Slaves的主機名稱,每一行對應一個Salve

編輯spark-0.7.2/conf/spark-env.sh設置SCALA_HOMESPARK_WORKER_MEMORY

export SCALA_HOME=/path/to/scala-2.9.3

export SPARK_WORKER_MEMORY=16g

SPARK_WORKER_MEMORY Spark在每一個節點上可用內存的最大,增加這個數值可以在內存中緩存更多的數據,但是一定要記住給Slave的操作系統和其他服務預留足夠的內存。

Shark

下載Shark 0.2.1發布包,里邊包括 shark-0.2.1hive-0.9.0-bin.

$ wget http://spark-project.org/download/shark-0.7.0-hadoop1-bin.tgz? # Hadoop 1/CDH3

或者

$ wget http://spark-project.org/download/shark-0.7.0-hadoop2-bin.tgz? # Hadoop 2/CDH4

解壓縮:

$ tar xvfz shark-0.7.0-*-bin.tgz

編輯shark-0.7.0/conf/shark-env.sh設置HIVE_HOME, SCALA_HOMEMASTER環境變量(參考如下):

export HADOOP_HOME=/path/to/hadoop

export HIVE_HOME=/path/to/hive-0.9.0-bin

export MASTER=spark://<MASTER_IP>:7077

export SPARK_HOME=/path/to/spark

export SPARK_MEM=16g

source $SPARK_HOME/conf/spark-env.sh

source命令通常用于重新執行剛修改的初始化文件,使之立即生效)

最后一行是為了避免重復設置SCALA_HOME。一定要確保SPARK_MEM的數值不能超過前面設置的SPARK_WORKER_MEMORY的數值.

如果是在現有的Hive上運行Shark,確定設置 HIVE_CONF_DIR (shark-env.sh文件中)指向你的配置文件夾.也可以,復制 Hive XML配置文件到Sharkhive-0.9.0-bin/conf配置文件夾內,比如:

cp /etc/hive/conf/*.xml /path/to/hive-0.9.0-bin/conf/

復制 Spark Shark目錄到所有的slaves.前提是master的用戶可以實現無密碼SSH登錄到所有的slaves.例如:

$ while read slave_host; do

$?? rsync -Pav spark-0.7.2 shark-0.7.0 $slave_host

$ done < /path/to/spark/conf/slaves

運行 Spark的集群啟動腳本,啟動集群:

$ cd spark-0.7.2

$ ./bin/start_all.sh

基于CDH4/Hadoop2配置Shark

The newest versions of require additional configuration options.

新版本的Hadoop需要額外的配置選項。在Hive的配置文件(hive-site.xml)中進行配置:

  • fs.default.name: 指向HDFS namenode.例如:hdfs://myNameNode:8020/
  • fs.defaultFS: fs.default.name設置為同樣值。
  • mapred.job.tracker:設置為JobTracker,格式為host:port。如果僅僅運行Spark可以設置為"NONE"。注意:一定要明確設置這個選項,即使不使用JobTracker.

測試

使用如下命令,啟動Shark

$ ./bin/shark-withinfo

關于Spark單獨模式的更多腳本細節參考這里。

To verify that Shark is running, you can try the following example, which creates a table with sample data:

使用下面的命令,創建一個簡單的表格就可以確認一下Shark是否可以運行。

CREATE TABLE src(key INT, value STRING);

LOAD DATA LOCAL INPATH '${env:HIVE_HOME}/examples/files/kv1.txt' INTO TABLE src;

SELECT COUNT(1) FROM src;

CREATE TABLE src_cached AS SELECT * FROM SRC;

SELECT COUNT(1) FROM src_cached;

更詳細的學習Shark,可以查看官方網站的用戶指南。

?

總結

以上是生活随笔為你收集整理的如何在集群上运行Shark的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。