Ubuntu14.04或16.04下安装JDK1.8+Scala+Hadoop2.7.3+Spark2.0.2

为了将Hadoop和Spark的安装简单化,今日写下此帖。

首先,要看手头有多少机器,要安装伪分布式的Hadoop+Spark还是完全分布式的,这里分别记录。

1. 伪分布式安装

伪分布式的Hadoop是将NameNode,SecondaryNameNode,DataNode等都放在一台机器上执行,Spark同理,一般用于开发环境。

1.1 准备工作

系统准备:一台Ubuntu16.04机器,最好能够联网

准备好四个安装包:jdk-8u111-linux-x64.tar.gz,scala-2.12.0.tgz,hadoop-2.7.3.tar.gz,spark-2.0.2-bin-hadoop2.7.tgz

1.2 配置SSH免密码登录

SSH是集群不同机器间实现自由数据传输通信的根本保障。安装完成后试试ssh到本机是否需要密码即可。

sudo apt-get install ssh openssh-server
# 安装SSH

ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 配置秘钥

service ssh start
# 启动SSH服务

1.3 解压四个软件包并配置环境变量

解压四个软件包:

tar -zxvf jdk-8u111-linux-x64.tar.gz
sudo mv jdk1.8.0_111 /usr/lib/
# 解压JDK并移动到/usr/lib/下

tar -zxvf scala-2.12.0.tgz
sudo mv scala-2.12.0 /usr/lib/
# 解压scala并移动到/usr/lib/下

tar -zxvf hadoop-2.7.3.tar.gz
# 解压hadoop包

tar -zxvf spark-2.0.2-bin-hadoop2.7.tgz
# 解压spark包

配置环境变量:

当前用户的环境变量位于~/.profile,root用户的环境变量位于/etc/profile。这里我们将环境变量按当前用户配置。

vim ~/.profile
# 打开环境变量

# 添加下面的变量
export JAVA_HOME=/usr/lib/jdk1.8.0_111
export SCALA_HOME=/usr/lib/scala-2.12.0
export HADOOP_HOME=/home/user/hadoop-2.7.3
export SPARK_HOME=/home/user/spark-2.0.2-bin-hadoop2.7
export PATH=$JAVA_HOME/bin:$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 保存后使其立即生效
source ~/.profile

1.4 配置Hadoop

需要配置三个文件:core-site.xml,mapred-site.xml,hdfs-site.xml。

在core-site.xml中添加如下信息:

vim hadoop-2.7.3/etc/hadoop/core-site.xml
# 打开文件

<configuration>
    <property>
       <name>hadoop.tmp.dir</name>
       <value>file:/home/user/hadoop/tmp</value>
       <description>Abase for other temporary directories.</description>
    </property>
    <property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost:9000</value>
    </property>
</configuration>

  

在mapred-site.xml中添加如下信息:

cp hadoop-2.7.3/etc/hadoop/mapred-site.xml.template hadoop-2.7.3/etc/hadoop/mapred-site.xml
# 复制一份

vim hadoop-2.7.3/etc/hadoop/mapred-site.xml
# 打开文件

<configuration>
   <property>
      <name>mapred.job.tracker</name>
      <value>localhost:9001</value>
   </property>
</configuration>

  

在hdfs-site.xml中添加如下信息,其中replication是机器数量,此处为1,user为当前用户名:

vim hadoop-2.7.3/etc/hadoop/hdfs-site.xml
# 打开文件

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>
   <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/home/user/hadoop/tmp/dfs/name</value>
   </property>
   <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/home/user/hadoop/tmp/dfs/data</value>
   </property>
</configuration>

如果在启动Hadoop时找不到环境变量,可以在hadoop-2.7.3/etc/hadoop/hadoop-env.sh中明确:export JAVA_HOME=/usr/lib/jdk1.8.0_111

1.5 配置Spark

Spark只需要配置spark-env.sh文件。

vim /home/user/spark-2.0.2-bin-hadoop2.7/conf/spark-env.sh
# 打开文件

export JAVA_HOME=/usr/lib/jdk1.8.0_111
export SCALA_HOME=/usr/lib/scala-2.12.0
export SPARK_MASTER_HOST=master
export HADOOP_CONF_DIR=/home/user/hadoop-2.7.3/etc/hadoop/
export SPARK_WORKER_MEMORY=8g
export SPARK_WORKER_CORES=16
# 配置项很多,请参考文件中的提示

  

1.6 启动Hadoop和Spark

先格式化hadoop的HDFS(分布式文件系统),这是必要的步骤,否则NameNode无法启动。但也不需要每次启动Hadoop时都格式化,否则会造成Data和Name不兼容,使得DataNode无法启动,若出现这种情况,删掉tmp/data/current/下的VERSION文件。重新格式化HDFS即可。

启动Hadoop和Spark命令为:

$HADOOP_HOME/bin/hdfs namenode -format
# 格式化HDFS
$HADOOP_HOME/sbin/start-all.sh
# 启动Hadoop
$SPARK_HOME/sbin/start-all.sh
# 启动Spark

启动后,输jps命令,若Hadoop的DataNode,NameNode,SecondaryNameNode,***Manager都启动,Spark的Master和Worker都启动,则集群成功启动,缺一不可。

此时,访问http://localhost:50070可访问Hadoop集群Web任务查看页面,访问http://localhost:8080可访问Spark集群Web任务查看页面。

2. 完全分布式安装

顾名思义,完全分布式安装是真正的集群部署,一般用于生产环境。

2.1 准备工作

系统准备:一台Ubuntu16.04机器作为master(ip:192.168.1.1),最好能够联网;1台及其以上Ubuntu16.04机器作为slave节点(ip:192.168.1.2 ...)

准备好四个安装包:jdk-8u111-linux-x64.tar.gz,scala-2.12.0.tgz,hadoop-2.7.3.tar.gz,spark-2.0.2-bin-hadoop2.7.tgz

2.2 配置SSH免密码登录

SSH是集群不同机器间实现自由数据传输通信的根本保障。安装完成后试试ssh到本机是否需要密码即可。

此处步骤与1.2中相同,但是要将master上的RSA秘钥拷贝到其他机器,实现机器间自由访问。

scp ~/.ssh/id_rsa.pub [email protected]:/home/user/
# 远程拷贝RSA秘钥

ssh slave01;
# 登录slave01
mkdir ~/.ssh;cat ~/id_rsa.pub >> ~/.ssh/authorized_keys;exit;
# 将秘钥生成公钥并退出
ssh slave11;
# 重新连接看是否需要密码,自动登录则成功

依次类推,对所有的slave节点做相同操作,最后实现master到任意slave节点的SSH无密码登录。

此外,我们还需要对每台机器上的hosts文件做配置,以实现SSH到hostname即可访问机器,无需显式IP地址。

sudo vim /etc/hosts
# 打开hosts

# 存入下面的IP与hostname映射
192.168.1.1       master
192.168.1.2       slave01
192.168.1.3       slave02
192.168.1.4       slave03
...

依次类推,对所有的slave节点做相同操作。

2.3 解压四个软件包并配置环境变量

在master主节点机器上解压四个软件包和配置环境变量,与1.3相同,不同的是,还需要通过scp命令将配置好的jdk和scala整体拷贝到其他从节点。

2.4 配置Hadoop

需要配置三个文件:core-site.xml,mapred-site.xml,hdfs-site.xml,slaves。

前三个与1.4都相同,只需将localhost改成master(主节点的hostname名),replication改成具体的机器个数。

最后,还需要通过scp命令将配置好的hadoop整体拷贝到其他从节点。

2.5 配置Spark

Spark只需要配置spark-env.sh文件,这一步与1.5相同。最后,通过scp命令将配置好的spark整体拷贝到其他从节点。

2.6 启动Hadoop和Spark

在主节点上启动hadoop和spark,通过jps验证是否成功启动集群。

到此,您就可以在单机上用Eclipse或Intellij做开发,在集群上运行整个集群任务咯!

时间: 2024-10-30 21:28:22

Ubuntu14.04或16.04下安装JDK1.8+Scala+Hadoop2.7.3+Spark2.0.2的相关文章

CentOS 6系统下安装 JDK1.6

CentOS 6系统下安装 JDK1.6 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的Java SDK.JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库.下面我们就来学习如何在CentOS系统下安装 JDK. 一.CentOS系统创建安装目录 #mkdir /usr/java 二.下载 先去 www.oracle.com 网站寻找到 最新jdk1

contos下安装JDK1.7 ,tomcat,nginx

CentOS下的jdk安装 1.先在网上下载好JDK的安装包,然后把安装包放在usr/local/Java目录下(放在哪里就看个人习惯了) 2.打开终端 1>cd /usr/local/java (定位到文件夹/usr/local/Java) 2>tar zxvf jdk-7u51-linux-x64.tar.gz (解压到当前目录) 3>在 /etc/profile 文件末尾添加 环境变量(配置jdk的环境变量) export JAVA_HOME=/usr/java/jdk1.7.0_

Centos7下安装 JDK1.8

最近看了一篇技术文章, 用 nginx+tomcat+redis+centos 实现 session 共享等功能,觉得很有用,就跟着文章在 Centos7 的环境下搭建了几个长江的服务器,同时也作为熟悉 Linux 的命令的学习. 参考文章: http://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=2651163178&idx=2&sn=f9a7cc151c1308b2d7098196543be785&chksm=bd2ec

Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition

Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) 最近因需要在Oracle 数据库上建立ODI的资料档案库,需要安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition . 软件下载 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html?ssSourceSite

转: Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition

http://www.cnblogs.com/xqzt/p/4395053.html Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition

安装系统Ubuntu Server 14.04,16.04和17.10

本文以14.04位案例进行安装,其他版本相关问题会做注解 1.选择要安装的系统语言 本界面建议选择English,之后再选择中文安装 注意: 安装服务器版时,对于14.x版本第一步选择中文没有问题,但是对于16.04和17.10版本, 如果需要安装中文版,第一步语言选择一定不能选中文,如果选了,后面安装报错: "无法安装busybox-initramfs" 2.选择安装过程中需要的语言 该步骤可以选择需要的中文界面,而且安装后的系统默认支持中文 接下来提示,系统对于中文的支持可能不是很

Ubuntu下安装JDK1.7

Ubuntu操作系统下如何手动安装JDK1.7呢?本文是我经历的全过程. Ubuntu版本:12.04 LTS JDK版本:1.7.0_04 安装目录:/usr/local/development/jdk1.7.0_04 安装JDK1.7的过程 1. 打开网址http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u4-downloads-1591156.html,下载相应的JDK文件. 2. 将下载的文件解压缩到/usr/loc

Linux下安装jdk1.7、Apache-tomcat7

首先说明下我的主机环境:主机:32位win7 虚拟机:VMware Workstation10.0.1 linux:红帽子centos6.4 jdk1.7 Apache-tomcat7 java环境需要有jdk,第一步要先安装jdk Jdk的安装 1.解压或安装 .gz包 #tar -zxvf jdk-7u9-linux-i586.tar.gz 解压后的目录如:jdk1.7.0_09 将其复制或移动到/usr目录下 #mv jdk1.7.0_09 /usr .rpm包 #rpm -ivh jdk

在mac下安装jdk1.7(转)

转自:http://vela.diandian.com/post/2012-01-06/15379924 最近呢,想玩玩jdk1.7,不过mac平台下的jvm一直都是Apple自己改的,所有有些麻烦.这篇文章呢,就是一个详细的步骤,教你如何在mac下安装和使用jdk1.7.当然了,和你想象的一样,我是不会写什么有技术含量的文章的,所以只是一个简单的guide. 首 先呢,为了少出问题,先要让平台装一个java,Snow Leopard下还好(默认就有),Lion的话默认是没有安装任何jvm的,安