• hadoop2.6.4集群笔记


    ---恢复内容开始---

    一,linux下的准备工作

    1,修改主机名:

    vi /etc/sysconfig/network

    2,修改ip

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    3,修改主机名和ip的映射

    vi /etc/hosts

    192.168.145.109 eddy01                                                                                              
    192.168.145.110 eddy02                                                                                              
    192.168.145.111 eddy03                                                                                              
    192.168.145.112 eddy04                                                                                              
    192.168.145.113 eddy05                                                                                              
    192.168.145.114 eddy06                                                                                              
    192.168.145.115 eddy07 

    4,关闭防火墙

    5,在生产坏境中,操作linux不可能用root用户,最好添加一个普通的用户

      useradd eddy

      password eddy

    6,给eddy用户添加sudo指令,

      vi /etc/sudoers

    7,查看是否有java环境

    8,配置JAVA_HOME环境变量

      vi /etc/profile

      source /etc/profile

    9,ssh的免密登录

    ssh-keygen

    不要忘了在使用hadoop命令中的start-all.sh命令需要给自己一个免密登录公钥
    ssh-copy-id eddy02

    二,hadoop集群

    规划:

      1,eddy01   namenode    resourcemanager

      2,eddy02 datanode  nodemanager

      3,eddy02 datanode  nodemanager

      4,eddy02 datanode  nodemanager

    执行:

    1,在eddy01中的/home/eddy/中mkdir一个apps

      mkdir/home/eddy/apps

    2,在apps中解压java和hadoop 

    [eddy@eddy01 ~]$ cd apps/
    [eddy@eddy01 apps]$ ll
    total 8
    drwxrwxr-x. 11 eddy eddy 4096 Mar 28 23:14 hadoop-2.6.4
    drwxr-xr-x.  8 eddy eddy 4096 Mar 28 22:38 jdk1.7.0_79

    3,在/etc/profile中添加JAVA_HOME和HADOOP_HOME环境变量

        export HISTCONTROL=ignoredups                                                                 
    fi                                                                                                
    
    export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL                                       
    
    # By default, we want umask to get set. This sets it for login shell                              
    # Current threshold for system reserved uid/gids is 200                                           
    # You could check uidgid reservation validity in                                                  
    # /usr/share/doc/setup-*/uidgid file                                                              
    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then                                          
        umask 002                                                                                     
    else                                                                                              
        umask 022                                                                                     
    fi                                                                                                
    
    for i in /etc/profile.d/*.sh ; do                                                                 
        if [ -r "$i" ]; then                                                                          
            if [ "${-#*i}" != "$-" ]; then                                                            
                . "$i"                                                                                
            else                                                                                      
                . "$i" >/dev/null 2>&1                                                                
            fi                                                                                        
        fi                                                                                            
    done                                                                                              
    
    unset i                                                                                           
    unset -f pathmunge                                                                                
    
    JAVA_HOME=/home/eddy/apps/jdk1.7.0_79                                                             
    CLASSPATH=.:$JAVA_HOME/lib.tools.jar                                                              
    PATH=$JAVA_HOME/bin:$PATH                                                                         
    export JAVA_HOME CLASSPATH PATH                                                                   
    
    export HADOOP_HOME=/home/eddy/apps/hadoop-2.6.4                                                   
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin               
                               

     4,分别拷贝/etc/profile文件到其它三台主机上

    scp /etc/profile eddy@eddy02:/etc/

    scp /etc/profile eddy@eddy03:/etc/

    scp /etc/profile eddy@eddy04:/etc/

     5,配置hadoop配置文件

    cd /home/eddy/apps/hadoop-2.6.4/etc/hadoop

    1,hadoop-env.sh中添加java环境变量

    export JAVA_HOME=/home/eddy/apps/jdk1.7.0_79  

    2,vi core-site.xml

    <configuration>                                                                                                     
    <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->                                      
                                                                                                                        
                    <property>                                                                                          
                                                                                                                        
                            <name>fs.defaultFS</name>                                                                   
                                                                                                                        
                            <value>hdfs://eddy01:9000</value>                                                           
                                                                                                                        
                    </property>                                                                                         
                                                                                                                        
                    <!-- 指定hadoop运行时产生文件的存储目录 -->                                                         
                                                                                                                        
                    <property>                                                                                          
                                                                                                                        
                            <name>hadoop.tmp.dir</name>                                                                 
                                                                                                                        
                            <value>/home/eddy/apps/hadoop-2.6.4/tmp</value>                                             
                                                                                                                        
        </property>                                                                                                     
    </configuration> 

    3,hdfs-site.xml

    <configuration>                                                                                                     
    <!-- 指定HDFS副本的数量 -->                                                                                         
                                                                                                                        
                    <property>                                                                                          
                                                                                                                        
                            <name>dfs.replication</name>                                                                
                                                                                                                        
                            <value>2</value>                                                                            
                                                                                                                        
                    </property>                                                                                         
                                                                                                                        
                                                                                                                        
                                                                                                                        
                    <property>                                                                                          
                                                                                                                        
                            <name>dfs.secondary.http.address</name>                                                     
                                                                                                                        
                            <value>eddy01:50090</value>
    
                    </property>                                                                       
    </configuration> 

    4,mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)

    <configuration>                                                                                                     
    <!-- 指定HDFS副本的数量 -->                                                                                         
                                                                                                                        
                    <property>                                                                                          
                                                                                                                        
                            <name>dfs.replication</name>                                                                
                                                                                                                        
                            <value>2</value>                                                                            
                                                                                                                        
                    </property>                                                                                         
                                                                                                                        
                                                                                                                        
                                                                                                                        
                    <property>                                                                                          
                                                                                                                        
                            <name>dfs.secondary.http.address</name>                                                     
                                                                                                                        
                            <value>eddy01:50090</value>
    
                    </property>                                                                       
    </configuration>  

    5, yarn-site.xml

    <configuration>                                                                                                     
    <!-- 指定YARN的老大(ResourceManager)的地址 -->                                                                    
                                                                                                                        
                    <property>                                                                                          
                                                                                                                        
                            <name>yarn.resourcemanager.hostname</name>                                                  
                                                                                                                        
                            <value>eddy01</value>                                                                       
                                                                                                                        
                    </property>                                                                                         
                                                                                                                        
                    <!-- reducer获取数据的方式 -->                                                                      
                                                                                                                        
                    <property>                                                                                          
                                                                                                                        
                            <name>yarn.nodemanager.aux-services</name>                                                  
                                                                                                                        
                            <value>mapreduce_shuffle</value>                                                            
                                                                                                                        
                    </property>                                                                                         
    <!-- Site specific YARN configuration properties -->                                                                
                                                                                                                        
    </configuration>  

    6,以eddy用户的身份cp到其它三台主机上。

    注意:⚠️如果用root用户cp会出现hadoop在启动的时候权限访问的问题,

    scp -r /home/eddy/apps eddy@eddy02:/home/eddy/

    scp -r /home/eddy/apps eddy@eddy04:/home/eddy/

    scp -r /home/eddy/apps eddy@eddy03:/home/eddy/

    7,格式化namenode

    hdfs namenode -format (hadoop namenode -format)

    8,启动dfs分布式文件系统

    hadoop-daemon start namenode

    9,在其它三台主机上启动datanode

    hadoop-daemon.sh start datanode

    10查看页面

    http://eddy01:50070/

     关闭进程

    hadoop-daemon stop namenode

    hadoop自动化启动脚本的说明:

     1,上述中,只有三个节点,但是如果还有更多,就需要自动化启动

    如:start-all.sh

      start-dfs.sh

        start-yarn.sh

    这里说明一下/home/eddy/apps/hadoop-2.6.4/etc/hadoop中的slaves文件,

    eddy01                                                                                                              
    eddy02                                                                                                              
    eddy03                                                                                                              
    eddy04  

    当使用start-all.sh启动的时候会ssh到slaves文件中的主机上启动namenode,resourcemanager等进程。

    ---恢复内容结束---

  • 相关阅读:
    Maven命名约定
    8.30面试
    8.28面试
    8.27面试总结
    vue引入图片之require()
    使用pxtorem时遇到PostCSS plugin postcss-pxtorem requires PostCSS 8
    vue之Missing required prop: "id"
    git首次使用
    vue中style的scoped属性
    JavaScript中的this与function中的this
  • 原文地址:https://www.cnblogs.com/Eddyer/p/6639072.html
Copyright © 2020-2023  润新知