1. 程式人生 > >linux 安裝 jdk ,hadoop ,spark

linux 安裝 jdk ,hadoop ,spark

一、安裝環境

作業系統:Red Hat Enterprise Linux 6 64 位(版本號6.6)

JDK版本:1.8

工具:Xshell5、Xftp5

說明:本文是通過Xshell5工具遠端連線Linux操作,如果是直接在Linux視覺化介面操作那就更方便了,原理一樣。

二、安裝步驟

第一步:下載安裝包

下載Linux環境下的jdk1.8,請去(官網)中下載jdk的安裝檔案;

如下圖所示:

如果Linux本身連線到網際網路,我們可以直接通過wget命令直接把JDK安裝包下載下來,如圖所示:

要是沒有外網的環境,還是安裝上面的方法下載安裝包,然後上傳到伺服器當中

第二步、解壓安裝包

將我們下載好的JDK安裝包上傳到伺服器,解壓命令進行解壓

1 $ cd  /home/cmfchina
2 $ tar  -zxvf  jdk-8u131-linux-x64.tar.gz

解壓完成之後,可以在當前目錄下看到一個名字為【jdk1.8.0_131】的目錄,裡面存放的是相關檔案

我們要將解壓後的【jdk1.8.0_131】裡面的所有資料移動到我們需要安裝的資料夾當中,我們打算將jdk安裝在usr/java當中,我們在usr目錄下新建一個java資料夾

mkdir /usr/java

將【jdk1.8.0_131】裡的資料拷貝至java目錄下

mv /home/cmfchina/jdk1.8.0_131 /usr/java

第三步、修改環境變數

至此,我們最後需要修改環境變數,通過命令

vim /etc/profile

用vim編輯器來編輯profile檔案,在檔案末尾新增一下內容(按“i”進入編輯):

export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

如圖所示:

然後,儲存並退出(按  :wq! )

儲存完之後,我們還需要讓這個環境變數配置資訊裡面生效,要不然只能重啟電腦生效了。

通過命令 source /etc/profile 讓profile檔案立即生效,如圖所示

第四步、測試是否安裝成功

①、使用javac命令,不會出現command not found錯誤

②、使用java -version,出現版本為java version "1.8.0_131"

③、echo $PATH,看看自己剛剛設定的的環境變數配置是否都正確

如圖所示:

至此,安裝結束

下載Hadoop安裝檔案,這裡下載的是2.7.3版本

  1. wget http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz  

先解壓檔案:tar -xzvf hadoop-2.7.3.tar.gz

mv移動到建立的資料夾,然後 vim /etc/profile ,按 i 進行編輯。將如下配置到環境變數。

  1. export HADOOP_HOME=/usr/java/hadoop-2.7.3  
  2. export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH  
  3. export HADOOP_MAPRED_HOME=${HADOOP_HOME}  
  4. export HADOOP_COMMON_HOME=${HADOOP_HOME}  
  5. export HADOOP_HDFS_HOME=${HADOOP_HOME}  
  6. export YARN_HOME=${HADOOP_HOME}  

然後, 按 ESC 確認編輯完成,再  :wq! 儲存退出。

執行使其生效:source  /etc/profile

檢視$HADOOP_HOME/etc/hadoop/hadoop-env.sh檔案中,有關於$JAVA_HOME的正確定義。如果SSH服務不是監聽在22埠的話,新增如下行:export HADOOP_SSH_OPTS="-p 18921"。

編輯$HADOOP_HOME/etc/hadoop/core-site.xml檔案,加入如下內容:

  1. <configuration>  
  2.   <property>  
  3.     <name>fs.defaultFS</name>  
  4.     <value>hdfs://your_server_ip:9000</value>  
  5.   </property>  
  6. </configuration>  


編輯$HADOOP_HOME/etc/hadoop/hdfs-site.xml檔案:

  1. <configuration>  
  2.   <property>  
  3.     <name>dfs.replication</name>  
  4.     <value>1</value>  
  5.   </property>  
  6. </configuration>  


確保可以不用密碼登入:ssh -p 22000 localhost,這裡我的SSH服務啟動在22000埠,而不是預設的22埠。如果不能登入,則執行如下指令碼:

  1. $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  
  2. $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  
  3. $ chmod 0600 ~/.ssh/authorized_keys  


下面我們進入到$HADOOP_HOME目錄:

  1. bin/hdfs namenode -format  
  2. sbin/start-dfs.sh  


我們通過瀏覽器訪問:http://your_server_ip:50070可以看到HDFS namenode的管理介面,就證明這一步已經安裝成功了。

下面建立MapReduce的工作目錄,即建立HDFS上的目錄:

  1. bin/hdfs dfs -mkdir /user  
  2. bin/hdfs dfs -mkdir /user/yantao  
  3. # 將文字檔案拷貝到HDFS系統中  
  4. bin/hdfs dfs -mkdir /user/yantao/input  
  5. bin/hdfs dfs -put etc/hadoop/*.xml /user/yantao/input  
  6. # 執行例項  
  7. bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /user/yantao/input /user/yantao/output 'dfs[a-z. ]+'  
  8. # 將結果檔案取回本地  
  9. bin/hdfs dfs -get /user/yantao/output output  
  10. # 直接在HDFS中檢視  
  11. bin/hdfs dfs -cat /user/yantao/output/*  


下面我們來配置YARN叢集。我們首先配置MapReduce,編輯vim etc/hadoop/mapred-site.xml,內容如下:

  1. <configuration>  
  2.     <property>  
  3.         <name>mapreduce.framework.name</name>  
  4.         <value>yarn</value>  
  5.     </property>  
  6. </configuration>  


編輯vim etc/hadoop/yarn-site.xml,新增或修改如下內容:

  1. <configuration>  
  2.     <property>  
  3.         <name>yarn.nodemanager.aux-services</name>  
  4.         <value>mapreduce_shuffle</value>  
  5.     </property>  
  6.     <property>  
  7.         <name>yarn.nodemanager.env-whitelist</name>  
  8.         <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>  
  9.     </property>  
  10. </configuration>  

並將檔案中所有Mater:修改為本機IP地址。

完成上述操作後,我們可以啟動yarn:sbin/start-yarn.sh

此時訪問nodemanager介面:http://your_server_ip:8042

訪問resourcemanager介面:http://your_server_ip:8088

至此我們就完成了Hadoop偽分散式模式的安裝。下面就可以正式進入Spark的安裝了。

首先下載Spark安裝檔案,由於我們之前安裝的是hadoop 2.7.3,所以我們需要下載繫結hadoop 2.7以上版本的Spark:

wget http://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz

然後解壓:tar -xzvf spark-2.1.0-bin-hadoop2.7.tgz

進入spark目錄,拷貝Spark環境模板檔案為環境檔案:cp conf/spark-env.sh.template conf/spark-env.sh,然後新增如下內容:

  1. export SCALA_HOME=/root/dev/java/scala-2.12.1  
  2. export SPARK_WORKER_MEMORY=1g  
  3. export SPARK_MASTER_IP=your_server_ip  
  4. export MASTER=spark://your_server_ip:7077  
  5. # 如果SSH埠不是預設的22時加入下面行  
  6. export SPARK_SSH_OPTS="-p 22000"  


生成Slave檔案:cp conf/slaves.template conf/slaves。在這個檔案中加入Worker節點的名稱,由於這裡是偽分散式部署,所以只需要有localhost就可以了。

我們進入到$HADOOP_HOME目錄,啟動HADOOP:

  1. ./sbin/start-dfs.sh  
  2. ./sbin/start-yarn.sh  

然後進入$SPARK_HOME目錄,啟動Spark:./sbin/start-all.sh

至此Spark 2.1.0就已經完全安裝完成了。我們可以試驗一下安裝是否正確,進入到$SPARK_HOME目錄,執行求PI的例項:

  1. ./bin/run-example org.apache.spark.examples.SparkPi  

如果在輸出中可以獲得類似如下結果,就可以證明是正確的了:

我們還可以嘗試啟動Spark-shell:

./bin/spark-shell

如果出現如下圖所示介面,則證明是成功的:

我們可以通過:quit業退出這個介面。