spark standalone+kafka 集群搭建

準(zhǔn)備工作:

三臺機(jī)器:

? ? ?192.168.222.129

? ? ?192.168.222.130

? ? ?192.168.222.131

操作系統(tǒng):CentOS release 6.7 (Final)

軟件版本:

? ? ? ? ? kafka:kafka_2.10-0.10.0.0.tar.gz

? ? ? ? ? java:jdk1.8.0_91

? ? ? ? ? scala:scala-2.10.6

? ? ? ? ? spark:spark-1.6.1-bin-cdh4.tar.gz

1.三臺機(jī)器上,都添加hosts

192.168.222.129 spark129

192.168.222.130 spark130

192.168.222.131 spark131

2.安裝kafka

? 1) 安裝包解壓到/usr/local/kafka_2.10-0.10.0.0

? 2) 進(jìn)入config目錄下偎快,修改zookeeper.properties文件

tickTime=2000

dataDir=/data/zookeeper/

clientPort=2181

initLimit=5

syncLimit=2

server.1=spark129:2888:3888

server.2=spark130:2888:3888

server.3=spark131:2888:3888

? 3).在dataDir目錄/data/zookeeper/下寫一個(gè)myid文件聂薪,命令如下:

echo1>myid

? ?這個(gè)id是zookeeper的主機(jī)標(biāo)識呼股,每個(gè)機(jī)器都不一致,依次為1,2,3

4).依次啟動3臺機(jī)器的zookeeper败京,構(gòu)成一個(gè)集群

sh zookeeper-server-start.sh --daemon ../config/zookeeper.properties

5).修改kafka配置,進(jìn)入到/usr/local/kafka_2.10-0.10.0.0/config 下修改

server.properties

broker.id=1

port=9092

host.name=spark129

zookeeper.connect=spark129:2181,spark130:2181,spark131:2181

log.dirs=/data/kafka/log/

5).依次啟動三臺機(jī)器的kafka?

./kafka-server-start.sh -daemon ../config/server.properties

3.安裝spark

? 1) 三個(gè)節(jié)點(diǎn)上創(chuàng)建spark用戶

? ? ? ? useradd spark

? ? ? ? passwd ?spark

? 2) 安裝java和scala 并配置環(huán)境變量

? 3)每臺機(jī)器配置ssh無密碼登錄

yum install -y openssh-server

ssh-keygen -t rsa -P ''

ssh-copy-id spark129

ssh-copy-id spark130

ssh-copy-id spark131

? 4)解壓spark到/usr/local/spark-1.6.1-bin-cdh4

? 5)配置spark的環(huán)境變量?

cd /home/spark ?

vim ~/.bash_profile

export SPARK_HOME=/home/spark/spark-1.6.1-bin-cdh4

export PATH=.:$SPARK_HOME/bin:$PATH

source ~/.bash_profile

6)配置spark

首先新建好spark用到的目錄(使用root用戶梦染,只有這里使用root用戶赡麦,每臺機(jī)):

$ mkdir /data?????????????????? //存儲數(shù)據(jù)的總目錄

$ mkdir /data/spark????????????????? //spark數(shù)據(jù)存儲主目錄

$ mkdir /data/spark/local?????? //spark存儲本地?cái)?shù)據(jù)的目錄

$ mkdir /data/spark/log????????? //spark存儲日志的目錄

$ mkdir /data/spark/work????? //spark存儲worker日志等信息的目錄

$ chmod -R 777 /data/??????????? //將/data目錄權(quán)限設(shè)置為最大

6) 配置spark-env.sh

Spark-env.sh文件中配置了spark運(yùn)行時(shí)的一些環(huán)境、依賴項(xiàng)以及master和slaver的資源配置帕识。

$ cd spark????????????? //進(jìn)入spark目錄

$ cp conf/spark-env.sh.template conf/spark-env.sh????????????? //將spark-env.sh.template復(fù)制一份為spark-env.sh

因?yàn)槲覀兪遣渴餾tandalone模式泛粹,可以參考配置文件中注釋項(xiàng)的提示:

添加以下內(nèi)容:

配置項(xiàng)

說明

SPARK_LOCAL_IP= spark129?本機(jī)ip或hostname(不同主機(jī)配置不同)

SPARK_LOCAL_DIRS=/data/spark/local?配置spark的local目錄

SPARK_MASTER_IP= spark129?master節(jié)點(diǎn)ip或hostname

SPARK_MASTER_WEBUI_PORT=8080?web頁面端口

SPARK_WORKER_CORES=2?Worker的cpu核數(shù)

SPARK_WORKER_MEMORY=8g?worker內(nèi)存大小

SPARK_WORKER_DIR=/data/spark/work?worker目錄

export SPARK_MASTER_OPTS="-Dspark.deploy.defaultCores=4"?spark-shell啟動使用核數(shù)

export SPARK_WORKER_OPTS="-Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.appDataTtl=604800"?worker自動清理及清理時(shí)間間隔

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://systex/user/spark/applicationHistory"?history server頁面端口、備份數(shù)肮疗、log日志在HDFS的位置(注意晶姊,需要在HDFS上新建對應(yīng)的路徑)

SPARK_LOG_DIR=/data/spark/log?配置Spark的log日志目錄

export JAVA_HOME=/usr/local/jdk/?配置java路徑

export SCALA_HOME=/usr/local/scala/?配置scala路徑

export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop?配置hadoop的lib路徑

export HADOOP_CONF_DIR=/etc/hadoop/conf?配置hadoop的配置路徑


7) ?配置spark-defaults.conf

Spark-default.conf文件中主要配置的是與在spark上運(yùn)行任務(wù)有關(guān)的一些參數(shù),以及對executor等的配置伪货。

添加以下內(nèi)容:

配置項(xiàng)

說明

spark.eventLog.enabled? true?eventLog是否生效(建議開啟们衙,可以對已完成的任務(wù)記錄其詳細(xì)日志)

spark.eventLog.compress? true?eventLog是否啟用壓縮(cpu性能好的情況下建議開啟,以減少內(nèi)存等的占用)

spark.eventLog.dir???? hdfs://systex/user/spark/applicationHistory?eventLog的文件存放位置碱呼,與spark-env.sh中的history server配置位置一致

spark.broadcast.blockSize?????? 8m?廣播塊大小

spark.executor.cores??? 1?Executor的cpu核數(shù)

spark.executor.memory?? 512m?Executor的內(nèi)存大小

spark.executor.heartbeatInterval??????? 20s?Executor心跳交換時(shí)間間隔

spark.files.fetchTimeout??????? 120s?文件抓取的timeout

spark.task.maxFailures? 6?作業(yè)最大失敗次數(shù)(達(dá)到此次數(shù)后蒙挑,該作業(yè)不再繼續(xù)執(zhí)行,運(yùn)行失斢尥巍)

spark.serializer??????? org.apache.spark.serializer.KryoSerializer?設(shè)置序列化機(jī)制(默認(rèn)使用java的序列化忆蚀,但是速度很慢,建議使用Kryo)

spark.kryoserializer.buffer.max???????? 256m?序列化緩沖大小

spark.akka.frameSize??? 128?Akka調(diào)度幀大小

spark.default.parallelism??? 20?默認(rèn)并行數(shù)

spark.network.timeout?? 300s?最大網(wǎng)絡(luò)延時(shí)

spark.speculation?????? true?Spark推測機(jī)制(建議開啟)

8) ?配置slaves

在conf目錄下有slaves文件姑裂,在其中配置slaves的hostname

$ cp conf/slaves.template conf/slaves

$ vim conf/slaves

添加各個(gè)slave節(jié)點(diǎn)的hostname:

至此馋袜,我們就將spark需要配置的東西全部配置完成,將spark整個(gè)目錄復(fù)制到其他主機(jī):

在相應(yīng)的主機(jī)創(chuàng)建對應(yīng)的spark軟鏈接舶斧,并將spark-env.sh中SPARK_LOCAL_IP改為對應(yīng)的ip即可欣鳖。

9)啟動spark并測試(spark用戶)

現(xiàn)在我們啟動spark,在master節(jié)點(diǎn)執(zhí)行以下命令:

$ cd /home/spark/spark

$ ./sbin/start-all.sh??????????????????? //啟動master和slaves

$ ./sbin/start-history-server.sh??????? //啟動history server

使用jps命令查看是否成功啟動:

檢查進(jìn)程是否啟動【在master節(jié)點(diǎn)上出現(xiàn)“Master”捧毛,在slave節(jié)點(diǎn)上出現(xiàn)“Worker”】

## 監(jiān)控頁面URL http:// 192.168.222.129:8080/

運(yùn)行spark-pi:

spark-submit? --master spark://10.47.110.38:7077 --classorg.apache.spark.examples.SparkPi --name Spark-Pi?/home/spark/spark/lib/spark-examples-1.6.0-hadoop2.6.0.jar

能看到如下結(jié)果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末观堂,一起剝皮案震驚了整個(gè)濱河市让网,隨后出現(xiàn)的幾起案子呀忧,更是在濱河造成了極大的恐慌,老刑警劉巖溃睹,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件而账,死亡現(xiàn)場離奇詭異,居然都是意外死亡因篇,警方通過查閱死者的電腦和手機(jī)泞辐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門笔横,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咐吼,你說我怎么就攤上這事吹缔。” “怎么了锯茄?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵厢塘,是天一觀的道長。 經(jīng)常有香客問我肌幽,道長晚碾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任喂急,我火速辦了婚禮格嘁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘廊移。我一直安慰自己糕簿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布狡孔。 她就那樣靜靜地躺著冶伞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪步氏。 梳的紋絲不亂的頭發(fā)上响禽,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音荚醒,去河邊找鬼芋类。 笑死,一個(gè)胖子當(dāng)著我的面吹牛界阁,可吹牛的內(nèi)容都是我干的侯繁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼泡躯,長吁一口氣:“原來是場噩夢啊……” “哼贮竟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起较剃,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤咕别,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后写穴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惰拱,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年啊送,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了偿短。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欣孤。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖昔逗,靈堂內(nèi)的尸體忽然破棺而出降传,到底是詐尸還是另有隱情,我是刑警寧澤勾怒,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布搬瑰,位于F島的核電站,受9級特大地震影響控硼,放射性物質(zhì)發(fā)生泄漏泽论。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一卡乾、第九天 我趴在偏房一處隱蔽的房頂上張望翼悴。 院中可真熱鬧,春花似錦幔妨、人聲如沸鹦赎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽古话。三九已至,卻和暖如春锁施,著一層夾襖步出監(jiān)牢的瞬間陪踩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工悉抵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肩狂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓姥饰,卻偏偏與公主長得像傻谁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子列粪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容