• 大数据学习系列(7)-- hadoop集群搭建


    1、配置ssh免登陆

    #进入到我的home目录
    cd ~/.ssh
    
    ssh-keygen -t rsa
    执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
    将公钥拷贝到要免密登陆的目标机器上
    ssh-copy-id localhost
    ---------------------------
    ssh免登陆:
        生成key:
        ssh-keygen
        复制从A复制到B上:
        ssh-copy-id B
        验证:
        ssh localhost/exit,ps -e|grep ssh
        ssh A  #在B中执行

    2、安装JDK
    2.1 wget 下载jdk tar包
    
    2.2 解压jdk
        #创建文件夹
        mkdir /home/hadoop/app
        #解压
        tar -zxvf jdk1.8.0_144.tar.gz -C /home/hadoop/app
    
    2.3 将java添加到环境变量中
        vim /etc/profile
        #在文件最后添加
        export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
        export PATH=$PATH:$JAVA_HOME/bin
    
        #刷新配置
        source /etc/profile

    3.安装hadoop2.8.3先上传hadoop的安装包到服务器上去/home/hadoop/

    注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
    伪分布式需要修改如下配置文件:
    
    3.1配置hadoop
    第一个:hadoop-env.sh
        vim hadoop-env.sh
        # 修改jdk环境变量
        export JAVA_HOME=/usr/java/jdk1.8.0_144
    
    第二个:core-site.xml
    
        <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://node1:9000</value>
        </property>
        <!-- 指定hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/hadoop-2.8.3/tmp</value>
    </property>
    
    第三个:hdfs-site.xml   
        <!-- 指定HDFS副本的数量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    
        <property>
            <name>dfs.secondary.http.address</name>
            <value>192.168.1.152:50090</value>
        </property>
    
    
    
    
    第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
        mv mapred-site.xml.template mapred-site.xml
        vim mapred-site.xml
        <!-- 指定mr运行在yarn上 -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    
    第五个:yarn-site.xml
        <!-- 指定YARN的老大(ResourceManager)的地址 -->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>node1</value>
        </property>
        <!-- reducer获取数据的方式 -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    
    3.2 将hadoop添加到环境变量
    
    vim /etc/proflie
        export JAVA_HOME=/usr/java/jdk1.8.0_144
        export HADOOP_HOME=/itcast/hadoop-2.8.3
        export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    source /etc/profile
    
    3.3 格式化namenode(是对namenode进行初始化)
        hdfs namenode -format (hadoop namenode -format)
    
    3.4 启动hadoop
        先启动HDFS
        sbin/start-dfs.sh
    
        再启动YARN
        sbin/start-yarn.sh
    
    3.5 验证是否启动成功
        使用jps命令验证
        27408 NameNode
        28218 Jps
        27643 SecondaryNameNode
        28066 NodeManager
        27803 ResourceManager
        27512 DataNode
    
        http://node1:50070 (HDFS管理界面)
        http://node1:8088 (MR管理界面)
    注意:

    1、确保集群节点防火墙关闭

    2、datanode可以正常启动,但是就是无法与namenode通讯,查看logs/下日志,会发现: Unable to connect to remote host:Connection refused
    namenode下/etc/hosts 中有127.0.1.1(它监听的本地地址,是一个本地回环地址)


    本地模式

    wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.8.3/hadoop-2.8.3.tar.gz
    
    #解压到/opt/moudles
    
    tar -zxf hadoop-2.8.3/hadoop-2.8.3.tar.gz -C /opt/moudles
    
    cd /opt/moudles/hadoop-2.8.3
    
    mkdir wcinput
    
    touch wc.input
    
    vim wc.input  #写入一些单词
    
    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.3.jar wordcount wcinput wcoutput
    

    伪分布式

    # hadoop中创建一个临时目录
    
    mkdir data    
    mkdir data/tmp
    
    # core-site.xml
    
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://aly_ye:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/moudles/hadoop-2.8.3/data/tmp</value>
        </property>
    </configuration>
    
    # hdfs-site.xml
    
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    
    # 启动namenode
    
    sbin/hadoop-daemon.sh start namenode
    
    # 启动datanode
    
    sbin/hadoop-daemon.sh start datanode

    官方文档:http://hadoop.apache.org/docs/r2.8.3/hadoop-project-dist/hadoop-common/SingleCluster.html

    hdfs垃圾回收

    在core-site.xml配置垃圾回收时间:

    <configuration>
        <property>
            <name>fs.trash.interval</name>
            <value>1000</value>
        </property>
    </configuration>

    启动方式

    1、hadoop-daemon.sh、yarn-daemon.sh 逐一启动

    2、start-dfs.sh、start-yarn.sh  分开启动(比较常用)

    3、start-all.sh  一起启动



  • 相关阅读:
    Matlab GUI保存图片
    Matlab GUI读入图片
    Android如何缓存你的BITMAP对象
    115个Java面试题和答案——终极列表(下)
    115个Java面试题和答案——终极列表(上)
    java面试题及答案(基础题122道,代码题19道)
    安卓面试题精华
    写些安卓开发的面试题
    Android笔试总结
    Android 面试题(答案最全)
  • 原文地址:https://www.cnblogs.com/tianboblog/p/8282404.html
Copyright © 2020-2023  润新知