• Linux环境Hadoop安装配置


    转载地址:YBCarry

    Linux下,配置Hadoop的相关配置文件:
    在这里插入图片描述

    1. 准备工作

    (1)linux配置IP(NAT模式)

    • 相关信息必须与VMnet8保持一致
    • 通过命令:vi /etc/sysconfig/network-scripts/ifcfg-(自己的名字) 进行编辑
    TYPE=Ethernet
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=9cbcf25a-600d-4d9c-88ad-ab509ab6e52a
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.44.121
    PREFIX=24
    GATEWAY=192.168.44.2
    DNS1=8.8.8.8
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_PRIVACY=no
    
    • 重启网络服务:service network restart

    (2)linux关闭防火墙

    • 查看防火墙状态:firewall-cmd --state ->running
    • 关闭防火墙-本次有效:systemctl stop firewalld.service
    • 禁用防火墙-永久生效:systemctl disable firewalld.service ->not running

    (3)设置主机名

    • 位置:vi /etc/hostname,输入主机名
    • **注意:**需要重启:reboot

    (4)设置映射

    • 位置:vi /etc/hosts,输入集群全部IP和主机名
    • 格式:192.168.44.111 bigdata111

    (5)设置免密登录

    • 生成密钥:ssh-keygen (三次回车键)
    • 拷贝到主机:ssh-copy-id 主机名 (所有节点都拷贝)

    2. 安装jdk

    (1)上传安装包:

    CRT:alt+p
    winscp:拖入目录
    

    (2)解压:

    tar -zxvf jdkXXXXX.tar.gz -C 目标目录
    

    (3)配置环境变量:

    命令:

    export JAVA_HOME=jdk目标目录
    export PATH=JAVA_HOME/bin
    

    **注意:**需要使环境变量生效:source /etc/profile

    3. 分发jdk到其他节点

    (1)发送文件:

    scp jdk 目标主机名:目标目录
    scp /etc/profile 目标主机名:目标目录
    source /etc/profile
    

    (2)验证:

    javac java java -version
    

    4. 安装hadoop

    (1)上传安装包:

    CRT:alt+p
    winscp:拖入目录
    

    (2)解压:

    tar -zxvf HadoopXXXXX.tar.gz -C 目标目录
    

    (3)配置环境变量:

    命令:

    vi /etc/profile
    
    export HADOOP_HOME=HADOOP目标目录
    export PATH=HADOOP_HOME/bin:$HADOOP_HOME/sbin
    

    **注意:**需要使环境变量生效:source /etc/profile

    (4)修改配置文件:

    hadoop-env.sh
    export JAVA_HOME=Java路径
    

    core-site.xml

      <!-- 指定HDFS中NameNode的地址 -->
      <property>
              <name>fs.defaultFS</name>
              <value>hdfs://bigdata121:9000</value>
      </property>
    
      <!-- 指定hadoop运行时产生文件的存储目录 -->
      <property>
              <name>hadoop.tmp.dir</name>
              <value>/opt/module/hadoop-2.7.3/tmp</value>
      </property>
    
      <!-- 回收站设置,保存时间两天  -->
      <property>
              <name>fs.trash.interval</name>
              <value>2880</value>
      </property>
    
    

    hdfs-site.xml

      <!-- 指定HDFS副本的数量,数据块冗余度(默认为3) -->
      <property>
              <name>dfs.replication</name>
              <value>2</value>
      </property>
    
      <!-- 指定hadoop产生namenode、datanode文件的存储目录 -->
    
    
        <!--注释配置HDFS的权限检查,默认是true-->
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
    
        <!-- hdfs副本的配置bigdata122 -->
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>bigdata122:50090</value>
        </property>
    
        <!-- 配置checkpoint时间 -->
        <property>
            <name>dfs.namenode.checkpoint.period</name>
            <value>3600</value>
    	</property>
    
    

    mapred-site.xml(默认没有) $ cp mapred-site.xml.template mapred-site.xml mapreduce.framework.name yarn

    yarn-site.xml

      <!--配置Yarn的ResourceManager的地址-->
      <property>
              <name>yarn.resourcemanager.hostname</name>
              <value>bigdata121</value>
      </property>
      <property>  
      	<name>yarn.resourcemanager.address</name>  
      	<value>bigdata121:8032</value>  
      </property>  
      <property>  
      	<name>yarn.resourcemanager.scheduler.address</name>  
      	<value>bigdata121:8030</value>  
      </property>  
      <property>  
      	<name>yarn.resourcemanager.resource-tracker.address</name>  
      	<value>bigdata121:8031</value>  
      </property>
    
      <!--NodeManager执行MR任务的方式是Shuffle洗牌-->
      <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
      </property>
    
      <property>
      		<name>yarn.nodemanager.pmem-check-enabled</name>
      		<value>false</value>
      </property>
    
      <property>
      		<name>yarn.nodemanager.vmem-check-enabled</name>
      		<value>false</value>
      </property>
    
    

    (5)修改slaves文件:

    加入从节点的主机名

    (6)格式化namenode

    hadoop namenode -format
    

    (7)启动:

    start-all.sh	//不推荐这种方式
    
    //Hadoop启动停止
    分别启动hdfs组件: hadoop-daemon.sh start|stop   namenode|datanode|secondartnamenode
    启动yarn:		yarn-daemon.sh		start|stop	resourecemanager|nodemanager
    
    各个模块分开启动:(配置ssh是前提)
    start|stop-dfs.sh		start|stop-yarn.sh
    

    重复格式化:hadoop.tmp.dir

    • 停止集群
    • 删除原来的tmp文件。(rm -rf)
    • 重新格式化
    • 启动集群

    Hadoop集群结构

    在这里插入图片描述

    HDFS_DownLoad

    在这里插入图片描述

    HDFS_Upload

    在这里插入图片描述

    namenode工作机制

    在这里插入图片描述

    datanode工作机制

    在这里插入图片描述

    maptask决定机制

    在这里插入图片描述

    yarn工作流程

    在这里插入图片描述

    mapreduce流程

    在这里插入图片描述

    shuffle机制

    在这里插入图片描述

  • 相关阅读:
    Git撤销commit消息保留修改
    switchysharp设置
    Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它
    Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像
    Windows10下的docker安装与入门 (一)使用docker toolbox安装docker
    semver(Semantic Versioning)
    conda install mingw libpython
    下载 安装MYsql 服务器
    .NET(c#) 移动APP开发平台
    .NET(c#) 移动APP开发平台
  • 原文地址:https://www.cnblogs.com/aixing/p/13327400.html
Copyright © 2020-2023  润新知