標籤:hadoop spark jdk
??目前手上只有一個機器,就先拿來練下手(事先伺服器上沒有安裝軟體)嘗試一下Spark的單機部署。
??幾個參數:
??JDK-1.7+
??Hadoop-2.6.0(偽分布式);
??Scala-2.10.5;
??Spark-1.4.0;
??下面是具體的配置過程
安裝JDK 1.7+
【下載網址】http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下載安裝scala-2.10.5
【下載網址】http://www.scala-lang.org/download/2.10.5.html
下載對對對應的壓縮包
$ tar -zxf scala-2.10.5.tgz$ sudo mv scala-2.10.5 /usr/local
配置環境變數:
export SCALA_HOME=/usr/local/scala-2.11.4
export PATH=$SCALA_HOME/bin:$PATH
更新啟動環境變數
source /etc/profile
測試scala安裝是否成功
$ scala -version
【親測】安裝Hadoop(需要修改Hadoop的情況下,手動編譯)
【安裝Hadoop的參考網址】http://qindongliang.iteye.com/blog/2222145
【最終選擇】安裝Hadoop(無需修改Hadoop時直接下載編譯好的Hadoop檔案)
- 安裝(下載已經編譯好的hadoop-2.6.0.tar.gz)
【下載網址】http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/
- 解壓安裝在
/usr/local/
- 改名為hadoop,即最終路徑:
/usr/local/hadoop下同。
單機部署Hadoop(偽分布式)
- Hadoop 的設定檔位於
/usr/local/hadoop/etc/hadoop/ 中(很多的xml檔案),偽分布式需要修改2個設定檔 core-site.xml 和 hdfs-site.xml。
- 修改設定檔 core-site.xml (vim /usr/local/hadoop/etc/hadoop/core-site.xml)
將當中的
<configuration></configuration>
修改為下面配置:
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property></configuration>
<configuration><property> <name>dfs.replication</name> <value>1</value></property><property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>
【注意】不說明的話都是目錄的起始位置都是:hadoop/
- 配置完成後,執行 namenode 的格式化:
bin/hdfs namenode -format
成功的話,會看到successfully formatted的提示,且輸出資訊的倒數第5行的提示如下,Exitting with status 0 表示成功,若為 Exitting with status 1 則是出錯。若出錯,可試著加上 sudo, 既 sudo bin/hdfs namenode -format 再試試看。
- 開啟NameNode、DataNode守護進程
sbin/start-dfs.sh
【注意】若你使用的是 Hadoop 2.4.1 64位,則此時可能會出現一連串的warn提示,如 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 這個提示,這些warn提示可以忽略,不會影響正常使用。
- 查看進程
輸入jps即可
成功啟動則會列出如下進程: NameNode、DataNode和SecondaryNameNode
- Hadoop-webUI
在瀏覽器中輸入http://localhost:50070(localhost或者是伺服器ip)
【注意】如無法訪問,先檢查防火牆是否是關閉狀態(應當是關閉狀態)。
- 注意(配置過程中遇到)
在這一步以及後面啟動 Hadoop 時若提示 Error: JAVA_HOME is not set and could not be found. 的錯誤,則需要在檔案 hadoop/etc/hadoop/hadoop-env.sh 中設定 JAVA_HOME 變數,即找到 export JAVA_HOME=${JAVA_HOME} 這一行,改為 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 (就是之前設定的JAVA_HOME位置),再重新嘗試即可。
- 關閉NameNode、DataNode守護進程
sbin/stop-dfs.sh
單機部署Spark
- 下載
wget http://archive.apache.org/dist/spark/spark-1.4.0/spark-1.4.0-bin-hadoop2.6.tgz
- 解壓並修改名字為spark
- 環境變數
export SPARK_HOME=/usr/local/sparkexport PATH=$PATH:$SPARK_HOME/bin
- 配置Spark環境變數
cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
添加如下代碼:
export JAVA_HOME=/usr/java/latestexport HADOOP_HOME=/usr/local/hadoopexport HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoopexport SCALA_HOME=/usr/local/scala-2.10.5export SPARK_HOME=/usr/local/sparkexport SPARK_MASTER_IP=127.0.0.1export SPARK_MASTER_PORT=7077export SPARK_MASTER_WEBUI_PORT=8099export SPARK_WORKER_CORES=3export SPARK_WORKER_INSTANCES=1export SPARK_WORKER_MEMORY=10Gexport SPARK_WORKER_WEBUI_PORT=8081export SPARK_EXECUTOR_CORES=1export SPARK_EXECUTOR_MEMORY=1G#export SPARK_CLASSPATH=/opt/hadoop-lzo/current/hadoop-lzo.jar#export SPARK_CLASSPATH=$SPARK_CLASSPATH:$CLASSPATHexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native
- 配置Slave
cp slaves.template slaves
vim slaves
添加以下代碼(預設就是localhost):
localhost
- 因為是單機ssh免登陸不再贅述
- 啟動Spark Master
目錄:cd $SPARK_HOME/sbin/
./start-master.sh
- 啟動Spark Slave
目錄:cd $SPARK_HOME/sbin/
./start-slaves.sh(注意是slaves)
- 啟動Spark-shell(application)
./spark-shell –master spark://127.0.0.1:7077
- Spark-webUI
http://localhost:8099(localhost或者是伺服器ip)
如下所示:
- 關閉master和slave
目錄:cd $SPARK_HOME/sbin/
./stop-master.sh
./stop-slaves.sh
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Spark-1.4.0單機部署(Hadoop-2.6.0採用偽分布式)【已測】