zoukankan      html  css  js  c++  java
  • CentOS下搭建Hadoop

    参考:Hadoop官网文档

    版本:hadoop-3.2.0

    安装配置jdk

    因hadopp是java开发的,所以安装hadoop前需要先有java的jdk环境。

    参考:https://blog.csdn.net/u013248434/article/details/70304526

    因CentOS7自带java,只需找到java路径,配置环境变量即可

    [cjp@centos] which java
    /usr/bin/java
    
    [cjp@centos] ls /usr/bin/java
    /usr/bin/java
    
    [cjp@centos] ls -l /usr/bin/java
    lrwxrwxrwx. 1 root root 22 Jun 20 03:00 /usr/bin/java -> /etc/alternatives/java
    
    [cjp@centos] ls -l /etc/alternatives/java
    lrwxrwxrwx. 1 root root 71 Feb  3 17:29 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java         (可以看出文件是link ,是个链接)
    
    [cjp@centos] ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java
    -rwxr-xr-x. 1 root root 7376 Oct 31 05:21 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java
    
    [cjp@centos] cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
    [cjp@centos] ls
    jre
    

    配置环境变量

    # 添加环境变量
    [cjp@centos] sudo vim /etc/profile
    
    # 在/etc/profile中加入以下内容
    	export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
    	export PATH=$JAVA_HOME/bin:$PATH
    
    # 配置文件生效
    [cjp@centos] source /etc/profile
    
    # 查看是否已添加生效
    [cjp@centos] echo $JAVA_HOME
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
    

    安装Hadoop

    本次安装是以练习为目的,使用的是伪分布式模式(只有一台机器),这台机子即是主节点namenodes,同时也有一个计算节点,所有主节点需要可以免密码登陆所有数据节点datanodes的机子;如果还为配置,可执行下面三行代码:

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys
    

    下载解压

    • 下载(清华镜像)

      wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
      
    • 解压

      # 解压tar.gz
      tar -xzvf hadoop-3.2.0.tar.gz
      # 解压到指定文件夹:
      tar -xzvf hadoop-3.2.0.tar.gz -C /home/chenjunpeng/app
      

    配置文件

    参考:https://www.cnblogs.com/forbeat/p/8179877.html

    文件路径: ~/app/hadoop-3.2.0/etc/hadoop

    • java配置

      • hadoop-env.sh

        echo $JAVA_HOME
        >>> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre
        

    找到并修改
    xml export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre

    • hdfs配置

      • core-site.xml(伪分布式模式)

        <!-- 指定HDFS老大(namenode)的通信地址 -->
        <property>
        	<name>fs.defaultFS</name>
          	<value>hdfs://localhost:9000</value>
        </property>	
        
        <!-- 指定hadoop运行时产生文件的存储路径 -->
        <!-- 如果不重新设置存储路径,默认是缓冲路径下,每次重启数据就会清空丢失-->    
        <property>
          	<name>hadoop.tmp.dir</name>
          	<value>/home/cjp/app/hadoop-tmp</value>
        </property>	
        
      • hdfs-site.xml

        <!-- 设置hdfs副本数量 -->
        <!-- 1个就是伪分布-->
        <property>
        	<name>dfs.replication</name>
        	<value>1</value>
        </property>
        
    • yarn配置

      • mapred-site.xml

        # 由于在配置文件目录下没有,需要复制模版:
        # 新版本已经不是模版了,直接使用
        mv mapred-site.xml.template mapred-site.xml
        
        <configuration>
        <!-- 通知框架MR使用YARN -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        </configuration>
        
      • yarn-site.xml

        <configuration>
        <!-- reducer取数据的方式是mapreduce_shuffle -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        </configuration>
        

    启动hadoop

    格式化HDFS

    1. 注意:这一步操作,只是在第一次时执行,每次如果都格式化的话,那么HDFS上的数据就会被清空

    2. bin目录下

      ./hdfs namenode -format
      

    启动hdfs和yarn

    # 先启动HDFS
    sbin/start-dfs.sh 
    # 再启动YARN
    sbin/start-yarn.sh
    
    [cjp@centos sbin]$ ./start-dfs.sh
    Starting namenodes on [localhost]
    Starting datanodes
    Starting secondary namenodes [centos]
    [cjp@centos sbin]$ ./start-yarn.sh
    Starting resourcemanager
    Starting nodemanagers
    

    可以在浏览器中查看hdfs和mr的状态.

    hdfs管理界面:http://localhost:50070 / http://localhost:9870(3.0版本后的端口号)

    MR的管理界面:http://localhost:8088

    停止hdfs和yarn

    sbin/stop-yarn.sh
    sbin/stop-dfs.sh
    

    Hadoop常用命令总结

  • 相关阅读:
    3组Alpha冲刺5/6
    3组Beta冲刺4/5
    3组Alpha冲刺6/6
    3组Beta冲刺2/5
    3组Beta冲刺3/5
    delegate Demo (一个关于System.Timers.Timer的Demo)
    System.Web.HttpException 与 HTTP Error 404.13 Not Found问题解决说明
    常用SQL关于表的操作
    设计模式学习笔记:单例模式
    JS 实践杂记
  • 原文地址:https://www.cnblogs.com/stream886/p/10489601.html
Copyright © 2011-2022 走看看