Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2

Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2

对比参照此博文bovenson

前言:因为安装的Hadoop、Scale是基于JAVA的应用程序,所以必须先安装JDK。Spark是利用scale语言搭建,因此安装完jdk还需要安装scale才能让spark跑起来。

一、安装JDK

下载jdk,点击下载

因为接下来安装的Hadoop版本是3.0所以这里安装1.8JDK

Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2

用户权限限制我们可以切换到root账户执行以下操作

l  新建一个文件夹存放jvm相关文件

sudo mkdir /usr/lib/jvm

l  解压下载的jdk文件并移动到jvm下

cd /usr/lib/jvm

sudo tar xzvf jdk-8u161-linux-x64.tar.gz

修改文件夹名jdk1.8.0_161-> jdk1.8

l  修改系统环境变量

sudo gedit ~/.bashrc

l  在文件底部追加

#JDK1.8

export JAVA_HOME=/usr/lib/jvm/jdk1.8  #目录要换成自己解压的jdk 目录

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

l  追加成功后保存,使环境变量立即生效

source ~/.bashrc

l  验证jdk是否安装成功

java -version

二、配置SSH免密登录

首先安装配置SSH

原因:不配置SSH免密登录,每次请求流程比较繁琐。客户机在与远程机进行交互时要进行三次才能登录:第一步请求远程机第二步远程机返回公钥第三步客户机使用密码+公钥加密后登录,这样导致每次都需要输入密码。

配置的ssh免密码登录后:客户机直接发送公钥到远程机,远程机发送随机字符串到客户机,客户机使用私钥加密传给远程机,远程机使用公钥加密后判断是否正确。

客户机掌握公钥和私钥,并且不再需要密码登录的方式成为ssh免密登录。

检测是否已经配置ssh

ssh -version

l  获取并安装ssh

sudo apt install openssh-server

l  配置ssh免密登录

ssh-keygen -t rsa   # 一直回车

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

l  测试ssh无密登陆

ssh localhost  # 如果不提示输入密码则配置成功

Are you sure you want to continue connecting (yes/no)? yes输入yes将不再需要密码

l  重启ssh服务

sudo /etc/init.d/ssh restart

 

三、安装Hadoop3

下载hadoop-linux-3.0.0.tar.gz至/usr/local/lib/hadoop3

l  解压压缩包

cd /usr/local/hadoop3

sudo tar xzvf hadoop-linux-3.0.0.tar.gz

l  添加环境变量

sudo gedit /etc/profile

在文件末尾添加

#Hadoop 3

export HADOOP_HOME=/usr/local/hadoop3  ##解压安装目录

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_YARN_HOME=$HADOOP_HOME

export HADOOP_INSTALL=$HADOOP_HOME

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_CONF_DIR=$HADOOP_HOME

export HADOOP_PREFIX=$HADOOP_HOME

export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

export HDFS_DATANODE_USER=root

export HDFS_DATANODE_SECURE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export HDFS_NAMENODE_USER=root

l  立即生效

source /etc/profile

l  测试Hadoop

hadoop version

此时,如果出现警告WARNING: HADOOP_PREFIX has been replaced by HADOOP_HOME. Using value of HADOOP_PREFIX.

直接在/etc/profile 可以将HADOOP_HOME改为HADOOP_PREFIX

Hadoop配置修改

l  配置hdfs端口和地址,临时文件存放地址

sudo gedit /usr/local/hadoop3/etc/hadoop/core-site.xml

打开后修改配置文件

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop3/hadoop/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

</configuration>

注释:localhost主机名,可以通过以下方式修改主机名

l  命令修改主机名称

sudo gedit  /etc/hosts

#127.0.0.1     localhost

l  修改hdfs-site.xml文件配置副本个数以及数据存放的路径

sudo gedit  /usr/local/hadoop3/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/hadoop3/tmp/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/usr/local/hadoop3/tmp/dfs/data</value>

</property>

</configuration>

l  修改hadoop-env.sh文件修改hadoop运行时环境变量

sudo gedit  /usr/local/hadoop3/etc/hadoop/hadoop-env.sh

# The java implementation to use. By default, this environment

# variable is REQUIRED on ALL platforms except OS X!

export JAVA_HOME=/usr/lib/jvm/jdk1.8

修改JAVA_HOME指向Java安装路径

l  执行NameNode格式化

hdfs namenode -format

l  运行start-dfs.sh查看DataNode、NameNode线程编号

start-dfs.sh

修改mapred-site.xml配置YARN

cd  /usr/local/hadoop3

cp  ./etc/hadoop/mapred-site.xml.template  ./etc/hadoop/mapred-site.xml

sudo  gedit  /usr/local/hadoop3/etc/hadoop/ mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

l  配置yarn-site.xml

cd /usr/local/hadoop3

sudo  gedit ./etc/hadoop/yarn-site.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

l  启动hadoop

start-dfs.sh

l  启动yarn

start-yarn.sh

此时,可能会出现一下错误提示

Q1:Starting namenodes on [localhost]

ERROR: Attempting to launch hdfs namenode as root

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch

解决方法:打开sbin/start-dfs.sh和stop-dfs.sh在文件头部添加

HDFS_DATANODE_USER=root

HADOOP_SECURE_DN_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

Q2:出现一下yarn错误提示:

Starting resourcemanager

ERROR: Attempting to launch yarn resourcemanager as root

ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.

Starting nodemanagers

ERROR: Attempting to launch yarn nodemanager as root

ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting launch.

解决方案:打开sbin/start- yarn.sh和stop- yarn.sh在文件头部添加

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

l  启动历史服务器,以便在Web中查看任务运行情况

mr-jobhistory-daemon.sh start historyserver

l  停止历史服务器

mr-jobhistory-daemon.sh stop historyserver

l  停止yarn

stop-yarn.sh

l  停止hadoop

stop-dfs.sh

l  浏览器查看运行情况

localhost:8088

三、安装scale

因为spark是有scale语言编写,因此需要安装scale环境。

打开https://www.scala-lang.org/download/下载对应版本语言库,这里下载版本是scala-2.12.1.tgz 大小21.74M

l  将下载好的文件复制到/usr/local

l  2. 解压下载的scala文件

cd  /usr/local/scala2.12

sudo tar -xzvf scala-2.12.1.tgz

l  3.添加环境变量

sudo gedit /etc/profile

l  添加一下配置

# Scala2.12.1

export SCALA_HOME=/usr/local/scala2.12

export PATH=$SCALA_HOME/bin:$PATH

l  配置生效

source /etc/profile

l  检测是否安装成功

scala –version

四、安装Spark

打开下载地址http://spark.apache.org/downloads.html,选择需要下载的Spark release版本和package type,点击spark-2.3.0-bin-hadoop2.7.tgz打开下载页面。

选择一个下载地址:

Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2

l  将下载好的文件复制到/usr/local/spark2.2

l  2.解压文件spark-2.2.1-bin-hadoop2.7.tgz

cd  /usr/local/spark2.2

sudo tar -xzvf spark-2.2.1-bin-hadoop2.7.tgz

l  3.添加环境变量

sudo gedit /etc/profile

l  添加环境变量配置

#spark2.2.1

export SPARK_HOME=/usr/local/spark2.2

export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH

l  添加配置文件

l  cong下创建配置文件spark-env.sh

#配置hadoop+jdk

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop3/bin/hadoop classpath)

export JAVA_HOME=/usr/lib/jvm/jdk1.8

l  启动Spark

/usr/local/spark2.2/sbin/start-all.sh

l  停止Spark

/usr/local/hadoop3/sbin/stop-all.sh

浏览器查看spark运行情况

localhost:8080

上一篇:[转] Ubuntu16.04完美安装Sublime text3


下一篇:NOIP模拟赛-2018.10.22