安裝Hadoop及Spark(Ubuntu 16.04)
安裝JDK
下載jdk(以jdk-8u91-linux-x64.tar.gz爲例)
新建文件夾
sudo mkdir /usr/lib/jvm
解壓下載的jdk文件並移動到新建的文件夾下
sudo tar -xzvf jdk-8u91-linux-x64.tar.gz -C /usr/lib/jvm
進入jvm文件夾並重命名解壓出來的文件夾
cd /usr/lib/jvm
sudo mv jdk1.8.0_91 jdk添加環境變量
sudo vim /etc/profile# 添加如下配置export JAVA_HOME=/usr/lib/jvm/jdkexport CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
使配置生效
source /etc/profile
測試
java -version
安裝Scala
類似於jdk的安裝
下載scala(以scala-2.11.8.tgz爲例)
解壓下載的scala文件
sudo tar -xzvf scala-2.11.8.tgz -C /usr/local
重命名
cd /usr/localsudo mv scala-2.11.8 scala
添加環境變量
sudo vim /etc/profile# 在最後添加下面內容export SCALA_HOME=/usr/local/scalaexport PATH=$SCALA_HOME/bin:$PATH
使配置生效
source /etc/profile
測試
scala -version
安裝Hadoop
Spark默認使用HDFS充當持久化層,所以需要安裝Hadoop,當然也可以不安裝
參考
安裝
安裝ssh
sudo apt install openssh-server
配置ssh無密登陸
ssh-keygen -t rsa # 一直回車cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
測試ssh無密登陸
ssh localhost # 如果不提示輸入密碼則配置成功
下載Hadoop(以hadoop-2.7.2.tar.gz爲例)
解壓
sudo tar -xzvf hadoop-2.7.2.tar.gz -C /usr/local
重命名
cd /usr/localsudo mv hadoop-2.7.2 hadoop
修改權限
cd /usr/localsudo chown -R yourusername:yourusername hadoop
配置環境變量
sudo vim /etc/profile# 在最後添加下面代碼export HADOOP_HOME=/usr/local/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
測試
hadoop version
Hadoop僞分佈式配置
修改配置文件
core-site.xml
cd /usr/local/hadoop
vim ./etc/hadoop/core-site.xml# 修改爲如下<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>修改配置文件
hdfs-site.xml
cd /usr/local/hadoop
vim ./etc/hadoop/hdfs-site/xml# 修改爲如下<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-env.sh
cd /usr/local/hadoop
vim ./etc/hadoop/hadoop-env.sh# 將 export JAVA_HOME=${JAVA_HOME} 更改爲:export JAVA_HOME=/usr/lib/jvm/jdk執行NameNode格式化
hdfs namenode -format
運行
start-dfs.sh
測試
jps
有如下幾個進程
5939 Jps5636 DataNode5493 NameNode5814 SecondaryNameNode
通過瀏覽器查看
在瀏覽器中輸入一下地址:
localhost:50070
配置YARN
修改配置文件
mapred-site.xml
cd /usr/local/hadoop
cp ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
vim ./etc/hadoop/mapred-site.xml# 修改爲如下配置<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property></configuration>修改配置文件
yarn-site.xml
cd /usr/local/hadoop
vim ./etc/hadoop/yarn-site.xml# 修改爲以下配置<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property></configuration>編寫啓動腳本
#!/bin/bash# 啓動hadoopstart-dfs.sh# 啓動yarnstart-yarn.sh# 啓動歷史服務器,以便在Web中查看任務運行情況mr-jobhistory-daemon.sh start historyserver
編寫停止腳本
#!/bin/bash# 停止歷史服務器mr-jobhistory-daemon.sh stop historyserver# 停止yarnstop-yarn.sh# 停止hadoopstop-dfs.sh
通過 Web 界面查看任務的運行情況
瀏覽器中輸入地址:
localhost:8088
安裝Spark
下載spark(以spark-2.0.0-bin-hadoop2.7.tgz爲例)
解壓下載的spark文件
sudo tar -zxf spark-2.0.0-bin-hadoop2.7.tgz -C /usr/local
重命名
cd /usr/localsudo mv spark-2.0.0-bin-hadoop2.7 spark
添加環境變量
sudo vim /etc/profile# 在最後添加下面內容export SPARK_HOME=/usr/local/sparkexport PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
修改一下權限
cd /usr/localsudo chown -R yourusername:yourusername ./spark
拷貝配置文件
cd /usr/local/spark
cp ./conf/spark-env.sh.template ./conf/spark-env.sh修改配置文件
cd /usr/loca/spark
vim ./conf/spark-env.sh# 添加下面一行export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export JAVA_HOME=/usr/lib/jvm/jdk運行簡單示例
/usr/local/spark/bin/run-example SparkPi 2>&1 | grep "Pi is roughly"
啓動Spark
/usr/local/spark/sbin/start-all.sh
編寫腳本
啓動Hadoop以及Spark
#!/bin/bash# 啓動Hadoop以及yarnstart-dfs.sh
start-yarn.sh# 啓動歷史服務器mr-jobhistory-daemon.sh start historyserver# 啓動Spark/usr/local/spark/sbin/start-all.sh停止Hadoop以及Spark
#!/bin/bash# 停止Sparkstop-dfs.sh
stop-yarn.sh# 停止歷史服務器mr-jobhistory-daemon.sh stop historyserver# 停止Hadoop以及yarn/usr/local/hadoop/sbin/stop-all.sh通過WEB頁面查看
瀏覽器中輸入地址:
localhost:8080