1. 程式人生 > >spark叢集搭建與叢集上執行wordcount程式

spark叢集搭建與叢集上執行wordcount程式

Spark 配置

1、master 機器

Spark 配置

進入 Spark 安裝目錄下的 conf 目錄, 拷貝 spark-env.sh.template 到 spark-env.sh。

	cp spark-env.sh.template spark-env.sh

編輯 spark-env.sh,在其中新增以下配置資訊:
export SCALA_HOME=/opt/scala-2.11.8
export JAVA_HOME=/opt/java/jdk1.7.0_80
export SPARK_MASTER_IP=192.168.109.137
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/hadoop-2.6.4/etc/hadoop


JAVA_HOME 指定 Java 安裝目錄; 
SCALA_HOME 指定 Scala 安裝目錄; 
SPARK_MASTER_IP 指定 Spark 叢集 Master 節點的 IP 地址; 
SPARK_WORKER_MEMORY 指定的是 Worker 節點能夠分配給 Executors 的最大記憶體大小; 
HADOOP_CONF_DIR 指定 Hadoop 叢集配置檔案目錄。 

將 slaves.template 拷貝到 slaves, 編輯其內容為:

1 2 3 master slave01 slave02

即 master 既是 Master 節點又是 Worker 節點。

2、slave機器

slave01 和 slave02 參照 master 機器安裝步驟進行安裝。

啟動 Spark 叢集

1、啟動 Hadoop 叢集

此處不再詳細介紹,可以參考hadoop叢集搭建

2、啟動 Spark 叢集

(1) 啟動  Master 節點

執行 start-master.sh,結果如下:

可以看到 master 上多了一個新程序 Master。


(2) 啟動所有 Worker 節點

執行 start-slaves.sh, 執行結果如下:


在 master、slave01 和 slave02 上使用 jps 命令,可以發現都啟動了一個 Worker 程序


(3) 瀏覽器檢視 Spark 叢集資訊。

地址      master:8080

3、停止 Spark 叢集

1、停止 Master 節點

執行 stop-master.sh 來停止 Master 節點。


使用 jps 命令檢視當前 java 程序

可以發現 Master 程序已經停止。


2、停止 Worker 節點

執行 stop-slaves.sh 可以停止所有的 Worker 節點


使用 jps 命令檢視 master、slave01、slave02 上的程序資訊:

可以看到, Worker 程序均已停止,最後再停止 Hadoop 叢集。



PS:貼python版wordcount程式
import logging
import time
from operator import add

from pyspark import SparkContext,SparkConf
conf=SparkConf()
conf.setMaster("spark://ckx:7077")
conf.setAppName("test application7")



test_file_name = "hdfs://ckx:9000/user/hadoop/test/kk.txt"
out_file_name = "hdfs://ckx:9000/user/hadoop/spark-out9"
starttime=time.time()
# Word Count  
sc=SparkContext(conf=conf)
# text_file rdd object  
text_file = sc.textFile(test_file_name)
# counts  
counts = text_file.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)
counts.saveAsTextFile(out_file_name)
endtime=time.time()
print(endtime-starttime)


相關推薦

spark叢集搭建叢集執行wordcount程式

Spark 配置 1、master 機器 Spark 配置 進入 Spark 安裝目錄下的 conf 目錄, 拷貝 spark-env.sh.template 到 spark-env.sh。 cp spark-env.sh.template spark-e

偽分散式的搭建(YARN執行MapReduce 程式

偽分散式的搭建(YARN上執行MapReduce 程式) 1.啟動叢集 1.1在當前目錄下 1.2確保NameNode和DataNode已經啟動 1.3啟動ResourceManager 1.4啟動NodeManager

Spark叢集搭建並驗證環境是否搭建成功(三臺機器)

在之前hadoop的基礎上,進行Spark分散式叢集: (1)下載Spark叢集需要的基本軟體,本篇需要的是:Scala-2.10.4、spark-1.4.0-bin-hadoop (2)安裝Spar

spark叢集搭建mysql元資料管理

找個spark叢集搭建是針對於上一篇hadoop的基礎上搭建的。 所以spark的版本也是要按照著hadoop版本進行下載。 1.解壓spark,修改spark的/etc/profile的home目錄。 2.安裝SCALA,並配置SCALA_HOME。 3.修改spar

Redis叢集搭建維護

一、概述     Redis3.0版本之後支援Cluster. 二、redis cluster安裝     1、下載和解包 cd /usr/local/ wget http://download.redis.io/releases/re

MongoDB叢集搭建java程式碼操作MongoDB示例

MongoDB叢集搭建與java程式碼操作MongoDB示例 MongoDB叢集搭建過程 java使用MongoDB叢集Demo MongoDB叢集搭建過程 1. MongoDB Replica set叢集搭建準備(主從仲裁) 介

Hadoop叢集搭建經驗總結

(002)最近要研發一款資料傳輸服務的產品需要用到Hadoop叢集,之前搭建過後來長時間不用就給忘記了,這次搭好來記錄一下搭建方法與經驗總結 Hadoop叢集的搭建 原料: VM虛擬機器 JDK1.8 hadoop2.7.3 注:將jdk1.8.ta

阿里雲Kubernetes實戰1–叢集搭建服務暴露

前言: 考慮到公司持續整合與docker容器技術實施已有一段時間,取得了不錯的效果,但對於裝置運維、系統隔離、裝置利用率和擴充套件性還有待提升,綜合目前比較成熟的微服務技術,打算把現有業務遷移到K8S叢集。 由於公司所有業務均部署在阿里雲上,最開始就調研了阿里雲自己提供的Kubernetes叢集,但後來還

hadoop叢集-zk的leader執行bin/hdfs zkfc –formatZK錯誤

前提:hadoop叢集安裝 在zk的leader上執行 :bin/hdfs zkfc –formatZK。出現錯誤: 解決辦法:手動敲擊上命令。bin/hdfs zkfc -formatZK (可能的問題是複製的空格或者 - 不一樣) 錯誤的內容: 18/07/14 23:14:40

redis cluster叢集搭建深入分析(1)

對於之前所講的master+slave進行讀寫分離同時通過sentinel叢集保障高可用的架構,對於一般的資料量系統已經足夠。但是對於資料量龐大的T級別的資料,單master可能就無法滿足橫向擴充套件的場景。所以redis cluster支援多master

Solr學習(三)SolrCloud叢集搭建建立Collection

1、什麼是SolrCloud SolrCloud是Solr提供的分散式搜尋方案,當你需要大規模,容錯,分散式索引和檢索能力時使用 SolrCloud。當一個系統的索引資料量少的時候是不需要使用SolrCloud的,當索引量很大,搜尋請求併發很高,這時需要使用SolrCloud來滿足這些需求。

JavaEE進階——Redis叢集搭建快取實現

一、Redis簡介 ​ Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Re

Linux Redis叢集搭建簡單使用

介紹安裝環境與版本 用兩臺虛擬機器模擬6個節點,一臺機器3個節點,創建出3 master、3 salve 環境。 redis 採用 redis-3.2.4 版本。 兩臺虛擬機器都是 CentOS ,一臺 CentOS6.5 (IP:192.168.3

codis3.2.1叢集搭建測試

Codis是一套用go語言編寫的,為了應對高並環境下的redis叢集軟體,原理是對一個redis key操作前,先把這個key通過crc32演算法,分配到不同redis的某一個slot上,實現併發讀寫功能.而且能通過zookeeper呼叫redis-sentinel來實現故障

Linux下Redis叢集搭建測試

叢集搭建 準備條件 一臺已經配置好Redis服務的虛擬機器,地址為: 192.168.2.100:6379 克隆6臺,使用命令nmtui修改地址分別為: 192.168.2.101 192.168.2.102 192.168.2.103 1

Redis 叢集搭建連線

1.Redis 安裝 2.Redis 叢集介紹 2.1 redis-cluster架構圖 edis-cluster把所有的物理節點對映到[0-16383]slot上,cluster 負責維護node<->slot<->value Re

Docker1.7安裝及swarm叢集搭建介紹

Linux centos7上安裝Docker1.7: 開啟頁面:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/,執行以下命令 wget https://download.docker.c

MyEclipse 打包到hadoop叢集執行MR程式提示ClassNotFoundException的兩種原因

今天寫MR程式,原來用TextInputFormat改為用KeyValueTextInputFormat類提交到hadoop上一直提示ClassNotFoundException的異常。 百思不得其解,後來檢視原始碼時發現沒有KeyValueTextInputFormat的

Redis的叢集搭建Redisspring整合

叢集: 高可用,滿足高併發, 把資料分佈在不同的節點上,提高單個節點的效能 1.redis叢集 架構細節: (1)所有的redis節點彼此互聯(PING-PONG機制),內部使用二進位制協議優化傳輸

Postgresql叢集搭建PostGIS安裝

目錄 Postgresql叢集搭建手冊 一、軟體安裝預先準備工作 二、Postgresql安裝 (附帶PostgreGIS安裝) 2.1 potgresql安裝 2.2 postgres常見錯誤說明 三、PostgreGIS安裝 postGIS 四.Pos