ubuntu16.04下安装hadoop+spark单机版

说明
本文为自己配置单机版hadoop和spark的过程记录,仅供参考,因环境和版本问题,方法可能会有不同。
如有错误,欢迎批评指正。

下载

hadoop: http://hadoop.apache.org/releases.html#Download
spark: http://spark.apache.org/downloads.html
scala:  http://www.scala-lang.org/download/all.html
// 注意选择版本2.11及以上,如果spark是2.0之后的话

解压放置到需要的位置。

提示:以下路径有的因电脑而异,请替换成自己电脑中的路径。

Hadoop

java环境变量

ref: http://www.linuxidc.com/Linux...

首先要让系统中有JAVA_HOME环境变量。如果之前没有配置,需要手动进行配置。

sudo gedit /etc/environment

改成这样:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

保存后source一下立即生效:

source /etc/environment

为了避免重启失效,需要配置所有用户的环境变量:

sudo gedit /etc/profile

加入如下内容:

#set Java environment
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使之生效:

source /etc/profile

JAVA_HOME配置没有问题以后,可以进入hadoop安装路径的bin中,终端到此路径,执行

./hadoop

如果出现提示,说明已经可以使用。

将hadoop/bin也加入环境变量

这样以后可以直接在任意位置使用hadoop命令进行启动,无需先cd。

sudo gedit ~/.bashrc

在最后加入:

# hadoop
export PATH=${JAVA_HOME}/bin:/home/anthony/hadoop/bin:$PATH

使之生效:

source ~/.bashrc

在任意路径下的终端输入 hadoop, 如果配置ok的话,可以直接出现提示。

运行word count示例

cd到hadoop的share/hadoop/mapreduce目录下,试一试自带的word count。

cd /home/anthony/hadoop/share/hadoop/mapreduce

先在某位置建立一个文件夹input,放一点文本文档在里面,可以放多几个。然后执行以下命令:

hadoop jar hadoop-mapreduce-examples-2.8.2.jar wordcount ~/hadoop/input ~/hadoop/output
// 后两个参数为输入文件位置和输出位置,输出位置似乎不能预先存在此output文件夹。

如果执行成功,会输出一堆提示,最终生成part-r-00000和_SUCCESS等文件。

Scala

解压scala到相应位置,配置一下路径即可。

sudo gedit ~/.bashrc

追加:

# scala
export SCALA_HOME=/home/anthony/scala/
export PATH=${SCALA_HOME}/bin:${JAVA_HOME}/bin:$PATH

source一下:

source ~/.bashrc

在任意位置,命令输入 scala,如果可以进入,说明配置成功。

Spark

解压到指定位置即可,然后设置一下环境变量。

sudo gedit ~/.bashrc

在末尾追加以下内容:

# spark
export SPARK_HOME=/home/anthony/spark/
export PATH=${SPARK+HOME}/bin:$PATH

source一下使之生效。
在任意目录打开终端,输入命令测试:

spark-shell

如果可以找到命令,而且进入sprk shell,则说明配置是ok的。

Spark shell会输出较多日志,如果不希望看到太多日志,可以调高日志的等级,默认输出INFO及以上级别的日志。1+1

找到spark/conf/, 把目录中的log4j.properties.template 复制一份并删掉后面的.template,然后编辑:

其中有一句

# Set everything to be logged to the console
log4j.rootCategory=INFO, console

改成:

# Set everything to be logged to the console
log4j.rootCategory=WARN, console

即可统一调高级别。

相关推荐