(一)hadoop集群完成以下相关的配置:
a、安装jdk,并添加JAVA_HOME环境变量,在linux环境下可以使用yum安装jdk;
b、配置两个namenode节点与集群其它节点之间的SSH互信;
c、可下载hadoop源码在本地编译,也可直接应用编译好的bin包(推荐本地编译);
d、在hadoop home的etc/hadoop/conf目录下填写以下配置文件:
core-site.xml/hdfs-site.xml/hadoop-env.sh/mapred-site.xml/yarn-site.xml/slaves
(二)完成上述配置之后,依照下面的步骤启动集群:
1、在主namenode上执行如下命令,初始化zkfc:bin/hdfs zkfc -formatZK
2、逐一启动journalnode节点,journalnode节点用于两个namenode节点间的数据同步,常见于hadoop的ha配置中。当active状态的namenode命名空间有任何修改时,会通知journalnode进程。处于standby状态的namenode会读取journalnode中的变更信息,并监视edit log的变化,把变化应用于自己的命名空间,以此确保集群出错时,命名空间的处于完全同步的状态。
journalnode需取奇数个,手工逐个启动:sbin/hadoop-daemon.sh start journalnode
3、在active的namenode上执行如下命令:
bin/hdfs namenode -format 注:格式化namenode,只需执行一次
sbin/hadoop-daemon.sh start namenode
4、启动standby的namenode:
bin/hdfs namenode -bootstrapStandby 注:这一步是同步active的数据到standby
sbin/hadoop-daemon.sh start namenode
5、至此两台namenode已经启动完毕,在active的namenode上启动zkfc:
sbin/hadoop-daemon.sh start zkfc
6、选择一台namenode,在其上运行如下命令启动所有的datanode:
sbin/hadoop-daemons.sh start datanode