mapreduce集群的搭建及安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/firstchange/article/details/78567940

mapreduce集群的搭建及安装

  • 节点分配

    NameNode
        node01
            主
        node02
            从
    DataNode
        node02
        node03
        node04
    zookeeper
        node02
        node03
        node04
    zkfc
        node01
        node02
    journalnode
        node01
        node02
        node03
    resourcemanager
        node03
        node04
    nodemanager
        node02
        node03
        node04
    
  • 环境检测

    安装jdk
        配置环境变量
    配置免秘钥
        如果本身没有.ssh文件需要先生成
            ssh localhost
        如果要和其他节点免秘钥需要将自己的公钥发给他,并追加公钥
            ssh-keygen -t dsa -P '' -f ./id_dsa
            scp -r ./id_dsa.pub root@node0*:`pwd`/node0*.pub
            cat node0*.pub >> aut……
    
  • 安装hadoop

    解压hadoop到指定目录下
    配置配置文件
        配置三个env.sh,将其中的JAVA_HOME写死
    
        修改hdfs-site.xml
    
            命名集群名
                <name>dfs.nameservices</name>
                  <value>mycluster</value>
            命名集群下的两个NN的名称
                <name>dfs.ha.namenodes.mycluster</name>
                  <value>nn1,nn2</value>
            分别对两个NN指定其物理路径:ip加 端口号
                 <name>dfs.namenode.rpc-address.mycluster.nn1</name>
                  <value>node01:8020</value>
                <name>dfs.namenode.rpc-address.mycluster.nn2</name>
                  <value>node02:8020</value>
            指定两个NN的浏览器访问路径:ip加端口号
                <name>dfs.namenode.http-address.mycluster.nn1</name>
                  <value>node01:50070</value>
                <name>dfs.namenode.http-address.mycluster.nn2</name>
                  <value>node02:50070</value>
            指定edits的路径,在journalnode服务器上,因为journalnode服务器是公用的,所以需要指定集群名以示区分
                <name>dfs.namenode.shared.edits.dir</name>
                  <value>qjournal://node01:8485;node02:8485;node03:8485/mycluster</value>
            在本机上给一个路径表示edits的地址
                 <name>dfs.journalnode.edits.dir</name>
                  <value>/var/sxt/hadoop/ha/jn</value>
            给一个类
                <name>dfs.client.failover.proxy.provider.mycluster</name>
                  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
            还有两个不知道
                <name>dfs.ha.fencing.methods</name>
                  <value>sshfence</value>
                  <name>dfs.ha.fencing.ssh.private-key-files</name>
                  <value>/root/.ssh/id_dsa</value>
            打开主从NN的切换
                 <name>dfs.ha.automatic-failover.enabled</name>
                   <value>true</value>
    
        修改core-site.xml
            默认文件系统路径
                 <name>fs.defaultFS</name>
                  <value>hdfs://mycluster</value>
            hadoop临时文件存放路径
                /var/sxt/hadoop-2.6/ha
            zookeeper集群节点信息
                 <name>ha.zookeeper.quorum</name>
                   <value>node02:2181,node03:2181,node04:2181</value>
    
  • 安装zookeeper

    将zookeeper解压到指定目录下
    配置配置文件
        将conf/zoo重命名为zoo.cfg
        在里面将数据存放目录改掉
            dataDir=/var/sxt/zk
        添加服务器节点信息
            server.1=node02:2888:3888
            server.2=node03:2888:3888
            server.3=node04:2888:3888
        在各个节点的/var/sxt/zk下创建一个myid文件,并将值加入其中
            echo 1 > myid
    
  • 启动hadoopHA集群

    启动zookeeper
        zkServer.sh start
        检查zookeeper状态
            zkServer.sh status
    启动journalnode
        hadoop-daemon.sh start journalnode
    在主NN上
        格式化namenode
            hdfs namenode –format
        启动NameNode
            hadoop-daemon.sh start namenode
    在另一台NN上
        hdfs namenode  -bootstrapStandby
    格式化zkfc
        hdfs zkfc -formatZK
    启动dfs
        start-dfs.sh
    检查集群
        jps
        通过浏览器访问
    
  • hadoop+yarn的搭建

    目标:用yarn来管理hadoop集群的资源调度
    配置mapred-site.xml
        指定mapreduce框架名yarn
            <name>mapreduce.framework.name</name>
                    <value>yarn</value>
    配置yarn-site.xml
        指定shuffle
            <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
        开启ResourceManager
            <name>yarn.resourcemanager.ha.enabled</name>
               <value>true</value>
        指定集群id
            <name>yarn.resourcemanager.cluster-id</name>
               <value>cluster1</value>
        指定ResourceManager的虚拟节点
               <name>yarn.resourcemanager.ha.rm-ids</name>
               <value>rm1,rm2</value>
        指定ResourceManager真实物理
            <name>yarn.resourcemanager.hostname.rm1</name>
               <value>node03</value>
            <name>yarn.resourcemanager.hostname.rm2</name>
               <value>node04</value>
        指定zookeeper节点,利用zookeeper实现高可用
            <name>yarn.resourcemanager.zk-address</name>
               <value>node02:2181,node03:2181,node04:2181</value>
    启动hadoop+yarn
        前面的hadoopHA已经启动
        在node01上启动yarn
            start-yarn.sh
            在node03和node04上分别启动ResourceManager
                yarn-daemon.sh start resourcemanager
    

猜你喜欢

转载自blog.csdn.net/firstchange/article/details/78567940