阿里云Centos7.3上 Hadoop-2.7.6集群的搭建(ok!!!)

采取的是两台阿里云服务器搭建集群

1、首先进行的是ssh免密码登录的操作

具体操作在上篇笔记中找 里面有

2、配置Java环境

具体操作上篇笔记中详细记录

3、下载Hadoop2.7.2,并进行安装配置环境

我是创建文件放在opt/soft文件夹下面,直接打开该文件夹,进行下载

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 

①解压

tar -zxvf hadoop-2.7.6.tar.gz

etc/hadoop/hadoop-env.sh中配置JDK的信息 先查看本机的jdk目录地址在哪里


vi etc/hadoop/hadoop-env.sh

export JAVA_HOME=${JAVA_HOME}

改为

export JAVA_HOME=/opt/soft/jdk1.8.0_172

为了方便我们以后开机之后可以立刻使用到Hadoop的bin目录下的相关命令,

hadoop文件夹下的binsbin目录配置到/etc/profile文件中

export PATH=$PATH:/opt/soft/hadoop-2.7.6/bin:/opt/soft/hadoop-2.7.6/sbin

阿里云Centos7.3上 Hadoop-2.7.6集群的搭建(ok!!!)_第1张图片

配置Hadoop分布式集群

修改主机名 之前笔记中有 

在==两台==机子的总的hadoop-2.7.6文件夹下建立如下四个文件夹

  • 目录/tmp,用来存储临时生成的文件
  • 目录/hdfs,用来存储集群数据
  • 目录hdfs/data,用来存储真正的数据
  • 目录hdfs/name,用来存储文件系统元数据
mkdir tmp hdfs hdfs/data hdfs/name

配置hadoop文件

在此先修改SparkMaster的配置文件,然后修改完毕后通过rsync命令复制到其他节点电脑上。

修改core-site.xml

vi etc/hadoop/core-site.xml

具体修改如下:

<configuration>
    <property>
        <name>fs.defaultFSname>
        <value>hdfs://spark:9000value>
    property>
    <property>
        <name>hadoop.tmp.dirname>
        <value>file:/usr/local/hadoop-2.7.2/tmpvalue>
    property>
    <property>
        <name>io.file.buffer.sizename>
        <value>131072value>
    property>
configuration>

变量fs.defaultFS保存了NameNode的位置,HDFS和MapReduce组件都需要它。这就是它出现在core-site.xml文件中而不是hdfs-site.xml文件中的原因。

修改marpred-site.xml.template

具体修改如下

首先我们需要的是将marpred-site.xml复制一份:

 cp mapred-site.xml.template  marpred-site.xml marpred-site.xml.template 

此处修改的是marpred-site.xml,不是marpred-site.xml.template

<configuration>
    <property>
        <name>mapreduce.framework.namename>
        <value>yarnvalue>
    property>
    <property>
        <name>mapreduce.jobhistory.addressname>
        <value>spark:10020value>
    property>
    <property>
        <name>mapreduce.jobhistory.webapp.addressname>
        <value>spark:19888value>
    property>
configuration>

修改hdfs-site.xml

具体修改如下(我们需要把 replication的value改为1 )

vim  hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dirname>
        <value>file:/opt/soft/hadoop-2.7.6/hdfs/namevalue>
    property>
    <property>
        <name>dfs.datanode.data.dirname>
        <value>file:/opt/soft/hadoop-2.7.6/hdfs/datavalue>
    property>
    <property>
        <name>dfs.replicationname>
        <value>1value>
    property>
    <property>
        <name>dfs.namenode.secondary.http-addressname>
        <value>spark:9001value>
    property>
    <property>
    <name>dfs.webhdfs.enabledname>
    <value>truevalue>
    property>
configuration>

PS:变量dfs.replication指定了每个HDFS数据块的复制次数,即HDFS存储文件的副本个数.我的实验环境只有一台Master和一台Worker(DataNode),所以修改为2。

配置yarn-site.xml

具体配置如下:

vim yarn-site.xml
<configuration>
        <property>
               <name>yarn.nodemanager.aux-servicesname>
               <value>mapreduce_shufflevalue>
        property>
        <property>
               <name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
               <value>org.apache.hadoop.mapred.ShuffleHandlervalue>
        property>
        <property>
               <name>yarn.resourcemanager.addressname>
               <value>spark:8032value>
       property>
       <property>
               <name>yarn.resourcemanager.scheduler.addressname>
               <value>spark:8030value>
       property>
       <property>
               <name>yarn.resourcemanager.resource-tracker.addressname>
               <value>spark:8031value>
       property>
       <property>
               <name>yarn.resourcemanager.admin.addressname>
               <value>spark:8033value>
       property>
       <property>
               <name>yarn.resourcemanager.webapp.addressname>
               <value>spark:8088value>
       property>
configuration>

修改slaves的内容

localhost修改成为SparkWorker1SparkWorker2

SparkMaster节点的`hadoop-2.7.2/etc/下面的文件通过以下方式放去其他节点

rsync -av /opt/soft/hadoop-2.7.6/etc/ zhangsf:/opt/soft/hadoop-2.7.6/etc/

可能会出现  rsync: command not found报错原因以及解决办法 上篇笔记


完成之后可以查看SparkWorker1下面的文件是否变了

启动hadoop分布式集群

SparkMaster节点格式化集群的文件系统

输入

hadoop namenode -format

格式化节点成功的标识:

启动Hadoop集群

start-all.sh

会爆出错误:

Caused by: java.net.BindException: Cannot assign requested

下一篇笔记里面解决方案 点击 链接

成功解决之后查看各个节点的进程信息

主节点:

阿里云Centos7.3上 Hadoop-2.7.6集群的搭建(ok!!!)_第2张图片

从节点

阿里云Centos7.3上 Hadoop-2.7.6集群的搭建(ok!!!)_第3张图片

查看各节点的进程信息 

可以看到 在主master

在worker节点的

此时分布式的hadoop集群已经搭好了

还需要的就是在阿里云控制台配置规则中添加规则

阿里云Centos7.3上 Hadoop-2.7.6集群的搭建(ok!!!)_第4张图片

验证阶段 在浏览器输入

主节点ip:50070

阿里云Centos7.3上 Hadoop-2.7.6集群的搭建(ok!!!)_第5张图片

看到以下界面代表Hadoop集群已经开启了

主节点ip:8088

阿里云Centos7.3上 Hadoop-2.7.6集群的搭建(ok!!!)_第6张图片

ok!!!

你可能感兴趣的:(大数据相关)