Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2
Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2
前言:因为安装的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的更多相关文章
- Ubuntn16.04+OpenCV3.1+CUDA8.0+cudnn5.1+caffe配置及问题集锦
ubuntn16.04 Caffe安装步骤记录(超详尽) 一开始安装好ubuntn16.04后,先安装的opencv3.1,再自己安装的390驱动,cuda8.0和cudnn,之后配置caffe一直不 ...
- 在 Ubuntu 12.04 上安装 GitLab6.0
安装环境: 操作系统: Ubuntu 12.4 LTS 英文 数据库: mysql5.5.32 web服务器: nginx1.4.1 首先, 添加git和nginx的ppa,并升级 ...
- 配有Tesla K40c的服务器新装Ubuntu16.04并安装CUDA8.0、Anaconda3、Matlab2016a、OPENCV3.1、CuDNN5.1、MXNet
注:本文原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) 决定加入深度学习的大军,感谢导师给配了台新设备!第一次接触服务器并配置开发环境,整个过程中 ...
- 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 ...
- Ubuntu16.04 GTX750安装CUDA9.0,Pytorch,Anaconda教程
Ubuntu16 GTX750安装CUDA9.0,Pytorch,Anaconda教程 安装前警告 不要使用Ubuntu18! 不要使用Ubuntu18! 不要使用Ubuntu18! 务必重装成Ubu ...
- Ubuntu 12.04下安装thrift 0.9
Thrift这里就不介绍了,只说一句--Facebook很牛逼. 我这里安装Thrift主要是为Accumulo数据库作准备,所以java语言为必选项. 具体安装参考官方Apache Thrift R ...
- Ubuntu14.04下安装Cuda8.0
https://blog.csdn.net/sinat_19628145/article/details/60475696 https://developer.nvidia.com/cuda-down ...
- Ubuntu 14.04下安装CUDA8.0
配置环境如下: 系统:Ubuntu14.04 64bit 显卡:Nvidia K620M 显卡驱动:Nvidia-Linux-x86_64-375.66.run CUDA8.0 + cudnn8.0 ...
- ubuntu 18.04.1安装hadoop3.1.2
前提,虚拟机安装 见https://www.cnblogs.com/cxl-blog/p/11363183.html 一.按照https://blog.csdn.net/MastetHuang/art ...
随机推荐
- python del关键字的用法
del Keyword 注意del是python关键字,就像def.and.or一样.它不是字典.列表的方法,但是可以用来删除字典.列表的元素.比如: del list_item[4] del dic ...
- go语言 godep save 报错 is not using a known version control system
使用 godep save 后提示需要包 如果使用 gopm 下载需要的包,就会没有版本控制文件夹,再次使用godep save后会报错 https://github.com/gpmgo/gopm/i ...
- C#中简单操作SQLserver数据库(ADO.NET的简单应用)
本篇文章以 ADO.NET 访问SQL SERVER 数据库为例, 其中需用System.Data.SqlClient; 数据库连接字符串写法为:server=数据源(服务器名称);uid=用户名;p ...
- caffe: c++11支持
1)在Makefile中400行左右, CXXFLAGS += -MMD -MP 改成:CXXFLAGS += -MMD -MP -std=c++0x,好像还改了不少地方,有的是 -std=c++1 ...
- String对象常量池特性对synchronized对象的影响
一 .什么是String的常量池特性 对于字符串对象有两种创建方法,如下: 直接赋值法: String str1="直接赋值创建字符串"; 创建对象法: String str2=n ...
- 原来你是这样的setTimeout
先上代码 console.log("start"); setTimeout(function(){ console.log("Hello"); },200); ...
- SpringBoot框架中,使用过滤器进行加密解密操作(一)
一.基本说明 1.请求方式:POST请求.注解@PostMapping 2.入参格式:json串 3.出参格式:json串(整体加密) 4.使用Base64进行加密解密.具体的加密方式,可以根据需求自 ...
- php 服务端允许跨域访问
加上需要允许跨域访问,配置如下(一下配置内容前不允许有其他任何输出操作): //设置允许跨域的 请求源地址//方式一:header("Access-Control-Allow-Origin: ...
- 【缓存】介绍和使用场景 MEMCACHE REDIS
缓存缓存就是在内存中存储的数据备份,当数据没有发生本质改变的时候,我们就不让数据的查询去数据库进行操作,而去内存中取数据,这样就大大降低了数据库的读写次数,而且从内存中读数据的速度比去数据库查询要快一 ...
- javascript DOM document属性
DOM控制页面中的所有元素 每个载入浏览器的HTML文档都会成为Document对象,利用它可对HTML页面中的所有元素进行访问 常用属性: title:返回或设置当前文档的标题 常用方法 write ...