hadoop+zookeepe+hbase完全分布式配置详解

一、准备工作
    1.安装虚拟机+操作系统:VMware、CentOS
    2.设置基础环境三要素:IP、主机名、映射
    3.设置远程连接工具:secureCRT、FileZilla、Notepad++
    4.禁用安全系统和防火墙:service iptables、chkconfig iptables
    5.卸载系统自带JDK 并配置我们需要的JDK版本:rpm -qa、-e、vi /etc/profile

    注意:此处我们只安装一个Linux系统,后面进行克隆生成。速度更快,更方便

    8G内存:可每个虚拟机分1G内存  , 8G以上可分2G内存
    4G内存:看运气,最多512MB每台

    主机名和网络
    student01.com        02.com        03.com


----------- HDFS---------
 DataNode
 NameNode
 SecondaryNameNode

----------YARN---------
 ResourceManager
 NodeManager
 JobHistoryServer

 -------zookeeper--------
 QuorumPeerMain

 -------hbase -------------
 HMaster
 HRegionServer

 node1                    node2                    node3
NameNode                 DataNode                DataNode
ResourceManager            NodeManager                NodeManager
HMaster                    HRegionServer            HRegionServer
QuorumPeerMain             QuorumPeerMain          QuorumPeerMain
SecondaryNameNode
JobHistoryServer

    node1                    node2                    node3

    NameNode                 ResourceManager            HMaster    
    QuorumPeerMain            QuorumPeerMain            QuorumPeerMain
    DataNode                DataNode                DataNode
    NodeManager                NodeManager                NodeManager
    HRegionServer            HRegionServer            HRegionServer
    JobHistoryServer        SecondaryNameNode


二、完全分布式环境安装部署
        1.克隆虚拟机
        2.修改主机名
            --》vi /etc/sysconfig/network
        3.修改网络
            3.1  vi /etc/udev/rules.d/70-persistent-net.rules 
                    复制MAC地址( ATTR{address}),,删除eth0,
                    并将eth1修改为eth0
            3.2     vi /etc/sysconfig/network-scripts/ifcfg-eth0
                    替换eth0的MAC地址(HWADDR=)
                    重启网络   service network restart 
            
            3.4  Linux中修改/etc/hosts
                 windows:C:\Windows\System32\drivers\etc\hosts
                     修改好网络映射配置文件
                         在linux中  /etc/hosts 文件写入所有主机的网络及主机名

            3.5  在每一台Linux系统中都写入对方的网络映射信息。
                    ip地址  主机名

        4.SSH免密码登录
            步骤
                4.1 在客户端主机中生成公/私钥对   
                     ssh-keygen  -t rsa
                4.2将客户端主机中的公钥分发给服务端主机
                     ssh-copy-id   服务端主机地址

                         以上两步需要在三台主机上做相同操作
                                 注意:分发公钥时 也要发给自己

                4.3在客户端主机上免密码登录至服务端 
                     ssh   服务端主机地址

        5.上传hadoop二进制包到指定位置
            5.1解压
                tar -zxvf hadoop-2.6.0.tar.gz -C /opt/modules/

            5.2配置hadoop-env.sh   
                export JAVA_HOME=/opt/modules/jdk1.7.0_67

            5.3配置mapred-env.sh
                export JAVA_HOME=/opt/modules/jdk1.7.0_67

            5.4配置yarn-env.sh
                export JAVA_HOME=/opt/modules/jdk1.7.0_67

            5.5配置slaves
                选择node2、node3作为从节点
                    hadoop02.linux
                    hadoop03.linux

            5.6在HADOOP家目录下创建
                mkdir -p data/tmp

            5.7配置core-site.xml
                
                    fs.defaultFS
                    hdfs://hadoop01.linux:8020
                

                
                
                    hadoop.tmp.dir
                    /opt/modules/hadoop-2.6.0/data/tmp
                

            5.8配置hdfs-site.xml
                    
                        dfs.namenode.secondary.http-address
                        hadoop01.linux:50090
                        配置secondarynamenode
                    

                    
                        dfs.replication
                        2
                        配置默认副本数
                    

                    
                    
                        dfs.webhdfs.enabled
                        true
                        在NameNode和DataNode中启用WebHDFS
                    

                    
                        dfs.permissions.enabled
                        false
                        是否开启权限检查
                    

            5.9配置mapred-site.xml
                    hadoop配置文件中没有此文件,需要我们手动重命名此文件
                        cp mapred-site.xml.template mapred-site.xml

                    
                        mapreduce.framework.name
                        yarn
                    

                    

    mapreduce.jobhistory.address
    hadoop01.linux:10020

        
    mapreduce.jobhistory.webapp.address
    hadoop01.linux:19888

            5.10 配置yarn-site.xml
                  
                        yarn.nodemanager.aux-services
                        mapreduce_shuffle
                    

                    
                        yarn.resourcemanager.hostname
                        hadoop01.linux
                    

                    
                        yarn.log-aggregation-enable
                        true
                       启用日志聚合
                    

                    
                        yarn.log-aggregation.retain-seconds
                        604800
                    

                    
                        yarn.resourcemanager.webapp.address
                        hadoop01.linux:8088
                    

            5.11分发hadoop到各个节点
                scp -r hadoop-2.6.0/ hadoop02.linux:/opt/modules/
                scp -r hadoop-2.6.0/ hadoop03.linux:/opt/modules/

            5.12格式化namenode
                    bin/hdfs namenode -format

                    再次格式化时:删除HADOOP_HOME/data/tmp/下的所有内容,再进行格式化


            5.13启动节点
                    sbin/start-dfs.sh 
                    sbin/start-yarn.sh 
                    sbin/mr-jobhistory-daemon.sh start historyserver

            5.14 替换native包

            5.15 配置HADOOP_HOME
                在node1上配置即可

    三、zookeeper完全分布式环境安装配置

        1.解压
            tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/modules/

        2.创建目录
            mkdir -p mydata/zkData

        3.修改配置文件名称
            到conf目录下修改zoo_sample.cfg文件名称为zoo.cfg

        4.修改zoo.cfg配置文件
            dataDir=/opt/modules/zookeeper-3.4.6/mydata/zkData

            添加
                server.1=hadoop01.linux:2888:3888
                server.2=hadoop02.linux:2888:3888
                server.3=hadoop03.linux:2888:3888

        5.在zkData目录下创建
                vi myid
                编辑内容:1
                保存并退出

        6.分发配置好的zookeeper到各个节点
            scp -r zookeeper-3.4.6/ hadoop02.linux:/opt/modules/
            scp -r zookeeper-3.4.6/ hadoop03.linux:/opt/modules/

        7.修改各个节点上的myid文件
            对应第二个节点 便改为 2
            对应第三个节点 便改为 3

        8.启动zookeeper时  zookeeper会有一个选举的过程,需要等待一小段时间

                选出哪个为领导者
                    哪些又为跟随者
                   启动命令:bin/zkServer.sh start

                   查看集群状态命令:
                               bin/zkServer.sh status
                                   领导者:Mode: leader
                                   跟随者:Mode: follower

    四、HBase完全分布式环境搭建
        1.上传并解压到指定目录
            tar -zxvf hbase-1.0.2-bin.tar.gz -C /opt/modules/

            替换hadoop相关jar包

        2.配置hbase-env.sh
            指定JDK安装路径(which java)
                export JAVA_HOME=/opt/modules/jdk1.7.0_67

            2.1修改HBASE_MANAGES_ZK为false
                    --》代表使用我们自己配置的zookeeper
                export HBASE_MANAGES_ZK=false

        3.conf/hbase-site.xml
              
                hbase.rootdir
                hdfs://hadoop01.linux:8020/hbase
                hbase在HDFS上保存文件位置
              

              
                hbase.cluster.distributed
                true
                hbase是否是分布式的,true代表是
              

              
                hbase.zookeeper.quorum
                hadoop01.linux,hadoop02.linux,hadoop03.linux
                zookeeper所在节点名称
              

              
              
                hbase.master
                hadoop01.linux:60000
                配置HMaster的地址
              

        4.conf/regionservers
                --》指定从节点所在节点
                        hadoop02.linux
                        hadoop03.linux

        5.将Hbase目录分发到各个节点
             scp -r ../hbase-1.0.2/ hadoop02.linux:/opt/modules/
             scp -r ../hbase-1.0.2/ hadoop03.linux:/opt/modules/

        同步集群时间:hbase集群要求,所有集群节点之间时间不能相差超过30秒
            date -s "2017-12-15 09:34:00"

        6.启动hbase
            全部启动命令:start-hbase.sh 


        7.配置HBASE_HOME
            #HBASE_HOME
            export HBASE_HOME=/opt/modules/hbase-1.0.2
            export PATH=$PATH:$HBASE_HOME/bin


        HDFS :
                50070
                50090
        YARN :    
                8088
        job:    
                19888
        HBase:
                16010

你可能感兴趣的:(Hadoop)