您的位置:首页 > 运维架构

Hadoop2.7.4+Spark2.2.1+scala2.12.4环境搭建教程(一)

2018-03-16 22:14 453 查看
这是第二次搭建Hadoop 环境,所以,顺利了许多,但是第一次搭建的时候并没有留下文字记录,所以就写一篇博客记录一下自己的搭建过程。
一、概述
在讲搭建过程之前,我觉得很有必要先要讲一下自己的各项环境,方便大家参考。
首先,我用的Ubuntu 系统。话不多说先上图。



    明确了系统版本之后,就是操作方法。我并不像网上已有的教程那样,用一个镜像新建三个虚拟机。而是用一个镜像,新建一个虚拟机,然后将这个虚拟机所需要的东西全部装上去后,在复制成好几台。这样看起来比较简单一些,但是涉及到你的虚拟机IP配置和ssh免密登录的问题。如果,你确定你的电脑的虚拟机在复制一个虚拟机后会为新复制的虚拟机自动分配IP(即进入新复制好的虚拟机内输入ifconfig看是否与原ip相同)的话,就可以往下看。如果不知道是不是会自动分配IP,你可以复制一台先试一试。如果,不会自动分配ip的话,对不起,您与次教程无缘(不过解决了ip问题也可以参考)。之后就是ssh的问题,ssh这个免密登录相对来说比较简单一些,所以我们不做为重点。
    在说完上面这些有的没的之后,我们说一些基础条件吧。首先,在安装之前,你必须有一个JAVA语言环境。Linux的我还建议使用apt-get install openjdk-8 来安装你的JDK。 至于你的环境变量,你可以自己再设置(其实,使用apt命令是不需要再配置环境变量的,但是为了保险,请安装完jdk后再次使用 sudo gedit /etc/profile来配置你的环境变量)。需要强调的是,如果使用profile来保存你的环境变量,往往是需要每次开机后source /etc/profile命令在使你的环境变量生效的,因此需要自行百度如果是profile文件开机生效,这里就不做赘述。
    当你有了JAVA环境的,可以说是有了一个良好的开始。但是,还是要强调一下,JAVA版本最好和我的一致(如果你想成功的话)。当然,后期在使用spark的时候也可能涉及到java的环境问题,所以,为了避免大家少走弯路,奉劝各位,使用开源的jdk8.

    最后就是,一些安装包的版本。如这篇博客的题目一样。Hadoop使用2.7.4, Spark是2.2.1,scala是2.12.4。



    这个是安装包的图,大家参考,当然我还装了HBASE,但是不在本文赘述。
二、 安装过程和步骤。
    有了上面的铺垫,下面就正式开始安装。首先强调一下我们的安装顺序,hadoop ->scala->spark。
    1、Hadoop的安装。

    当然,第一步是要去官网上下载Hadoop安装包。选择清华的那个镜像就好。下载下来后,到文件的Downloads里面,双击解压就好。




  之后,就要打开终端了。在当前目录下(就是在那个对话框里随便找个空白的地方)右键,Open Terminal  = >  sudo cp /hadoop-2.7.4 / (注意,4和/之间是有空格的) 。我比较喜欢装在根目录,这样就将文件夹放了进去(本人不推荐使用mv命令个,操作失误后,后果很严重)
    下面就要开始配置hadoop了。进入根目录(cd /), 找到hadoop目录后,进入etc/hadoop/下面。你会发现有很多xml文件。

对,就是这个。我们主要配置core-site.xml yarn-site.xml hdfs-site.xml 以及mapred-site.xml这几个文件。使用sudo gedit +相应文件名就好。
 下面上配置:
core-site.xml:(加粗部分的目录也是需要修改权限的)<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/data/hadoop/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>HDFS-site.xml:<configuration>
<property>
<name>dfs.name.dir</name>
<value>file:/data/hadoop/hdfs/name</value>
<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:/data/hadoop/hdfs/data</value>
<description>datanode上数据块的物理存储位置,是集群上的位置,存储数据时可能每一个节点都会在对应目录中产生数据文件</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
</configuration>Yarn-site.xml:<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>

</configuration>
mapred-site.xml:<configuration>
    <property>
            <name>mapreduce.job.tracker</name>
            <value>hdfs://172.16.199.128:8001</value>
            <final>true</final>
    </property>

    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>

</configuration>
配置完这些,Hadoop就算完成了一大半。但是还需要一些设置,根据你hdfs文件的设置的目录,因此需要你先修改目录的权限。不修改的话,可能会无法格式化,无法运行hadoop(因为必须要新建目录)。使用sudo chmod -R a+w /data (目录要根据你自己的情况)更改目录的权限。
如果做到这一步,基本就没啥问题了。
今天就先讲到这,下次就spark和ssh进行讲解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Hadoop Spark 环境搭建