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

2018-11-12  本文已影响0人  空城空忆亦空心

搭建环境

  • 系统: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

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

Centos6下:

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

Centos7下:

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

贴心小提示:

用云服务器搭建的话,很容易遭到黑客攻击,利用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插件

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

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

hadoop fs -chmod 777 /

第一步:本文链接: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
插件所需文件

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

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

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

本文链接:https://www.jianshu.com/p/59fe6cdba293
上一篇下一篇

猜你喜欢

热点阅读