大数据环境搭建--03 Centos7安装hadoop2.8集群

注意:我们将大数据相关组件全部安装在/opt/bigdata目录

1.hadoop2.x 概述

hadoop2中NameNode可以有多个(目前只支持2个)。每一个都有相同的职能。一个是active状态的,一个是standby状态的。当集群运行时,只有active状态的NameNode是正常工作的,standby状态的NameNode是处于待命状态的,时刻同步active状态NameNode的数据。一旦active状态的NameNode不能工作,standby状态的NameNode就可以转变为active状态的,就可以继续工作了。
2个NameNode的数据其实是实时共享的。新HDFS采用了一种共享机制,Quorum Journal Node(JournalNode)集群或者Nnetwork File System(NFS)进行共享。NFS是操作系统层面的,JournalNode是hadoop层面的,我们这里使用JournalNode集群进行数据共享(这也是主流的做法)。JournalNode的架构图如下:

大数据环境搭建--03 Centos7安装hadoop2.8集群_第1张图片
0.jpg

两个NameNode为了数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。当active状态的NameNode的命名空间有任何修改时,会告知大部分的JournalNodes进程。standby状态的NameNode有能力读取JNs中的变更信息,并且一直监控edit log的变化,把变化应用于自己的命名空间。standby可以确保在集群出错时,命名空间状态已经完全同步了。
对于HA集群而言,确保同一时刻只有一个NameNode处于active状态是至关重要的。否则,两个NameNode的数据状态就会产生分歧,可能丢失数据,或者产生错误的结果。为了保证这点,这就需要利用使用ZooKeeper了。首先HDFS集群中的两个NameNode都在ZooKeeper中注册,当active状态的NameNode出故障时,ZooKeeper能检测到这种情况,它就会自动把standby状态的NameNode切换为active状态。

2.hadoop2.8 安装

现在cluster201上将配置文件修改好

[hadoop@cluster201 bigdata]$ pwd
/opt/bigdata
# 下载hadoop2.8安装包
[hadoop@cluster201 bigdata]$ wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.0/hadoop-2.8.0.tar.gz
# 解压文件
[hadoop@cluster201 bigdata]$ tar -zvxf hadoop-2.8.0.tar.gz

增加hadoop环境变量,使用root在/etc/profile文件末尾增加如下内容:

#Hadoop
export HADOOP_HOME=/opt/bigdata/hadoop-2.8.0
export PATH=$PATH:$HADOOP_HOME/bin

创建相应目录

[hadoop@cluster201 bigdata]$ mkdir hadoop-2.8.0/tmp
[hadoop@cluster201 bigdata]$ mkdir hadoop-2.8.0/hdfs
[hadoop@cluster201 bigdata]$ mkdir hadoop-2.8.0/hdfs/name
[hadoop@cluster201 bigdata]$ mkdir hadoop-2.8.0/hdfs/data

进入到$HADOOP_HOME/etc/hadoop目录修改配置文件,配置项可参考文档http://hadoop.apache.org/docs/r2.8.0/

大数据环境搭建--03 Centos7安装hadoop2.8集群_第2张图片
image.png
[hadoop@cluster201 bigdata]$ cd hadoop-2.8.0/etc/hadoop/
[hadoop@cluster201 hadoop]$ pwd
/opt/bigdata/hadoop-2.8.0/etc/hadoop
[hadoop@cluster201 hadoop]$ ll
总用量 160
-rw-r--r--. 1 hadoop hadoop  4942 3月  17 13:31 capacity-scheduler.xml
-rw-r--r--. 1 hadoop hadoop  1335 3月  17 13:31 configuration.xsl
-rw-r--r--. 1 hadoop hadoop   318 3月  17 13:31 container-executor.cfg
-rw-r--r--. 1 hadoop hadoop  1148 6月  20 15:22 core-site.xml
-rw-r--r--. 1 hadoop hadoop  3804 3月  17 13:31 hadoop-env.cmd
-rw-r--r--. 1 hadoop hadoop  4682 6月  20 14:56 hadoop-env.sh
-rw-r--r--. 1 hadoop hadoop  2598 3月  17 13:31 hadoop-metrics2.properties
-rw-r--r--. 1 hadoop hadoop  2490 3月  17 13:31 hadoop-metrics.properties
-rw-r--r--. 1 hadoop hadoop  9683 3月  17 13:31 hadoop-policy.xml
-rw-r--r--. 1 hadoop hadoop  1379 6月  20 16:18 hdfs-site.xml
-rw-r--r--. 1 hadoop hadoop  1449 3月  17 13:31 httpfs-env.sh
-rw-r--r--. 1 hadoop hadoop  1657 3月  17 13:31 httpfs-log4j.properties
-rw-r--r--. 1 hadoop hadoop    21 3月  17 13:31 httpfs-signature.secret
-rw-r--r--. 1 hadoop hadoop   620 3月  17 13:31 httpfs-site.xml
-rw-r--r--. 1 hadoop hadoop  3518 3月  17 13:31 kms-acls.xml
-rw-r--r--. 1 hadoop hadoop  1611 3月  17 13:31 kms-env.sh
-rw-r--r--. 1 hadoop hadoop  1631 3月  17 13:31 kms-log4j.properties
-rw-r--r--. 1 hadoop hadoop  5546 3月  17 13:31 kms-site.xml
-rw-r--r--. 1 hadoop hadoop 13661 3月  17 13:31 log4j.properties
-rw-r--r--. 1 hadoop hadoop   951 3月  17 13:31 mapred-env.cmd
-rw-r--r--. 1 hadoop hadoop  1383 3月  17 13:31 mapred-env.sh
-rw-r--r--. 1 hadoop hadoop  4113 3月  17 13:31 mapred-queues.xml.template
-rw-r--r--. 1 hadoop hadoop   862 6月  20 16:18 mapred-site.xml
-rw-r--r--. 1 hadoop hadoop   758 3月  17 13:31 mapred-site.xml.template
-rw-r--r--. 1 hadoop hadoop    33 6月  20 16:05 slaves
-rw-r--r--. 1 hadoop hadoop  2316 3月  17 13:31 ssl-client.xml.example
-rw-r--r--. 1 hadoop hadoop  2697 3月  17 13:31 ssl-server.xml.example
-rw-r--r--. 1 hadoop hadoop  2250 3月  17 13:31 yarn-env.cmd
-rw-r--r--. 1 hadoop hadoop  4567 3月  17 13:31 yarn-env.sh
-rw-r--r--. 1 hadoop hadoop   928 6月  20 16:19 yarn-site.xml

修hadoop-env.sh的JAVA_HOME地址

# The java implementation to use.
export JAVA_HOME=/usr/local/java/jdk1.8.0_121

vim core-site.xml








    
        fs.defaultFS
        hdfs://cluster201:9000
    
    
        hadoop.tmp.dir
        /opt/bigdata/hadoop-2.8.0/tmp
    
    
        ha.zookeeper.quorum
        cluster201:2181,cluster202:2181,cluster203:2181
    

vim hdfs-site.xml








    
        dfs.namenode.name.dir
        /opt/bigdata/hadoop-2.8.0/hdfs/name
    
    
        dfs.datanode.name.dir
        /opt/bigdata/hadoop-2.8.0/hdfs/data
    
    
        dfs.replication
        1
    
    
        dfs.namenode.http-address
        cluster201:50070
    
    
        dfs.namenode.secondary.http-address
        cluster201:50090
    

vim mapred-site.xml








    
        mapreduce.framework.name
        yarn
    

vim yarn-site.xml






    
        yarn.resourcemanager.hostname
        cluster201
    
    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    

将修改好配置的hadoop安装包压缩拷贝到cluster202,cluster203上,并到对应机器上进行解压

[hadoop@cluster201 hadoop]$ cd /opt/bigdata/
[hadoop@cluster201 bigdata]$ pwd
/opt/bigdata
[hadoop@cluster201 bigdata]$ tar -zvcf hadoop-2.8.0.tar.gz hadoop-2.8.0
[hadoop@cluster201 bigdata]$ scp hadoop-2.8.0.tar.gz cluster202:/opt/bigdata/
[hadoop@cluster201 bigdata]$ scp hadoop-2.8.0.tar.gz cluster203:/opt/bigdata/

3. 启动haoop(先将zookeeper启动好)

# 格式化hdfs
[hadoop@cluster201 bigdata] hadoop namenode -format
# 启动hadoop
[hadoop@cluster201 bigdata] ./hadoop-2.8.0/sbin/start-all.sh

在宿主机windows的hosts文件种增加如下内容(C:\Windows\System32\drivers\etc\hosts):

192.168.88.201 cluster201
192.168.88.202 cluster202
192.168.88.203 cluster203

hdfs webUI地址:http://cluster201:50070

大数据环境搭建--03 Centos7安装hadoop2.8集群_第3张图片
image.png

yarn webUI地址:http://cluster201:8088

大数据环境搭建--03 Centos7安装hadoop2.8集群_第4张图片
image.png

你可能感兴趣的:(大数据环境搭建--03 Centos7安装hadoop2.8集群)