一台伺服器搭建多個spark
1. 一台伺服器,部署多個項目
首先確定你需要在什麼模式下進行設置,一種是改變埠方法可以同時多個項目進行部署,一種是建立多個虛擬機,進行設置。
2. 一台伺服器一般最多搭建幾個網站
多少個網站這個沒研究過。好像可以開很多 。主要看看你的資料庫能最大開多少吧。還有取決於你的F配置。一台伺服器是公用一個IP。不是獨立的IP。通過這個IP,通過不同的賬號上傳到不同的文件夾。瀏覽不同的網站頁面。
3. 如何一個ip伺服器搭建多個網站
假定我如今用一台win2000伺服器供給虛擬主機服務,地址是192.168.1.10.在這台伺服器現已安裝了Internet服務即IIS6 如今公司請求網路辦理員在伺服器上運用一個IP為ABCD四個公司樹立獨立的網站,每個網站具有主機獨立的域名.四家網站域名別離為:
經過運用主機頭,站點只需一個IP地址即可保護多個站點。客戶能夠運用不一樣的域名訪問各自的站點,底子感受不到這些站點在同一主機上.
具體操作如下:
1.在win2003伺服器為四家公司樹立文件夾,做為WEB站點主目錄.如下:
WEB站點主目錄 WEB站點
d:weba A公司網站
d:webb B公司網站 bbs.b.com
d:webc C公司網站
d:webd D公司網站
2.運用WEB站點辦理導游,別離四家公司樹立獨立的WEB站點,四者最大的不一樣是運用了不一樣的主機頭名:
A公司站點 B公司站點 C公司站點 D公司站點
IP地址 192.168.1.10
TCP埠 80
許可權 讀取和運轉腳本
主機頭名
站點主目錄 d:weba d:webb d:webc d:webd
在DNS中將這四個域名注冊上,均指向同一地址:192.168.1.10.這么,客戶端就能夠經過:
3.每個站點的主機頭名能夠在WEB站點樹立導游中設置,它與站點的IP地址,TCP埠在同一屏上.也也許經過該站點->"特點"->"WEB站點"
4. 在linux上如何配置spark環境,在linux上安裝scala和spark老是失敗
方法/步驟
首先你的機器安裝了jdk,我的新機器,所以早上剛在centos上折騰了jdk,沒有的也可以去參考下
下載安裝包
scala-2.11.4.tgz
spark-1.2.0-bin-hadoop2.4.tgz
後面的包忘了之前哪找的了,需要的可以私我。將包傳到伺服器,解壓
tar zxvf scala-2.11.4.tgz
tar zxvf spark-1.2.0-bin-hadoop2.4.tgz
配置環境變數
vim /etc/profile
加上以下對應內容:
export JAVA_HOME=/home/yy/jdk1.8
export SCALA_HOME=/home/yy/scala
export SPARK_HOME=/home/yy/spark-1.2.0-bin-hadoop2.4
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin
執行source /etc/profile使配置生效
修改spark配置
進入spark-1.2.0-bin-hadoop2.4/conf
復制模板文件:
cp spark-env.sh.template spark-env.sh
cp slaves.template slaves
編輯spark-env.sh
添加上你的對應信息:
export JAVA_HOME=/home/yy/jdk1.8
export SCALA_HOME=/home/yy/scala
export SPARK_MASTER_IP=172.20.0.204
export SPARK_WORKER_MEMORY=2g
export HADOOP_CONF_DIR=/home/yy/spark-1.2.0-bin-hadoop2.4/conf
編輯slaves
添加上你的對應信息,所有的集群的機器:
172.20.0.204
172.20.0.205
到此為止,前面所有的安裝配置動作,在你的另一個機器上(所有的slave機器)同樣的做一遍,即我這里的205機器
進入spark-1.2.0-bin-hadoop2.4/sbin/目錄
執行:./start-all.sh
如果沒有設置ssh免密碼登陸,會要求輸入密碼
這時候jps查看多了個master和worker
瀏覽器查看集群信息
master地址+8080埠
啟動Running Applications
在bin目錄下執行:
MASTER=spark://172.20.0.204:7077 ./spark-shell
這時候就可以看到運行的app啦
同時可以查看jobs內容
slave機器上也運行app,這時候就可以看到運行的applications有兩個啦。
好了,環境就算先搭起來啦,後面就是去調用吧。
http://jingyan..com/article/7e440953308f122fc0e2ef81.html
5. 一台伺服器上能同時運行兩個資料庫伺服器嗎
1.
一台伺服器多個資料庫運行,是完全可以的。
2.
伺服器安裝資料庫,不僅可以一個資料庫服務,運行多個網站的庫。
3.
還可以在同一台伺服器,運行多個不同的數據服務。
4.
比如一個mysql,運行多個php站點,多個資料庫。
5.
而且還可以一台伺服器同時運行,mysql資料庫和sqlserver資料庫。
6. 如何構建第一個Spark項目代碼
操作系統
Window7/Mac
IDE
IntelliJ IDEA Community Edition 14.1.6
下載地址
JDK 1.8.0_65
下載地址
Scala 2.11.7
下載地址
其它環境
Spark:1.4.1
下載地址
Hadoop Yarn:Hadoop 2.5.0-cdh5.3.2
IDE項目創建
新建一個項目
New Project
使用Maven模型創建一個Scala項目
填寫自己的GroupId、ArtifactId,Version不需要修改,Maven會根據GroupId生成相應的目錄結構,GroupId的取值一般為a.b.c 結構,ArtifactId為項目名稱。之後點擊next,填寫完項目名稱和目錄,點擊finish就可以讓maven幫你創建Scala項目
項目創建完成後,目錄結構如下
4.為項目添加JDK以及Scala SDK
點擊File->Project Structure,在SDKS和Global Libraries中為項目配置環境。
至此整個項目結構、項目環境都搭建好了
編寫主函數
主函數的編寫在 projectName/src/main/scala/…/下完成,如果按照上述步驟完成代碼搭建,將在目錄最後發現
MyRouteBuild
MyRouteMain
這兩個文件為模塊文件,刪除MyRouteBuild,重命名MyRouteMain為DirectKafkaWordCount。這里,我使用Spark Streaming官方提供的一個代碼為實例代碼,代碼如下
package org.apache.spark.examples.streaming
import kafka.serializer.StringDecoder
import org.apache.spark.streaming._
import org.apache.spark.streaming.kafka._
import org.apache.spark.SparkConf
object DirectKafkaWordCount {
def main(args: Array[String]) {
if (args.length < 2) {
System.err.println("...")
System.exit(1)
}
//StreamingExamples.setStreamingLogLevels()
val Array(brokers, topics) = args
val sparkConf = new SparkConf().setAppName("DirectKafkaWordCount")
val ssc = new StreamingContext(sparkConf, Seconds(2))
// Create direct kafka stream with brokers and topics
val topicsSet = topics.split(",").toSet
val kafkaParams = Map[String, String]("metadata.broker.list" -> brokers)
val messages = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](
ssc, kafkaParams, topicsSet)
// Get the lines, split them into words, count the words and print
val lines = messages.map(_._2)
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x, 1L)).receByKey(_ + _)
wordCounts.print()
// Start the computation
ssc.start()
ssc.awaitTermination()
}
}
將代碼最上面的package org.apache.spark.examples.streaming,替換為DirectKafkaWordCount里的package部分即可。並覆蓋DirectKafkaWordCount文件。
至此Spark處理代碼已經編寫完成。
修改pom.xml,為項目打包做准備
pom.xml中編寫了整個項目的依賴關系,這個項目中我們需要導入一些Spark Streaming相關的包。
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka_2.10</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.10</artifactId>
<version>1.4.1</version>
</dependency>
<!-- scala -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.4</version>
</dependency>
除此之外,如果需要把相關依賴打包到最終JAR包中,需要在pom.xml的bulid標簽中寫入以下配置:
<plugins>
<!-- Plugin to create a single jar that includes all dependencies -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
pom.xml文件修改完成後,即可開始maven打包,操作如圖:
點擊右側彈出窗口的Execute Maven Goal,在command line中輸入clean package
Spark作業提交
在項目projectname/target目錄下即可找到兩個jar包,其中一個僅包含Scala代碼,另一個包含所有依賴的包。
將jar包導到Spark伺服器,運行Spark作業,運行操作如下
../bin/spark-submit –master yarn-client –jars ../lib/kafka_2.10-0.8.2.1.jar –class huochen.spark.example.DirectKafkaWordCount sparkExample-1.0-SNAPSHOT-jar-with-dependencies.jar kafka-broker topic
利用spark-submit把任務提交到Yarn集群,即可看到運行結果。
7. 如何在高效的在一台伺服器部署多個站點
在同一台伺服器里如何運行多個網站,提供WEB、FTP、Mail等服務。
工具/原料
虛擬主機
Apache Web服務軟體
方法/步驟
實現方法有三種: 1:IP的方法
①基於IP的方法: 在伺服器里綁定多個IP,然後配置WEB伺服器,把多個網站綁定在不同的IP上。訪問不同的IP,就看到不同的網站。
2:基於主機名的方法
②基於埠的方法: 一個IP地址,通過不同的埠實在不同網站的訪問。
3:基於埠方法。
③基於主機名的方法: 設置多個域名的A記錄,使它們解析到同一個IP地址上,即同一個伺服器上。然後,在伺服器上配置WEB服務端,添加多個網站,為每個網站設定一個主機名。因為HTTP協議訪問請求里包含有主機名信息,當WEB伺服器收到訪問請求時,就可以根據不同的主機名來訪問不同的網站。
三種虛擬主機實現的基本配置
①基於IP虛擬主機的實現: 多個ip,需要把中心主機取消 打開web服務的主配置文檔:vim /etc/httpd/conf/httpd.conf DocumentRoot 注釋掉 配置虛擬主機: DocumentRoot "/var/a/html" ServerName DocumentRoot "/var/ab/html" ServerName
vim /etc/hosts 192.168.1.100 192.168.1.101 瀏覽器中輸入IP地址進行實驗效果的驗證。
②基於埠: DocumentRoot "/var/a/html" ServerName
DocumentRoot "/var/ab/html" ServerName
③基於主機名: 開啟:NameVirtualHost 192.168.1.100:80 ServerAdmin DocumentRoot /var/a/html
ServerAdmin DocumentRoot /var/ab/html
8. spark處理數據如何用伺服器內存
RDD通過persist方法或cache方法可以將前面的計算結果緩存,但是並不是這兩個方法被調用時立即緩存,而是觸發後面的action時,該RDD將會被緩存在計算節點的內存中,並供後面重用。通過查看源碼發現cache最終也是調用了persist方法,默認的存儲級別都是僅在內存存儲一份,Spark的存儲級別還有好多種,存儲級別在object StorageLevel中定義的。緩存有可能丟失,或者存儲存儲於內存的數據由於內存不足而被刪除,RDD的緩存容錯機制保證了即使緩存丟失也能保證計算的正確執行。通過基於RDD的一系列轉換,丟失的數據會被重算,由於RDD的各個Partition是相對獨立的,因此只需要計算丟失的部分即可,並不需要重算全部Partition。
拓展資料:Spark是一種安全的、經正式定義的編程語言,被設計用來支持一些安全或商業集成為關鍵因素的應用軟體的設計。其通過運行用戶定義的main函數,在集群上執行各種並發操作和計算Spark提供的最主要的抽象,Spark的正式和明確的定義使得多種靜態分析技術在Spark源代碼的應用中成為可能。
9. 一台伺服器如何建兩個或多個網站
給兩個網站設不同的主機頭。當然。主機頭就是你的兩個不同的域名。如果怕他們沖突的話,將其中的一個網站的埠號改個不同的。網站默認的埠是80。隨便改個不同的就可以。