本文介绍如何在Ubuntu18.04上搭建Hadoop以及spark,供单机测试用。
准备包:
jdk-8u101-linux-x64.gz
hadoop-2.7.7.tar.gz
scala-2.11.8.tgz
spark-2.3.1-bin-hadoop2.7.tgz
搭建过程中没有必要使用root用户搭建,放在home文件夹下即可。
1.配置无密码登录本机
安装ssh服务,命令为:
sudo apt-get install openssh-server
trl+alt+T,打开终端
介入: ssh-keygen -t rsa -P ''
一路回车
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
测试:重启终端,介入:ssh localhost
无需输入密码为成功
2.Ctrl+alt+T,打开终端,介入“mkdir bigdata”,在家目录下创建一个BigData的文件夹,我们把上面的软件包全部移入此文件夹,便于以后管理。
3.解压各个软件包,如解压jdk,介入命令“tar -zxvf jdk-8u101-linux-x64.gz”,以此类推,解压各个包
4.同样是为了方便操作,我们将解压过后的jdk的包,hadoop的包,scala的包以及spark的包分别更名为:jdk1.8,hadoop2.7,scala2.11,以及spark2.3。
更名命令为:
mv "解压过后的包名" “新名”
5.配置环境变量
sudo vim ~/.bashrc (前提是已安装vim,安装命令为:sudo apt-get install vim)
在文件最后添加如下:
#java
export JAVA_HOME=/home/idiot/BigData/jdk1.8
export CLASSPATH=".:$JAVA_HOME/lib:$JAVA_HOME/jre/lib$CLASSPATH"
export PATH="$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/home/idiot/BigData/hadoop2.7/bin:$PATH"
#hadoop
export HADOOP_HOME=/home/idiot/BigData/hadoop2.7
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_ROOT_LOGGER=INFO,console
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
#spark
export SPARK_HOME=/home/idiot/BigData/spark2.3
export PATH=$SPARK_HOME/bin:$PATH
#scala
export SCALA_HOME=/home/idiot/BigData/scala2.11
export PATH=$SCALA_HOME/bin:$PATH
注意,这里的路径都是博主自己电脑上的路径,博主将更名后的包文件夹全部放在/home/idiot/BigData/中了,读者可根据自己解压的位置自行修改路径。
修改完后介入命令:
source ~/.bashrc
测试java版本
输入:java -version
出现:
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
为成功。
输入:scala -version
出现:
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL
为正常。
6.修改hadoop文件配置
进入hadoop2.7文件夹,再进入etc/hadoop文件夹,
1)该文件夹中如果没有“master”和“slaves”文件,创建即可,在这两个文件中写入“localhost”即可,注意没有双引号。
2)修改hadoop-env.sh文件:
找到“export JAVA_HOME=”一行,修改为:
export JAVA_HOME=/home/idiot/BigData/jdk1.8
注意,这里的java路径仍然是博主自己的路径,读者可修改为自己的java路径。保存退出。
3)修改core-site.xml文件:
4)修改hdfs-site.xml文件:
介入命令
cp mapred-site.xml.template mapred-site.xml
5)修改mapred-site.xml文件:
6)修改yarn-site.xml文件:
7.修改文件完成,更新,进入hadoop2.7文件中的bin目录下,介入命令:
hadoop namenode -format
8.启动hadoop,进入hadoop2.7文件夹sbin目录下,介入命令:
./start-all.sh
介入命令,jps,
出现:
27383 DataNode
27624 SecondaryNameNode
28075 NodeManager
28286 Jps
27790 ResourceManager
27183 NameNode
为正常。打开浏览器,输入:localhost:50070,出现HDFS网页界面,输入:localhost:8088,出现hadoop网页界面.
9.配置spark
进入spark2.3文件下的conf目录,
1)该文件夹中如果没有“master”和“slaves”文件,创建即可,在这两个文件中写入“localhost”即可,注意没有双引号
2)介入命令:
cp spark-env.sh.template spark-env.sh
修改spark-env.sh文件,在末尾添加如下信息:
export JAVA_HOME=/home/idiot/BigData/jdk1.8
export SCALA_HOME=/home/idiot/BigData/scala2.10
export HADOOP_HOME=/home/idiot/BigData/hadoop2.7
export HADOOP_CONF_DIR=/home/idiot/BigData/hadoop2.7/etc/hadoop
export SPARK_MASTER_IP=localhost
export SPARK_MASTER_HOST=localhost
export SPARK_LOCAL_IP=localhost
export SPARK_WORKER_MEMORY=5g
export SPARK_WORKER_CORES=3
export SPARK_HOME=/home/idiot/BigData/spark2.3
export SPARK_DIST_CLASSPATH=$(/home/idiot/BigData/hadoop2.7/bin/hadoop classpath)
读者根据自己机器的配置自行修改参数,路径。
10.启动spark,进入spark2.3文件夹下的sbin目录,介入命令:
./start-all.sh
启动完成,介入,jps
出现:
27383 DataNode
27624 SecondaryNameNode
29464 Jps
28075 NodeManager
29212 Master
29374 Worker
27790 ResourceManager
27183 NameNode
多了Master和Worker。打开网页,输入:localhost:8080,出现spark网页界面。
完毕
(注:所有红色标记的路径,用户要根据自己解压安装包的路径修改,不要复制。)