说明
本文为自己配置单机版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环境变量
首先要让系统中有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
即可统一调高级别。