Hadoop三种模式的安装与配置

  • 安装jdk(这里不展开)

1、Hadoop的本地模式

  • 用户:root
  • 主机名:bigdata111
  • 特点:
    (1)没有HDFS、也没有Yarn
    (2)只能测试MapReduce程序,作为一个普通的Java程序
    (3)处理的数据是本地Linux的文件
    (4)一般用于开发和测试
  • 解压:tar -zxvf hadoop-2.7.3.tar.gz -C /root/training/
  • 设置Hadoop的环境变量
    • vim ~/.bash_profile
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
  • 生效环境变量
source ~/.bash_profile
  • hadoop-env.sh
export JAVA_HOME=/root/training/jdk1.8.0_181
  • 测试MapReduce程序:执行WordCount
    • 准备测试数据
    • 位置:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
    • 命令:hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /root/temp /root/output/wc

2、Hadoop的伪分布模式

  • 用户:root
  • 主机名:bigdata111
  • 特点:
    (1)在单机上,模拟一个分布式的环境
    (2)具备Hadoop的所有的功能
    HDFS:NameNode、DataNode、SecondaryNameNode
    Yarn:ResourceManager、NodeManager
    (3)用于开发和测试
  • 解压:tar -zxvf hadoop-2.7.3.tar.gz -C /root/training/
  • 设置Hadoop的环境变量
    • vim ~/.bash_profile
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
  • 生效环境变量
source ~/.bash_profile
  • hadoop-env.sh
export JAVA_HOME=/root/training/jdk1.8.0_181
  • hdfs-site.xml
  
  
  
    dfs.replication
    1
  

  
  
  
    dfs.permissions
    false
  
  • core-site.xml
  
  
  
    fs.defaultFS
    hdfs://bigdata111:9000
  

  
  
  
    hadoop.tmp.dir
    /root/training/hadoop-2.7.3/tmp
  
  • mapred-site.xml:这个文件默认没有
    • cp mapred-site.xml.template mapred-site.xml
  
  
    mapreduce.framework.name
    yarn
  
  • yarn-site.xml
  
  
    yarn.resourcemanager.hostname
    bigdata111
  

  
  
    yarn.nodemanager.aux-services
    mapreduce_shuffle
  
  • 启动hadoop时免密码登录设置
cd ~/
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata111
  • 对NameNode进行格式化
hdfs namenode -format
  • 启动Hadoop:
start-all.sh

3、Hadoop的全分布模式

  • 用户:root
  • 主机名:bigdata112,bigdata113,bigdata114
  • 在xshell上同时登录三台主机
  • xshell:选项卡-->排列-->瓷砖排序
  • xshell:工具-->发送键到所有会话
  • 下面开始在三台主机上同时操作
  • 关闭防火墙:
ufw disable
  • vim /etc/hosts
192.168.136.112 bigdata112
192.168.136.113 bigdata113
192.168.136.114 bigdata114
  • 设置三台主机免密码登录
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114
  • 确保三台主机都已安装jdk(这里不展开)
  • 同步时间:(生产环境使用ntp服务同步,这里简单设置)
date -s 2020-10-10
  • 设置Hadoop的环境变量
    • vim ~/.bash_profile
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
  • 生效环境变量
source ~/.bash_profile
  • 架构示意图


    Hadoop的全分布模式的架构.png
  • 下面开始只在bigdata112上操作

  • 解压:tar -zxvf hadoop-2.7.3.tar.gz -C /root/training/

  • hadoop-env.sh

export JAVA_HOME=/root/training/jdk1.8.0_181
  • hdfs-site.xml
  
  
  
    dfs.replication
    2
  

  
  
  
    dfs.permissions
    false
  
  • core-site.xml
  
  
  
    fs.defaultFS
    hdfs://bigdata112:9000
  

  
  
  
    hadoop.tmp.dir
    /root/training/hadoop-2.7.3/tmp
  
  • mapred-site.xml:这个文件默认没有
    • cp mapred-site.xml.template mapred-site.xml
  
  
    mapreduce.framework.name
    yarn
  
  • yarn-site.xml
  
  
    yarn.resourcemanager.hostname
    bigdata112
  

  
  
    yarn.nodemanager.aux-services
    mapreduce_shuffle
  
  • slaves
bigdata113
bigdata114
  • NameNode格式化
hdfs namenode -format
  • 将配置好hadoop目录复制到另外两台主机上
scp -r /root/training/hadoop-2.7.3/ root@bigdata113:/root/training
scp -r /root/training/hadoop-2.7.3/ root@bigdata114:/root/training
  • 启动hadoop
start-all.sh
  • 在三台主机上执行jps查看各自启动的进程
    • bigdata112上有:NameNode,SecondaryNameNode,ResourceManager
    • bigdata113上有:DataNode,NodeManager
    • bigdata114上有:DataNode,NodeManager

你可能感兴趣的:(Hadoop三种模式的安装与配置)