目录

一、前期环境配置

Hadoop单机环境搭建

Java环境搭建

二、Spark安装及相关配置

三、Hadoop及Spark安装报错


一、前期环境配置

Hadoop单机环境搭建

创建新用户hadoop

sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop #设置密码
sudo adduser hadoop sudo #增加用户权限

更新apt,下载vim

sudo apt-get update
sudo apt-get install vim

安装SSH,配置无密码登录

sudo apt-get install openssh-server
ssh localhost
exit                           # 退出刚才的 ssh localhost
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

Java环境搭建

jdk下载地址:链接: https://pan.baidu.com/s/1xrg-tk73T7U4RYRhBQ5UMg 提取码: bv8c

cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入hadoop用户的主目录
cd Downloads  #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u162-linux-x64.tar.gz上传到该目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下
cd /usr/lib/jvm
ls
cd ~
vim ~/.bashrc

添加如下内容

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使配置生效

source ~/.bashrc #使配置生效
java -version #检测是否安装成功

安装Hadoop

sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local    # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop            # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop       # 修改文件权限
cd /usr/local/hadoop
./bin/hadoop version #成功则输出版本信息

启动Hadoop

cd /usr/local/hadoop
./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格,启动hadoop
./sbin/stop-dfs.sh #关闭hadoop

二、Spark安装及相关配置

安装Spark:官方下载地址

linux搭建spark环境 linux安装spark_spark

相关配置修改

sudo tar -zxf ~/下载/spark-1.6.2-bin-without-hadoop.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-1.6.2-bin-without-hadoop/ ./spark
sudo chown -R hadoop:hadoop ./spark          # 此处的 hadoop 为你的用户名
cd /usr/local/spark #修改配置
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
vim ./conf/spark-env.sh

在env文件中插入

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
cd /usr/local/spark #测试是否安装成功
bin/run-example SparkPi 2>&1 | grep "Pi is" #出现下列截图即安装成功

linux搭建spark环境 linux安装spark_hadoop_02

三、Hadoop及Spark安装报错

问题1:ssh: Could not resolve hostname xxx

解决办法:在~/.bashrc中加入,修改完成后输入jps查看是否修改成功。

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

问题2:DataNode无法启动

解决办法:这种办法会损坏原有HDFS中数据

# 针对 DataNode 没法启动的解决方法
cd /usr/local/hadoop
./sbin/stop-dfs.sh   # 关闭
rm -r ./tmp     # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
./bin/hdfs namenode -format   # 重新格式化 NameNode
./sbin/start-dfs.sh  # 重启

问题3:Failed to find Spark jars directory.......You need to build the Spark with the package.......

解决办法:这里的Spark版本安装与Hadoop的安装版本不匹配,建议直接重新安装与Hadoop匹配的Spark版本。

四、Spark基础知识点

三大分布式计算系统:Spark.Hadoop.Storm
Spark生态系统:Spark Core;Spark Sql;Spark Streaming;Mllib;GraphX
RDD:弹性分布式数据集(共享内存模型),在内存中进行,管道化操作;
RDD执行过程:读入数据集(可以分为多个分区);一系列转换操作(惰性机制,只是记录转换的轨迹);进行动作操作,完成第二步的所有计算并输出到外部节点;
RDD优势:具有良好的容错机制;内存持久化;无需进行序列化和反序列化操作;
RDD依赖关系:窄依赖(一个父分区对一个孩子分区;多个RDD父分区对应一个孩子分区),宽依赖(一个父RDD一个分区对应一个子RDD多个分区);
Stage类型:ShuffleMapStage;ResultStage(没有输出,直接产生结果,至少含有1个);