hadoop集群部署

1.集群规划
为保证集群的高可用能力,NameNode和ResourceManager都采用HA部署方式(高可用性(High Availability,简称HA)集群是共同为客户机提供网络资源的一组计算机系统。其中每一台提供服务的计算机称为节点(Node)。当一个节点不可用或者不能处理客户的请求时,该请求会及时转到另外的可用节点来处理,而这些对于客户端是透明的,客户不必关心要使用资源的具体位置,集群系统会自动完成。),各组件详细分布情况如表1-1所示。
表1-1 Hadoop集群规划
hadoop集群部署

2.部署过程
(1)SSH免密码登录
使用root用户登录进入到.ssh目录下
cd ~/.ssh
执行ssh-****** -t rsa生成公钥和私钥。系统会一直提示信息,一直按回车就可以。生成私钥文件id_rsa,公钥文件id_rsa.pub,认证文件authorized_keys。
将公钥文件内容追加到认证文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
在免密码登录的机器之间互相拷贝公钥然后追加到认证文件中,即可完成SSH免密码登录配置。
(2)创建hadoop用户和组
groupadd hadoop
useradd -m -g hadoophadoop
(3)下载安装包并解压
先安装hadoop01,然后将配置好的安装包拷贝到其他节点。
wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
解压到指定目录/data/soft/下
tar -zxvf hadoop-2.6.5.tar.gz-C /data/soft/
(4)创建软连接并修改属主为hadoop
创建软连接便于以后升级版本,方便统一管理。
ln -s /data/soft/ hadoop-2.6.5 /usr/local/hadoop
chown -R hadoop:hadoop /usr/local/hadoop
(5)设置环境变量
vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH: $JAVA_HOME/bin:$M2_HOM/bin:$SCALA_HOME/bin
: $ZOOKEEPER_HOME/bin:$ HADOOP_HOME/bin
刷新环境变量使其生效
source /etc/profile
(6)设置配置文件
a)HDFS相关的配置文件core-site.xml和hdfs-site.xml。
b)YARN相关配置文件。
yarn-site.xml配置信息
mapred-site.xml配置信息
fair-scheduler.xml公平调度策略配置信息如下(按组分配不同的内存和vcore资源)
将配置好的hadoop拷贝到其他节点:
scp -r /data/soft/hadoop-2.6.5 hadoo02: /data/soft/
scp -r/data/soft/hadoop-2.6.5 hadoo03: /data/soft/
(7)集群启动
从root用户切换到hadoop用户:
su - hadoop
启动journalnode(在hadoop01上启动所有journalnode):
cd /usr/local/hadoop
sbin/hadoop-daemons.sh start journalnode
jps验证,后台进程增加JournalNode进程。
格式化HDFS:
在hadoop01上执行命令:hadoop namenode -format
格式化后会根据在core-site.xml中的hadoop.tmp.dir配置生成一个文件,拷贝该文件到另外一个NameNode节点hadoop02的/usr/local/hadoop/tmp目录下:
scp -r /usr/local/hadoop/tmp/ hadoop02:/usr/local/hadoop/
格式化ZK(在hadoop01上执行即可):
hdfs zkfc -formatZK
启动HDFS(在hadoop01上执行):
sbin/start-dfs.sh
启动YARN(在hadoop01上执行):
sbin/start-yarn.sh
Hadoop部署完成后在各个节点中使用jps命令查看各组件进程是否运行正常。如果发现有问题则查看日志进行排查。
(8)可以通过浏览器访问查看
页面显示:NameNode'hadoop01:9000' (active)
页面显示:NameNode 'hadoop02:9000' (standby)
构建基础环境所需要软件的安装方法,目前使用的大部分开源软件依赖于JVM,使用较为广泛的开发语言为Java.Scala,而源码编译普遍使用Maven工具。Hadoop目前已经可以作为大数据应用系统的基础系统,提供分布式数据存储、集中式资源调度、大规模分布式计算等功能。
相关的配置信息之后可以私聊我。