Hadoop完全分布式搭建

1.准备并克隆好三台虚拟机(网卡配置文件,hosts配置文件),可参考我的这篇     https://www.cnblogs.com/Supre/p/13777059.html

2.下载jdk1.8,选择rpm包

3.安装jdk:【root@hadoop100 softwares】# rpm -i --prefix=/export/servers   jdk-8u271-linux-x64.rpm 

  此时可以输入java version,如果输出java版本号,就安装成功了

4.配置jdk环境变量

  打开bash_profile文件,在里面加入:

  export JAVA_HOME=/export/servers/jdk1.8.0_271

  export PATH=$PATH:$JAVA_HOME/bin

  然后保存退出,运行source .bash_profile ,使得刚刚修改的该文件立即生效。

  echo $JAVA_HOME,此时会输出刚刚配置的环境变量

5.配置免密码登录

  1、先打开/etc/sysconfig/network ,配置以下内容:

        NETWORKING=yes

        HOSTNAME=hadoop100

   2、配置ip和主机名字的映射关系

    打开/etc/hosts文件,配置以下内容:

     192.168.126.100   hadoop100

     192.168.126.101   hadoop101

     192.168.126.102   hadoop102

      注意:这里的ip和主机名根据自己的写,这里的配置了,后续的配置文件中写入了hadoop100时,就类似写入了对应的IP:192.168.126.100

  3、SSH免密码登录设置

    1)、以hadoop100为中心,设置到其他机器的SSH免密码登录

      输入ssh-keygen命令,然后一直回车操作

    2)、进入.ssh文件夹。输入ls,查看生成的id_rsa私钥文件,id_rsa.pub公钥文件

    3)、将公钥文件复制到hadoop100、hadoop101、hadoop102节点上,注意hadoop100本身也需要做免密码登录设置

      ssh-copy-id -i ./id_rsa.pub root@hadoop100

      ssh-copy-id -i ./id_rsa.pub root@hadoop101

      ssh-copy-id -i ./id_rsa.pub root@hadoop102

    4)、完成以上之后,测试ssh免密码登录

      ssh hadoop101

      此时,如果不需要输入hadoop101的密码,直接就登录成功的话,表示设置成功

6、配置hadoop

  1)、下载解压缩hadoop

    tar zxvf /export/softwares/hadoop-3.3.0.tar.gz -C /export/servers/

  2)、配置hadoop-env.sh文件

    export JAVA_HOME=/export/servers/jdk1.8.0_271
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root

    注意:这几个是hadoop3为了提升安全性而加入的,所以网上很多找不到这个配置方法,一开始我也踩了坑

  3)、core-site.xml文件配置

    这个配置方法在官网上有,在左下角configuration,给出了几个文件的配置方法

   

      配置如下:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop100:9820</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/hadoopdata</value>
</property>
</configuration>

  

  4)、hdfs-site.xml文件

<configuration>
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop101:9868</value>
</property>
</configuration>
</configuration>

  5)、配置workers文件

    在该文件中加入以下三行:

    hadoop100

    hadoop101

    hadoop102

  6)、到此,文件都配置完成,但是不要忘记啊,还要去.bash_profile文件中配置HADOOP_HOME环境变量,并加入PATH中

export JAVA_HOME=/export/servers/jdk1.8.0_271
export HADOOP_HOME=/export/servers/hadoop-3.3.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME

保存后依然不要忘记source .bash_profile

7、将hadoop复制到其他节点

    执行命令:

    scp -r ./hadoop-3.3.0 root@hadoop101:/export/servers/

    scp -r ./hadoop-3.3.0 root@hadoop102:/export/servers/

8、格式化

    第一次安装Hadoop需要格式化,以后就不要,千万记住,不要手残去格式化,这是个坑。格式化会导致namenode的id变,而datanode的id不会变化,这样执行hdfs命令会出现路径之类的错误。总之,初始化一次就够了。万一初始化多次造成错误,可以留言!!

    hdfs namenode -format

 

9、启动命令

  我比较喜欢用   start-all.sh

10、打开浏览器查看HDFS监听页面,到此才算成功了

 

posted @ 2020-12-02 14:29  梦想天空格外蓝  阅读(118)  评论(0)    收藏  举报