Hadoop学习之完全分布式集群搭建

Hadoop学习之完全分布式集群搭建,第1张

Hadoop学习之完全分布式集群搭建 Hadoop搭建完全分布式

***了解

 

创建Centos7通过虚拟机安装

虚拟机IP配置静态IP,如参考文件***  

1.角色划分:

 

2.主机名和映射配置
  1. 主机名(3台机器)

vim /etc/hostname

node1/node2/node3

  1. Hosts映射(3台机器)

      vim /etc/hosts

192.168.88.100 node1

192.168.88.101 node2

192.168.88.102 node3

服务器基础环境准备 1.防火墙关闭(3台机器

     systemctl stop firewalld.service   #关闭防火墙

     systemctl disable firewalld.service #禁止防火墙开启自启

2. ssh免密登录(node1执行->node1|node2|node3)

cd ~/.ssh              # 如果没有该目录,先执行一次ssh localhost

rm ./id_rsa*           # 删除之前生成的公匙(如果已经存在)

ssh-keygen -t rsa       # 执行该命令后,遇到提示信息,一直按回车就可以

ssh无密码登录本机:

cat ./id_rsa.pub >> ./authorized_keys

拷贝此公钥到其他机器

scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/

在其他机器上配置主机免密登录:

mkdir ~/.ssh       # 如果不存在该文件夹需先创建,若已存在,则忽略本命令

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

rm ~/id_rsa.pub    # 用完以后就可以删掉

3. 集群时间同步(3台机器)

      yum -y install ntpdate

      ntpdate ntp4.aliyun.com

4.安装Java

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

/opt/module/jdk1.8.0_212

5.安装Hadoop

tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

/opt/module/hadoop-3.1.3

6.配置PATH环境变量

#JAVA环境变量

export JAVA_HOME=/opt/module/jdk1.8.0_212

export PATH=$PATH:$JAVA_HOME/bin

#HADOOP环境变量

export HADOOP_HOME=/opt/module/hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

7.

 

8.配置文件修改

参考文件如***

 

  1. hadoop-env.sh

      cd /opt/module/hadoop-3.1.3/etc/hadoop/

      vim hadoop-env.sh

#配置JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_212

#设置用户以执行对应角色shell命令

export HDFS_NAMENODE_USER=root

export HDFS_DATANODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

  1. core-site.xml

      cd /opt/module/hadoop-3.1.3etc/hadoop/

      vim core-site.xml


   
   
   
   

        fs.defaultFS
        hdfs://hadoop100:8020
   

   
   

        hadoop.tmp.dir
        /opt/module/hadoop-3.1.3
   

   
   

        hadoop.http.staticuser.user
        root
   

  1. hdfs-site.xml

      cd /opt/module/hadoop-3.1.3/etc/hadoop/

      vim hdfs-site.xml


<property>
    <
name>dfs.namenode.secondary.http-addressname>
    <
value>hadoop101:9868value>
property>

  1. mapred-site.xml   

      cd /opt/module/hadoop-3.1.3/etc/hadoop/

      vim mapred-site.xml


<property>
    <
name>mapreduce.framework.namename>
    <
value>yarnvalue>
property>

<property>
    <
name>yarn.app.mapreduce.am.envname>
    <
value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
property>

<property>
    <
name>mapreduce.map.envname>
    <
value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
property>

<property>
    <
name>mapreduce.reduce.envname>
    <
value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
property>

  1. yarn-site.xml

      cd /opt/module/hadoop-3.1.3/etc/hadoop/

      vim yarn-site.xml


<property>
    <
name>yarn.resourcemanager.hostnamename>
    <
value>hadoop100value>
property>

<property>
    <
name>yarn.nodemanager.aux-servicesname>
    <
value>mapreduce_shufflevalue>
property>

<property>
    <
name>yarn.scheduler.minimum-allocation-mbname>
    <
value>512value>
property>

<property>
    <
name>yarn.scheduler.maximum-allocation-mbname>
    <
value>2048value>
property>

<property>
    <
name>yarn.nodemanager.vmem-pmem-rationame>
    <
value>4value>
property>

  1. workers

      cd /opt/module/hadoop-3.1.3/etc/hadoop/

      vim workers

hadoop100

hadoop101

hadoop102

8分发同步安装包
  1. 在node1机器上将Hadoop安装包scp同步到其他机器

      cd /opt/module/

      scp -r hadoop-3.1.3 root@hadoop101: /opt/module/

      scp -r hadoop-3.1.3 root@hadoop102: /opt/module/

9配置Hadoop环境变量
  1. 在node1上配置Hadoop环境变量

      vim /etc/profile

      export HADOOP_HOME=/opt/module/hadoop-3.1.3

      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  1. 将修改后的环境变量同步其他机器

      scp /etc/profile root@hadoop101:/etc/

      scp /etc/profile root@hadoop102:/etc/

  1. 重新加载环境变量 验证是否生效(3台机器)     

      source /etc/profile

      hadoop #验证环境变量是否生效

10.NameNode format(格式化 *** 作)
  1. 首次启动HDFS时,必须对其进行格式化 *** 作。
  2. format本质上是初始化工作,进行HDFS清理和准备工作
  3. 命令:

      hdfs namenode -format

11.hadoop集群启动

手动逐个进程启停

  1. 每台机器上每次手动启动关闭一个角色进程
  2. HDFS集群

      hdfs --daemon start namenode|datanode|secondarynamenode

      hdfs --daemon stop  namenode|datanode|secondarynamenode

  1. YARN集群

      yarn --daemon start resourcemanager|nodemanager

      yarn --daemon stop  resourcemanager|nodemanager

shell脚本一键启停

  1. 在node1上,使用软件自带的shell脚本一键启动
  2. 前提:配置好机器之间的SSH免密登录和workers文件。
  3. HDFS集群

      start-dfs.sh

      stop-dfs.sh

  1. YARN集群

      start-yarn.sh

      stop-yarn.sh

  1. Hadoop集群

      start-all.sh

      stop-all.sh

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5676684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)