Hadoop集群搭建

机器说明以6台为例
机器名   机器IP        按装的软件            运行的进程
master01 192.168.196.1 jdk hadoop            NameNode                                                                   DFSZKFailoverController
master02 192.168.196.2 jdk hadoop            NameNode                                                                   DFSZKFailoverController
master03 192.168.196.3 jdk hadoop            ResourceManager 
              
master04 192.168.196.4 jdk hadoop zookeeper  NateNode     NodeManager                                             Joournalnode QuorumPeerMain   
master05 192.168.196.5 jdk hadoop zookeeper  NateNode     NodeManager                                             Joournalnode QuorumPeerMain
master06 192.168.196.6 jdk hadoop zookeeper  NateNode     NodeManager                                             Joournalnode QuorumPeerMain
vi /etc/hosts
192.168.196.10  master01
192.168.196.11  master02
192.168.196.12  master03
192.168.196.13  master04
192.168.196.14  master05
192.168.196.15  master06
1.解压Hadoop2.2.0到master目录下面
  创建安装目录
  mkdir /master
  解压Hadoop
  tar -zxvf hadoop-2.2.0.tar.gz -C /master/
2.配置Hadoop-2.2.0
  cd /master/hadoop-2.2.0/etc/hadoop
  (1)配置vi hadoop-env.sh
     export JAVA_HOME=/usr/java/jdk1.7.0_45
  (2)修改 vi core-site.xml
     <configuration>
         <!--用来指定hdfs的nameservice为ns1-->
         <property>
            <name>fs.defaultFS</name>
            <value>hdfs://ns1</value>
         </property>
         <!--用来指定Hadoop运行时产生文件的存放目录-->
         <property>
            <name>hadoop.tmp.dir</name>
            <value>/master/hadoop-2.2.0/tmp</value>
         </property>
         <!--指定zookeeper的地址-->
         <property>
            <name>ha.zookeeper.quorum</name>
            <value>master04:2181,master05:2181,master06:2181</value>
         </property>
     </configuration>
    (3)修改 vi hdfs-site.xml   
       <configuration>
          <!--用来指定hdfs的nameservice为ns1,-->
          <property>
             <name>dfs.nameservices</name>
             <value>ns1</value>
          </property>
          <!--ns1下面有两个NameNode,分别是nn1,nn2-->
          <property>
             <name>dfs.ha.namenodes.ns1</name>
             <value>nn1,nn2</value>
          </property>
          <!--nn1的RPC通信地址-->
          <property>
             <name>dfs.namenode.rpc-address.ns1.nn1</name>
             <value>master01:9000</value>
          </property>
          <!--nn1的HTTP通信地址-->
          <property>
             <name>dfs.namenode.http-address.ns1.nn1</name>
             <value>master01:50070</value>
          </property>
          <!--nn2的RPC通信地址-->
          <property>
             <name>dfs.namenode.rpc-address.ns1.nn2</name>
             <value>master02:9000</value>
          </property>
          <!--nn2的HTTP通信地址-->
          <property>
             <name>dfs.namenode.http-address.ns1.nn2</name>
             <value>master02:50070</value>
          </property>
          <!--指定NameNode的元数据在JournalNode上的存放共享数据-->
          <property>
             <name>dfs.namenode.shared.edits.dir</name>
          <value>qjournal://master04:8485;master05:8485;master06:8485/ns1</value>
          </property>
          <!--指定JournalNode在本地磁盘存放数据的位置-->
          <property>
             <name>dfs.journalnode.edits.dir</name>
             <value>/master/hadoop-2.2.0/journal</value>
          </property>
          <!--开启NameNode失败自动切换-->
          <property>
             <name>dfs.ha.automatic-failover.enabled</name>
             <value>true</value>
          </property>
          <!--配置失败自动切换实现方式-->
          <property>
             <name>dfs.client.failover.proxy.provider.ns1</name>
             <value>org.apache.hadoop.hdfs.server.namenode.ha.
             ConfiguredFailoverProxyProvider</value>
          </property>
          <!--配置隔离机制方法,多个机制用换行分割,即每个机制暂用               一行-->
          <property>
             <name>dfs.ha.fencing.methods</name>
             <value>
                sshfence 
                shell(/bin/true)
             </value>
          </property>
          <!--使用sshfence隔离机制时需要ssh免登陆 -->
          <property>
             <name>dfs.ha.fencing.ssh.private-key-files</name>
             <value>/root/.ssh/id_rsa</value>
          </property>
           <!--配置sshfence隔离机制超时时间 -->
          <property>
             <name>dfs.ha.fencing.ssh.connect-timeout</name>
             <value>30000</value>
          </property>
       </configuration>
     (4)修改 vi mapred-site.xml
       将mapred-site.xml.template重命名为mapred-site.xml
       (mv mapred-site.xml.template mapred-site.xml)
       <configuration>
          <!--告诉Hadoops以后MR运行在YARN上-->
          <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
          </property>
       </configuration>
     (5)修改 vi yarn-site.xml
        <configuration>
          <!--指定resourcemanager地址-->
          <property>
             <name>yarn.resourcemanager.hostname</name>
             <value>master03</value>
          </property>
          <!--指定nodemanager启动时加载services的方式为shuffle-->
          <property>
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
          </property>
        </configuration>
cd /master/hadoop-2.2.0/etc/hadoop
     (6)修改 vi slaves(决定NodeManager)
master04
master05
master06
3.用zookeeper向其他机子考Hadoop
     在04,05,06启动zkServer:   ./zkServer.sh start
     检查状态:                 ./zkServer.sh status
                               ./zkCli.sh
                               rmr /hadoop(选)
     删除Hadoop下share的doc:   cd /master/hadoop-2.2.0/share
                               rm -rf doc/
     向其他机子考Hadoop:       scp -r /master/ root@192.168.196.11:/
                               scp -r /master/ root@192.168.196.12:/
     如果04存在/master         scp -r /master/hadoop-2.2.0/                                           root@192.168.196.13:/master
                               scp -r /master/ root@master05:/
                               scp -r /master/ root@master06:/
4.修改Hadoop环境变量  more /etc/profile
     vi /etc/profile
    export HADOOP_HOME=/master/hadoop-2.2.0
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
     scp /etc/profile @master02:/ect   
     刷新配置
        source /etc/profile
                  cd /master/zookeeper-3.4.5/bin
5.启动zkServer:    ./zkServer.sh
     检查状态:     ./zkServer.sh status 
6.启动journalnode() 分别在按有zookeeper的机器上
     cd /master/hadoop-2.2.0/sbin
     ./hadoop-daemon.sh start journalnode
     jps
     masterO4.05.06启动了Joournalnode与QuorumPeerMain
7.初始化文件系统HDFS(格式化文件系统)(在master01上执行即可)
     hdfs namenode -format
     格式化成功后会多出一个tmp目录
     scp -r tmp/ master02:/master/hadoop-2.2.0/
8.格式化ZK(在master01上执行即可)
     hdfs zkfc -formatZK
     
     在zk上多的目录   cd /master/zookeeper-3.4.5/bin
                     ./zkServer.sh 
                     ./zkServer.sh status
                     ./zkCli.sh 
                     ls /  rmr /hadoop123
     多了一个hadoop-ha目录
9.启动HDFS(在master01上执行)
     cd /master/hadoop-2.2.0/sbin
     ./start-dfs.sh
     jps
     masterO1与master02启动了 NameNode与DFSZKFailoverController
     masterO4.05.06启动了DataNode
10.启动YARN(在master03上执行)
    cd /master/hadoop-2.2.0/sbin
     ./start-yarn.sh
     jps
     masterO3上启动了ResourceManager
     masterO4.05.06启动了NodeManager
     masterO1
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值