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

摘要:
为了简化Hadoop和Spark的安装,我今天写了这篇文章。Sudoapt getinstallsshpopenssh服务器#安装SSHssh keygen trsa-P“”cat~/。ssh/id_rsa.pub˃˃~/。ssh/authorized_Keys#配置密钥服务sshstart#启动ssh服务1.3解压四个软件包并配置环境变量解压四个包:tar zxvfjdk-8u111-linux-x64.tar.gzsudomvjdk1.8.0_111/usr/lib/#解压JDK并将其移动到/usr/lib/tar-zxvfscala-12.0.tgzsudomvscala-12.0/usr/lib/#解压缩scala并移动到/usr/lib/tar-zxvfhadoop-2.7.3.tar。gz#解压缩hadoop包tar-zxvfspark-2.0.2 bin hadoop2.7.tgz#解压缩splash包配置环境变量:当前用户的环境变量位于~/。配置文件和根用户的环境变量位于/etc/profile。

为了将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

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=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$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=localhost #单机下配置为localhost
export HADOOP_CONF_DIR=/home/user/hadoop-2.7.3/etc/hadoop/ #hadoop配置目录
export SPARK_WORKER_MEMORY=8g #给spark分配8G内存
export SPARK_WORKER_CORES=16 #允许spark以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任务查看页面。

注意:如果装的是双系统,ubuntu访问ntfs盘符可以使用这条命令激活:ntfsfix /dev/sda5

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 user@slave01:/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做开发,在集群上运行整个集群任务咯!

免责声明:文章转载自《Ubuntu14.04或16.04下安装JDK1.8+Scala+Hadoop2.7.3+Spark2.0.2》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇深入探究VC —— 链接器link.exe(4)linux 安装 Samba服务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

shell命令--ssh

shell命令--ssh 0、ssh命令的专属图床 点此快速打开文章【图床_shell命令ssh】 1、ssh命令的功能说明 ​ ssh 命令是安全的加密协议,用于远程连接 Linux 服务器,默认端口是22 ​ SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监...

tomcat9下载与安装

tomcat9下载与安装 官网下载地址:https://tomcat.apache.org/ 百度云地址:链接:https://pan.baidu.com/s/109PYcSh-eqTctLAXIsb5ig 提取码:8rj9 windows64位,tomcat9下载安装。选择红色框中的tomcat9下载。 找到core,选择操作系统对应的版本进行下载,我...

迅为-IMX6Q开发-非设备树uboot-修改默认环境变量

iTOP-iMX6 开发板烧写好之后,默认是 android 系统 9.7 寸屏幕的系统参数和屏幕参数。如下图。本文档主要介绍如何修改默认启动参数。 70.1  重要的环境变量 比较重要的环境变量或者说经常使用的环境变量,已经在上图中的红色方框中。 主要是:bootsystem、lcdtype 和 bootargs。这些参数都可以在 uboot 源码中进...

Tomcat 03: 常见问题排查

列罗出了Tomcat常见的问题,如不能启动,屏幕一闪而过,启动之后,访问总是出现404等等常见问题。以下排查手段都是针对通过startup.bat 独立方式启动的Tomcat,集成开发环境IDE(IDEA,ECLIPSE,MYECLIPSE等) 下的Tomcat启动不在此知识点讨论范围之内。 步骤 1 : JAVA_HOME   步骤 2 : CATALIN...

转载 uboot 命令

1、bootm bootm [addr [arg ...]]     - boot application image stored in memory           passing arguments 'arg ...'; when booting a Linux kernel,            'arg' can be the addres...

scp 将数据从一台linux服务器复制到另一台linux服务器

原文地址:http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html  完整内容参考原文! scp 是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且 scp传输是加密的。可能会稍微影响一下速度。当你服务器...