1.搭建之前:百度copy一下介绍 (本博客几乎全都是生产环境的配置。。包括mongo等hbase其他)
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
[1] Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。[2]
其实hadoop,就是两个点 HDFS 和 yarn ,HDFS存数据, yarn来做资源调度(将集群机器的CPU和内存收纳到一起,根据需求做分配)
所以配置文件其实就是围绕这两个点的 配置啦。Hadoop总共要修改5个配置文件(4个最重要。1个是指定JDK等等路径的哈哈)
2:开始搭建
①去Oracle官网下载JDK:生产环境使用1.8.0_92,64位,不要问为什么,每个公司都有每个公司的标准。自己定就可以。反正最新的hadoop hbase应该都是需要JDK1.8的。当然这个很重要,像大型的这种Hbase Hadoop GC方式等等配置。会对整个集群造成很大的影响。大到不能再大,,所以后续会讲、
安装JDK 我就不说了,
机器硬件标准及目录标准:/app目录下放应用 /data下放应用产生的数据,包括DB数据,但是大数据比较特殊,会单独给HDATA下挂载12个盘。每个公司标准不一样。。。。。。再说一下、 服务器标配 48核 256G 内存 高配就是 64核心 512G内存好像是。 顶配好像可以达到1T内存。。。
JDK放在 /app/jdk1.8.0_092 然后ln -s jdk1.8.0_092 jdk 就会产生软链,类似下图(集群所有机器)
接下来编辑 /etc/profile文件 加入JDK环境变量(当然,这些我全是salt自动化。就一句命令全部自动搞定,后续会讲。机器多的时候会很有作用。)
vim /etc/profile 加到最后保存之后 source一下。这些搞不定就。。。自己想办法。
② 安装zookeeper
下载zookeeper zookeeper-3.4.9.tar.gz 一般zk要奇数个 5个吧,一般或者7个也可以。
也是类似JDK的目录。最终效果就是
注意:zookeeper配置文件
vim /app/zookeeper/conf/zoo.cfg
tickTime=2000
dataDir=/app/zookeeper/data
dataLogDir=/app/zookeeper/logs
maxClientCnxns=300
minSessionTimeout=100000
maxSessionTimeout=120000
clientPort=2181
syncLimit=5
initLimit=10
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
jute.maxbuffer=4096
server.1=10.202.105.52:2888:3888
server.2=10.202.105.53:2888:3888
server.3=10.202.105.54:2888:3888
server.X就是你每个zk集群的 ip和端口。2888为通信端口,3888为zk自己选举的端口(异常情况或初始化时候zk自己本身集群选举leader 等使用。)
dataDir dataLogDir等目录(配置文件中,自己都建立好,然后用户权限等都新建zookeeper用户并赋予zk相关各个路径的权限。并且在集群每个节点/app/zookeeper/data下建立 myid文件 里面填上数值 数值就是server.x中的x, )
启动zk zkServer.sh start 注意将zk加入环境变量并source 否则就绝对路径启动吧。
zkServer,sh status 可以查看集群每个zk的角色,如果显示 leader 或者flower就是对的了。
接下来就是搭建hadoop了。
③搭建hadoop(这里注重一台机器上的,其他你咋么分发到别的机器,后续会用自动化工具介绍,本篇注重配置文件)