当前位置:   article > 正文

Centos中Hadoop安装详细过程(含图文)_centos安装hadoop

centos安装hadoop

CentOS中hadoop的安装

安装环境

  • 虚拟机上三台centos系统
  • 使用NET模式连接有线网络
  • 在命令行使用ifconfig命令查看静态IP地址
    在这里插入图片描述
  • Xshell5安装在Windows上,用于连接虚拟机

所需软件下载

  • Hadoop官网下载Hadoop:http://hadoop.apache.org/
    在这里插入图片描述
    在这里插入图片描述

  • JDK官网下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html
    在这里插入图片描述

  • 将所下软件拷贝至主虚拟机下
    在这里插入图片描述

JDK安装及配置

  • 将安装包解压至/software
    涉及命令:tar -zxvf jdk-8u161-linux-x64.tar.gz -C /software/在这里插入图片描述
  • 配置JDK环境,将JDK路径配置到/etc/profile文件下
    在这里插入图片描述
  • 刷新文件,查看JAVA版本,测试JDK是否安装成功
    在这里插入图片描述

Hadoop安装及配置

  • 将Hadoop安装包解压至/software下
    在这里插入图片描述

  • 将Hadoop环境配置配置以及检测Hadoop是否安装成功
    在这里插入图片描述
    在这里插入图片描述

集群配置

在主服务器上配置

配置hosts文件(路径/etc,文件hosts)将三台服务器静态IP写进去,可以给各个服务器起别名在这里插入图片描述

配置HDFS(路径:/software/hadoop-2.7.3/etc/hadoop)

  1. 配置hadoop-env.sh,加入JDK安装路径
export JAVA_HOME=/software/jdk1.8.0_161
  • 1

在这里插入图片描述
2. 配置core-site.xml

<!-- 指定HDFS中NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
 <!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
 <value>/software/hadoop-2.7.2/data/tmp</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
3. 配置hdfs-site.xml

<!--指定HDFS副本的数量 -->
<property>
 <name>dfs.replication</name>
 <value>1</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
配置YARN

  1. 配置yarn-env.sh,配置JAVA_HOME
export JAVA_HOME=/software/jdk1.8.0_161
  • 1

在这里插入图片描述

  1. 配置yarn-site.xml
  <!-- Reducer获取数据的方式 -->
<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>
<!--指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
3. 配置mapred-env.sh,增加JAVA_HOME

export JAVA_HOME=/software/jdk1.8.0_161
  • 1

在这里插入图片描述

  1. 配置mapred-site.xml,将mapred-site.xml.template重新命名为mapred-site.xml
    mv mapred-site.xml.template mapred-site.xml
<!--指定MR运行在YARN上 -->
<property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5

配置历史服务器
配置mapred-site.xml,增加以下配置

  <!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>localhost:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
    <value>localhost:19888</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

配置slaves文件,即从服务器结点可让三台服务器同步

在这里插入图片描述

将配置环境拷贝至两台从服务器上

配置主服务器免登录访问从服务器

  1. 为每个节点分别产生公、私密钥配置,使用ssh-keygen命令可以为本服务器生成公钥(id_dsa.pub)和私钥(Id_dsa),要求输入passphrased的时候直接敲回车。
    参考命令:ssh-keygen -t dsa -f ~/.ssh/id_dsa
    再使用cp命令,将公钥文件复制成authorized_keys文件。
    参考命令:cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys

在这里插入图片描述

此时,在本服务器上生成公钥和私钥的步骤基本完成,使用ssh 命令登录本机不会再要求输入密码(如果是第一次登录会要求确认是否继续连接),成功之后,也在另外两台服务器上执行相同的操作!!!
  • 1
  1. 让主结点能通过SSH免密码登录两个子结点
    将主服务器的公钥文件内容添加到从服务器的authorized_keys文件里,就可以实现主服务器免密码登录从服务器了。使用scp命令,将主服务器的公钥文件id_dsa.pub复制到从服务器上,并命令为master.pub。
    参考命令:scp ~/.ssh/id_dsa.pub root@slave1:~/.ssh/master.pub
    再将上一步生成的master.pub文件内容追加到slave1的authorized_keys文件中,可以登录到slave1上去操作,也可以在master上使用ssh命令远程操作。
    参考命令:
    ssh root@slave1"cat ~ /.ssh/master.pub>> ~ /.ssh/authorized_keys"

在这里插入图片描述
按照上面的方法,让master可以ssh免密码访问另外一台从服务器!!!!

将Hadoop复制到各从服务器
将配置好的Hadoop集群复制到从服务器上
参考命令:scp -r /software root@slave1: /software
scp -r /software root@slave2:/software

在这里插入图片描述

将/etc/profile文件拷贝至从服务器

在这里插入图片描述

启动Hadoop,并测试Hadoop是否启动成功

  1. 格式化namenode,启动服务
    命令:bin/hdfs namenode -format
    sbin/./start-all.sh
    在这里插入图片描述

  2. 启动Hadoop
    hadoop服务如果启动成功了,可以在主服务器上查看到NameNode ,SecondaryNameNode,ResourceManager 三个服务,从服务器上看到NodeManager, DataNode 两个服务。

主服务器:
在这里插入图片描述
slave1验证:
在这里插入图片描述
slave2验证:
在这里插入图片描述

HDFS的Web端
在这里插入图片描述

历史服务器启动
在这里插入图片描述
YARN的Web端验证
在这里插入图片描述

历史服务器Web端
在这里插入图片描述

启动服务时DataNode启动不起来

原因:多次格式化NameNode
格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/352768
推荐阅读
相关标签
  

闽ICP备14008679号