阿里云Centos7.3上 Hadoop-2.7.6集群的搭建(ok!!!) 可能会出现 rsync: command not found报错原因以及解决办法 上篇笔记 Caused by: java.net.BindException: Cannot assign requested

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

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目录地址在哪里


扫描二维码关注公众号,回复: 1849717 查看本文章
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


配置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.defaultFS</name>
        <value>hdfs://spark:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop-2.7.2/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </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.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>spark:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>spark:19888</value>
    </property>
</configuration>

修改hdfs-site.xml

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

vim  hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/soft/hadoop-2.7.6/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/soft/hadoop-2.7.6/hdfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>spark:9001</value>
    </property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
</configuration>

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

配置yarn-site.xml

具体配置如下:

vim 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>spark:8032</value>
       </property>
       <property>
               <name>yarn.resourcemanager.scheduler.address</name>
               <value>spark:8030</value>
       </property>
       <property>
               <name>yarn.resourcemanager.resource-tracker.address</name>
               <value>spark:8031</value>
       </property>
       <property>
               <name>yarn.resourcemanager.admin.address</name>
               <value>spark:8033</value>
       </property>
       <property>
               <name>yarn.resourcemanager.webapp.address</name>
               <value>spark:8088</value>
       </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

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

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

主节点:


从节点


查看各节点的进程信息 

可以看到 在主master

在worker节点的

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

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


验证阶段 在浏览器输入

主节点ip:50070


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

主节点ip:8088


ok!!!

猜你喜欢

转载自blog.csdn.net/zhangvalue/article/details/80870160