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版本
- 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 進行編輯。將如下配置到環境變數。
- export HADOOP_HOME=/usr/java/hadoop-2.7.3
- export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
- export HADOOP_MAPRED_HOME=${HADOOP_HOME}
- export HADOOP_COMMON_HOME=${HADOOP_HOME}
- export HADOOP_HDFS_HOME=${HADOOP_HOME}
- 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檔案,加入如下內容:
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://your_server_ip:9000</value>
- </property>
- </configuration>
編輯$HADOOP_HOME/etc/hadoop/hdfs-site.xml檔案:
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- </configuration>
確保可以不用密碼登入:ssh -p 22000 localhost,這裡我的SSH服務啟動在22000埠,而不是預設的22埠。如果不能登入,則執行如下指令碼:
- $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
- $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- $ chmod 0600 ~/.ssh/authorized_keys
下面我們進入到$HADOOP_HOME目錄:
- bin/hdfs namenode -format
- sbin/start-dfs.sh
我們通過瀏覽器訪問:http://your_server_ip:50070可以看到HDFS namenode的管理介面,就證明這一步已經安裝成功了。
下面建立MapReduce的工作目錄,即建立HDFS上的目錄:
- bin/hdfs dfs -mkdir /user
- bin/hdfs dfs -mkdir /user/yantao
- # 將文字檔案拷貝到HDFS系統中
- bin/hdfs dfs -mkdir /user/yantao/input
- bin/hdfs dfs -put etc/hadoop/*.xml /user/yantao/input
- # 執行例項
- bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /user/yantao/input /user/yantao/output 'dfs[a-z. ]+'
- # 將結果檔案取回本地
- bin/hdfs dfs -get /user/yantao/output output
- # 直接在HDFS中檢視
- bin/hdfs dfs -cat /user/yantao/output/*
下面我們來配置YARN叢集。我們首先配置MapReduce,編輯vim etc/hadoop/mapred-site.xml,內容如下:
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
編輯vim etc/hadoop/yarn-site.xml,新增或修改如下內容:
- <configuration>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- <property>
- <name>yarn.nodemanager.env-whitelist</name>
- <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
- </property>
- </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,然後新增如下內容:
- export SCALA_HOME=/root/dev/java/scala-2.12.1
- export SPARK_WORKER_MEMORY=1g
- export SPARK_MASTER_IP=your_server_ip
- export MASTER=spark://your_server_ip:7077
- # 如果SSH埠不是預設的22時加入下面行
- export SPARK_SSH_OPTS="-p 22000"
生成Slave檔案:cp conf/slaves.template conf/slaves。在這個檔案中加入Worker節點的名稱,由於這裡是偽分散式部署,所以只需要有localhost就可以了。
我們進入到$HADOOP_HOME目錄,啟動HADOOP:
- ./sbin/start-dfs.sh
- ./sbin/start-yarn.sh
然後進入$SPARK_HOME目錄,啟動Spark:./sbin/start-all.sh
至此Spark 2.1.0就已經完全安裝完成了。我們可以試驗一下安裝是否正確,進入到$SPARK_HOME目錄,執行求PI的例項:
- ./bin/run-example org.apache.spark.examples.SparkPi
如果在輸出中可以獲得類似如下結果,就可以證明是正確的了:
我們還可以嘗試啟動Spark-shell:
./bin/spark-shell
如果出現如下圖所示介面,則證明是成功的:
我們可以通過:quit業退出這個介面。