Hadoop(CDH4发行版)集群部署
Hadoop(CDH4发行版)集群部署环境部署一、加入CDH4的YUM仓库1.最好的办法是把cdh4的包放到自建的yum仓库中,如何自建yum仓库请看 自建YUM仓库2.如果不想自建yum仓库,在所有的hadoop机器执行以下操作加入cdn4的yum仓库二、创建用于namenode HA的NFS服务器1.登录192.168.1.100,执行以下脚本 createNFS.sh三、Hadoop Namenode & resourcemanager 主服务器 环境部署1.登录192.168.1.1,创建脚本目录,把脚本从git仓库复制下来2.修改hostname3.修改部署脚本的配置文件4.编辑hosts文件(此文件会同步到hadoop集群所有机器)5.执行部署脚本CreateNamenode.sh6.搭建saltstack mastera.安装b.修改配置文件`/etc/salt/master`,下面标志的是需要修改的项7.部署过程中已经把我的sample配置复制过去了,所以只需要修改部分配置文件a. /etc/hadoop/conf/hdfs-site.xml (其实就是按实际修改主机名地址)b. mapred-site.xmlc. yarn-site.xml三、Hadoop Namenode & resourcemanager 备服务器 环境部署1.登录192.168.1.2,创建脚本目录,从主服务器把脚本同步过来2.执行部署脚本CreateNamenode.sh3.同步hadoop配置文件4.部署saltstack客户端四、zookeeper服务器集群部署1.安装2.修改配置文件/etc/zookeeper/conf/zoo.cfg3.指定当前机器的id,并开启服务五、datanode & nodemanager 服务器部署1.登录datanode机器,创建脚本目录,从主服务器把脚本同步过来2.修改hostname,执行部署脚本 CreateDatanode.sh集群初始化一、namenode的HA高可用初始化1.在namenode主服务器(192.168.1.1)执行zookeeper的failover功能格式化2.把zookeeper集群服务启动(192.168.1.100 192.168.1.101 )3.把namenode主备服务器的zkfc服务起来(192.168.1.1 192.168.1.2)4.在namenode主服务器(192.168.1.1)格式化hdfs5.第一次搭建namenode高可用,需要把name.dir下面的数据复制到namenode备服务器(此坑花了好多时间)a.在主服务器(192.168.1.1)执行b.在备服务器(192.168.1.2)执行6.主从服务都启动7.查看hdfs的web界面8.现在可以尝试关闭namenode主服务,看是否能主从切换二、hdfs集群开启1.把所有datanode服务器启动2.查看hdfs web界面,看是否都成为live nodes3.如果没有问题,现在可以尝试hdfs操作三、yarn集群开启1.在主服务器把resourcemanager服务起来(192.168.1.1)2.把所有nodemanager服务启动3.查看yarn 任务追踪界面(http://192.168.1.1:9081/),看是否所有nodes都已加入4.hadoop自带有基准测试的mapreduce实例,我们利用它来测试yarn环境是否正常Hadoop集群的管理一、datanode & nodemanager 节点加入1.修改hosts表,譬如有节点192.168.1.103需要加入2.修改hostname,同步脚本目录,并执行部署3.开启服务二、修改hadoop配置文件三、监控总结前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署完了。部署的脚本我放在了开源中国的git仓库里。本文的所有部署都基于cloudera公司的CDH4,CDH4是cloudera公司包装好的hadoop生态圈一系列yum包,把CDH4放到自己的yum仓库中,能极大的提高hadoop环境部署的简易性。本文的部署过程中涵盖了namenode的HA实现,hadoop管理的解决方案(hadoop配置文件的同步,快速部署脚本等)。环境准备一共用5台机器作为硬件环境,全都是centos 6.4namenode & resourcemanager 主服务器: 192.168.1.1namenode & resourcemanager 备服务器: 192.168.1.2datanode & nodemanager 服务器: 192.168.1.100 192.168.1.101 192.168.1.102zookeeper 服务器集群(用于namenode 高可用的自动切换): 192.168.1.100 192.168.1.101jobhistory 服务器(用于记录mapreduce的日志): 192.168.1.1用于namenode HA的NFS: 192.168.1.100环境部署一、加入CDH4的YUM仓库1.最好的办法是把cdh4的包放到自建的yum仓库中,如何自建yum仓库请看 自建YUM仓库2.如果不想自建yum仓库,在所有的hadoop机器执行以下操作加入cdn4的yum仓库1wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm2sudo yum --nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm二、创建用于namenode HA的NFS服务器1.登录192.168.1.100,执行以下脚本 createNFS.sh1#!/bin/bash2yum -y install rpc-bind nfs-utils3mkdir -p /data/nn_ha/4echo "/data/nn_ha *(rw,root_squash,all_squash,sync)" >> /etc/exports5/etc/init.d/rpcbind start6/etc/init.d/nfs start7chkconfig --level 234 rpcbind on8chkconfig -level 234 nfs on三、Hadoop Namenode & resourcemanager 主服务器 环境部署1.登录192.168.1.1,创建脚本目录,把脚本从git仓库复制下来1yum –y install git2mkdir –p /opt/3cd /opt/4git clone http://git.oschina.net/snake1361222/hadoop_scripts.git5/etc/init.d/iptables stop2.修改hostname1sh /opt/hadoop_scripts/deploy/AddHostname.sh3.修改部署脚本的配置文件1vim /opt/kingsoft/hadoop_scripts/deploy/config2#添加master服务器的地址,也就是namenode主服务器3master="192.168.1.1"4#添加nfs服务器地址5nfsserver="192.168.1.100"4.编辑hosts文件(此文件会同步到hadoop集群所有机器)1vim /opt/hadoop_scripts/share_data/resolv_host2127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain43::1 localhost localhost.localdomain localhost6 localhost6.localdomain64192.168.1.1 nn.dg.hadoop.cn5192.168.1.2 nn2.dg.hadoop.cn6192.168.1.100 dn100.dg.hadoop.cn7192.168.1.101 dn101.dg.hadoop.cn8192.168.1.102 dn102.dg.hadoop.cn5.执行部署脚本CreateNamenode.sh1sh /opt/hadoop_scripts/deploy/CreateNamenode.sh6.搭建saltstack masterPS:类似于puppet的服务器管理开源工具,比较轻量,在这里用于管理hadoop集群,调度datanode,关于saltstack的详细请看 SaltStack部署与使用a.安装1yum -y install salt salt-masterb.修改配置文件`/etc/salt/master`,下面标志的是需要修改的项1修改监听IP:2inte易做图ce: 0.0.0.03多线程池:4worker_threads: 55开启任务缓存:(官方描叙开启缓存能承载5000minion)6job_cache7开启自动认证:8auto_accept: Truec.开启服务1/etc/init.d/salt-master start2chkconfig salt-master on7.部署过程中已经把我的sample配置复制过去了,所以只需要修改部分配置文件a. /etc/hadoop/conf/hdfs-site.xml (其实就是按实际修改主机名地址)01<property>02<name>dfs.namenode.rpc-address.mycluster.ns1</name>03上一个:PostgreSql服务器的配置
下一个:hadoop部署错误解决