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

用户权限限制我们可以切换到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打开下载页面。

选择一个下载地址:

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

Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2的更多相关文章

  1. Ubuntn16.04+OpenCV3.1+CUDA8.0+cudnn5.1+caffe配置及问题集锦

    ubuntn16.04 Caffe安装步骤记录(超详尽) 一开始安装好ubuntn16.04后,先安装的opencv3.1,再自己安装的390驱动,cuda8.0和cudnn,之后配置caffe一直不 ...

  2. 在 Ubuntu 12.04 上安装 GitLab6.0

    安装环境: 操作系统:    Ubuntu 12.4 LTS 英文 数据库:        mysql5.5.32 web服务器: nginx1.4.1 首先, 添加git和nginx的ppa,并升级 ...

  3. 配有Tesla K40c的服务器新装Ubuntu16.04并安装CUDA8.0、Anaconda3、Matlab2016a、OPENCV3.1、CuDNN5.1、MXNet

    注:本文原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) 决定加入深度学习的大军,感谢导师给配了台新设备!第一次接触服务器并配置开发环境,整个过程中 ...

  4. Ubutu16.04+Cuda9.2/9.0+Cudnn7.12/7.05+TensorFlow-gpu-1.8/1.6

    目录 Ubuntu16.04 Installl 1. 安装环节 2. 安装卡死 3. NVIDIA显卡安装 2. CUDA Install 3.Cudnn7.05 Install 4.Tensorfl ...

  5. Ubuntu16.04 GTX750安装CUDA9.0,Pytorch,Anaconda教程

    Ubuntu16 GTX750安装CUDA9.0,Pytorch,Anaconda教程 安装前警告 不要使用Ubuntu18! 不要使用Ubuntu18! 不要使用Ubuntu18! 务必重装成Ubu ...

  6. Ubuntu 12.04下安装thrift 0.9

    Thrift这里就不介绍了,只说一句--Facebook很牛逼. 我这里安装Thrift主要是为Accumulo数据库作准备,所以java语言为必选项. 具体安装参考官方Apache Thrift R ...

  7. Ubuntu14.04下安装Cuda8.0

    https://blog.csdn.net/sinat_19628145/article/details/60475696 https://developer.nvidia.com/cuda-down ...

  8. Ubuntu 14.04下安装CUDA8.0

    配置环境如下: 系统:Ubuntu14.04 64bit 显卡:Nvidia K620M 显卡驱动:Nvidia-Linux-x86_64-375.66.run CUDA8.0 +  cudnn8.0 ...

  9. ubuntu 18.04.1安装hadoop3.1.2

    前提,虚拟机安装 见https://www.cnblogs.com/cxl-blog/p/11363183.html 一.按照https://blog.csdn.net/MastetHuang/art ...

随机推荐

  1. python del关键字的用法

    del Keyword 注意del是python关键字,就像def.and.or一样.它不是字典.列表的方法,但是可以用来删除字典.列表的元素.比如: del list_item[4] del dic ...

  2. go语言 godep save 报错 is not using a known version control system

    使用 godep save 后提示需要包 如果使用 gopm 下载需要的包,就会没有版本控制文件夹,再次使用godep save后会报错 https://github.com/gpmgo/gopm/i ...

  3. C#中简单操作SQLserver数据库(ADO.NET的简单应用)

    本篇文章以 ADO.NET 访问SQL SERVER 数据库为例, 其中需用System.Data.SqlClient; 数据库连接字符串写法为:server=数据源(服务器名称);uid=用户名;p ...

  4. caffe: c++11支持

    1)在Makefile中400行左右, CXXFLAGS += -MMD -MP  改成:CXXFLAGS += -MMD -MP -std=c++0x,好像还改了不少地方,有的是 -std=c++1 ...

  5. String对象常量池特性对synchronized对象的影响

    一 .什么是String的常量池特性 对于字符串对象有两种创建方法,如下: 直接赋值法: String str1="直接赋值创建字符串"; 创建对象法: String str2=n ...

  6. 原来你是这样的setTimeout

    先上代码 console.log("start"); setTimeout(function(){ console.log("Hello"); },200); ...

  7. SpringBoot框架中,使用过滤器进行加密解密操作(一)

    一.基本说明 1.请求方式:POST请求.注解@PostMapping 2.入参格式:json串 3.出参格式:json串(整体加密) 4.使用Base64进行加密解密.具体的加密方式,可以根据需求自 ...

  8. php 服务端允许跨域访问

    加上需要允许跨域访问,配置如下(一下配置内容前不允许有其他任何输出操作): //设置允许跨域的 请求源地址//方式一:header("Access-Control-Allow-Origin: ...

  9. 【缓存】介绍和使用场景 MEMCACHE REDIS

    缓存缓存就是在内存中存储的数据备份,当数据没有发生本质改变的时候,我们就不让数据的查询去数据库进行操作,而去内存中取数据,这样就大大降低了数据库的读写次数,而且从内存中读数据的速度比去数据库查询要快一 ...

  10. javascript DOM document属性

    DOM控制页面中的所有元素 每个载入浏览器的HTML文档都会成为Document对象,利用它可对HTML页面中的所有元素进行访问 常用属性: title:返回或设置当前文档的标题 常用方法 write ...