美文网首页
最详细云服务器Centos7下搭建Hadoop伪分布式集群(防各

最详细云服务器Centos7下搭建Hadoop伪分布式集群(防各

作者: 空城空忆亦空心 | 来源:发表于2018-11-12 21:57 被阅读0次
    • 前言:搭建期间各种踩坑,本教程基本上能解决Hadoop伪分布式集群搭建以及Hadoop-eclipse-plugin插件使用的各种坑
    • 欢迎带原文链接进行转载:https://www.jianshu.com/p/59fe6cdba293

    搭建环境

    • 系统:Centos7.5
    • Hadoop版本:Hadoop-2.8.5
    • JDK版本:jkd1.8
    • Eclipse版本:Version: 2018-09 (4.9.0)
    • Hadoop-eclipse-plugin插件版本:2.8.5
    • 插件额外需要的文件:hadoopbin_for_hadoop2.8.5.zip
    • 所有资源下载链接:https://download.csdn.net/download/qq_40702317/10780754

    一:关闭系统防火墙以及开放安全组端口(云服务器必须)

    • 1.关闭防火墙
    Centos6下:

    service iptables stop;#立即关闭防火墙,但是重启后失效。
    service iptables start;#立即开启防火墙,但是重启后失效。
    chkconfig iptables on;#开启防火墙,重启后生效
    chkconfig iptables off;#关闭防火墙,重启后生效

    Centos7下:

    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动

    • 2.开放安全组,网上教程非常多
    贴心小提示:

    用云服务器搭建的话,很容易遭到黑客攻击,利用Hadoop的漏洞攻击服务器,让我们的服务器给他们挖矿,建议配置安全组时,仅允许自己的ip进行访问,当然在搭建Hadoop集群时,就需要单独配置给每台服务器公网ip访问的权限

    二:配置主机名

    Centos6下:

    vim /etc/sysconfig/network 修改文件内容
    source /etc/sysconfig/network 使修改生效

    • 修改内容如下:
      NETWORKING=yes
      HOSTNAME=hadoop01
    Centos7下:

    vim /etc/hostname
    修改内容为主机名,修改后重启系统(可以等下面讲解的配置全部修改完成之后进行重启)

    三:修改hosts

    vim /etc/hosts
    以云服务器为例
    增加内容为:本机私网ip 主机名

    • 特别注意:如果是本机映射,只能填本机私网ip,如果是其他云服务器,则填写其他云服务器的公网ip地址加主机名,不然无法启动namenode

    四:配置免密登录

    ssh-keygen
    ssh-copy-id [user]@[host]

    五:安装jdk以及Hadoop

    tar -xf hadoop-2.8.5.tar.gz -C /home/software
    tar -xf jdk-8u181-linux-x64.tar.gz -C /home/software

    六:配置环境变量

    vim /etc/profile

    • 增加内容:
      export JAVA_HOME=/home/software/jdk1.8.0_181
      export HADOOP_HOME=/home/software/hadoop-2.8.5
      export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • source /etc/profile 使配置生效

    七:配置Hadoop

    • ①.进入配置文件目录
      cd /home/software/hadoop-2.8.5/etc/hadoop
    • ②.修改Hadoop启动所需的jdk环境目录
      vim hadoop-env.sh
      修改内容为:export JAVA_HOME=/home/software/jdk1.8.0_181
    • ③vim core-site.xml 修改内容如下
    <configuration>
      <property>
        <!--用来指定hdfs的老大,namenode的地址-->
        <name>fs.defaultFS</name> 
        <value>hdfs://miracle01:9000</value>
       </property>
       <property>
         <!--用来指定hadoop运行时产生文件的存放目录-->
       <!--如果不配置,默认放在/tmp目录下,这是一个临时目录,数据>可能会被系统清除-->
         <name>hadoop.tmp.dir</name>
          <value>/home/software/hadoop-2.8.5/tmp</value>
      </property>
    </configuration>
    欢迎带原文链接进行转载:https://www.jianshu.com/p/59fe6cdba293
    

    ④vim hdfs-site.xml 修改内容如下

    <configuration>
       <property>
                  <name>dfs.replication</name>
                  <value>1</value>
      </property>
      <property>
              <name>dfs.client.use.datanode.hostname</name>
              <value>true</value>
      </property>
      <property>
              <name>dfs.datanode.use.datanode.hostname</name>
              <value>true</value>
      </property>
      <property>
          <name>dfs.permissions</name>
          <value>false</value>
      </property>
    </configuration>
    欢迎带原文链接进行转载:https://www.jianshu.com/p/59fe6cdba293
    

    ⑤vim mapred-site.xml 修改内容如下

    • 注意:在/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,复制一个
      cp mapred-site.xml.template mapred-site.xml
    <configuration>
          <property>  
                 <!--指定mapreduce运行在yarn上-->
                 <name>mapreduce.framework.name</name>
                 <value>yarn</value>
          </property>
    </configuration>
    欢迎带原文链接进行转载:https://www.jianshu.com/p/59fe6cdba293
    

    ⑥vim yarn-site.xml 修改内容如下

    <configuration>
             <property>
                 <!--指定yarn的老大resourcemanager的地址-->
                 <name>yarn.resourcemanager.hostname</name>
                 <value>miracle01</value>
             </property>
             <property>
                 <!--NodeManager获取数据的方式-->
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>
             </property>
    </configuration>
    欢迎带原文链接进行转载:https://www.jianshu.com/p/59fe6cdba293
    

    ⑦vim slaves 配置主从节点,因为是伪分布式,只需要配置当前主机名

    miracle01
    

    ⑧reboot 重启

    ⑨hadoop namenode -format 格式化namenode存储路径


    本文链接:https://www.jianshu.com/p/59fe6cdba293

    ⑩start-all.sh 启动Hadoop

    • 1.查看是否启动成功


      本文链接:https://www.jianshu.com/p/59fe6cdba293
    • 2.如果启动失败,查看Hadoop安装目录下的logs目录中的报错信息,根据报错信息排错
    • 3.如果启动成功,浏览器访问,出现如下界面代表成功
      访问地址 : 云服务器公网ip:50070端口


      本文链接:https://www.jianshu.com/p/59fe6cdba293

    七:使用Hadoop-eclipse-plugin插件

    • 1.下载Hadoop-eclipse-plugin.jar,把jar包放到Eclipse安装目录下的plugins下,然后重启Eclipse

    • 2.解压Hadoop-2.8.5.tar.gz到本机电脑

    本人目录:D:\Java\eclipsejee201809\Needs\hadoop-2.8.5

    • 3.配置本机电脑的环境变量:

    HADOOP_USER_NAME=root
    HADOOP_HOME=D:\Java\eclipsejee201809\Needs\hadoop-2.8.5
    PATH=%HADOOP_HOME%\bin

    • 4.云服务修改hdfs存储文件的权限

    hadoop fs -chmod 777 /

    • 5.开启Eclipse,配置插件,详细看图
    第一步:本文链接:https://www.jianshu.com/p/59fe6cdba293
    第二步:本文链接:https://www.jianshu.com/p/59fe6cdba293
    第三步:本文链接:https://www.jianshu.com/p/59fe6cdba293
    第四步:本文链接:https://www.jianshu.com/p/59fe6cdba293
    第五步:本文链接:https://www.jianshu.com/p/59fe6cdba293
    第六步:本文链接:https://www.jianshu.com/p/59fe6cdba293
    • 6.导入插件额外需要的文件,解压hadoopbin_for_hadoop2.8.5.zip,导入到本机Hadoop根目录的bin目录下,有的电脑还需要把hadoop.dll放到系统盘下的C:\Windows\System32目录下
    插件所需文件
    • 7.修改本机电脑的hosts文件

    云服务器公网ip 云主机名
    188.131.147.117 miracle01

    • 巨坑解释:因为我们拿数据时,先请求到namenode中,namenode返回的是datanode的地址,但是datanode注册的地址是服务器的私网ip,我们本身电脑是无法访问私网ip的,就算是返回的是注册时使用的是主机名,在我们电脑里也没有进行映射,所以我们需要在自己电脑的hosts文件下进行映射
    • 8.如果提示权限问题

    在云服务器执行命令:hadoop fs -chmod 777 /

    • 9.连接成功后就可以用插件进行操作了
    本文链接:https://www.jianshu.com/p/59fe6cdba293

    相关文章

      网友评论

          本文标题:最详细云服务器Centos7下搭建Hadoop伪分布式集群(防各

          本文链接:https://www.haomeiwen.com/subject/egthfqtx.html