答案
一句话:Hadoop启动顺序:Zookeeper->Hadoop->Hbase
背景
测试的集群是一台R620服务器,带8块SAS硬盘,把8个CentOS Linux 8虚拟机装到了这8块硬盘里,每台虚拟机负责的功能内容都做了规划。(具体的安装教程,请关注本博客其他文章)
集群规划如下:(服务器为hadoop221-hadoop228)
221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | ||
---|---|---|---|---|---|---|---|---|---|
时间服务 | chrony | √ | |||||||
Zookeeper集群(选举) | Zookeeper(QuorumPeerMain) | √ | √ | √ | |||||
HDFS集群(存储) | journalnode(负责NameNode同步) | √ | √ | √ | |||||
NameNodes | √ | √ | |||||||
DFSZKFailoverController(zkfc) | √ | √ | |||||||
DataNode | √ | √ | √ | √ | √ | √ | |||
YARN集群(计算) | ResourceManager(资源分配与调度) | √ | √ | ||||||
NodeManager | √ | √ | √ | √ | √ | √ | |||
MapReduce开发包 | MapReduce(JobHistoryServer) | √ | |||||||
SYNC | 同步文件服务器 | √ | |||||||
HBase | NoSQL | √ | √ | √ | √ | √ | √ |
注:1、NameNodes和zkfc一一对应;2、DataNode和NodeManager都是works文件配置;3、Zookeeper至少3个,必须奇数台;4、journalnode至少3个,必须奇数;5、NameNodes一个active另一个Standby;6、ResourceManager一个active另一个Standby;
zkfc :DFSZKFailoverControlle作为一个ZK集群的客户端,用来监控NN的状态信息
停止顺序
如果我们要维护正在运行的hadoop系统,就需要先停下它,下面是停止的顺序
$ stop-hbase.sh #停止Hbase,最好在hadoop221(HMaster)上执行
$ stop-all.sh #停止Hadoop的HDFS和YARN,最好在hadoop221(NameNode)上执行
$ mapred --daemon stop historyserver #停止MapReduce历史服务器,hadoop222上执行
$ zkServer.sh stop #停止Zookeeper,hadoop226、hadoop227、hadoop228上操作
启动顺序
1、启动ZooKeeper
在hadoop226、hadoop227、hadoop228上分别执行以下命令:
#su hadoop
$ zkServer.sh stop
$ zkServer.sh start
$ zkServer.sh status
$ jps
运行ZooKeeper的服务器显示如下内容即启动成功
2674 Jps
2647 QuorumPeerMain
2、启动HDFS
其中一台机器执行就OK了,比如:hadoop221
$ stop-dfs.sh
$ start-dfs.sh
$ jps
主辅NameNode(hadoop221、hadoop222)会显示如下内容
2611 DFSZKFailoverController
2201 NameNode
2732 Jps
DataNode节点(hadoop223-hadoop228)会显示如下内容
1828 JournalNode
2055 DataNode
2188 Jps
3、启动YARN
在主备 resourcemanager(hadoop226、hadoop227) 中随便选择一台进行启动
$ stop-yarn.sh
$ start-yarn.sh
$ jps
主备 resourcemanager(hadoop226、hadoop227)都会显示如下内容
1890 QuorumPeerMain
2071 DataNode
2791 Jps
2650 NodeManager
2509 ResourceManager
若备用节点的 resourcemanager 没有启动起来,则手动启动起来,在hadoop227上进行手动启动
yarn-daemon.sh start resourcemanager
4、启动 mapreduce 任务历史服务器
功能:记录过去运行过的所有mapreduce任务
在hadoop222上运行
$ mapred --daemon stop historyserver
$ mapred --daemon start historyserver
$ jps
显示如下内容,即是启动成功
1894 NameNode
1993 DFSZKFailoverController
5163 Jps
2108 JobHistoryServer
2222 HMaster
5、启动HBase
hadoop221(Hmaster)上执行
$ stop-hbase.sh
$ start-hbase.sh
$ jps
显示如下内容,即是启动成功(hadoop221)
2965 HMaster
12334 Jps
1999 NameNode
6、查看各主节点的状态
主辅NameNode运行情况查看
[hadoop@hadoop221 ~] $ hdfs haadmin -getServiceState nn1
active
[hadoop@hadoop221 ~] $ hdfs haadmin -getServiceState nn2
standby
###如果两个NameNode都是“standby”则执行
$ hdfs --daemon start zkfc
激活选举制度
主辅ResourceManager运行情况查看
[hadoop@hadoop226 ~]$ yarn rmadmin -getServiceState rm1
active
[hadoop@hadoop226 ~]$ yarn rmadmin -getServiceState rm2
standby
7、WEB界面进行查看
HDFS
hadoop221: http://hadoop221:50070/dfshealth.html#tab-overview
hadoop222: http://hadoop222:50070/dfshealth.html#tab-overview
YARN
standby节点会自动跳到avtive节点:http://hadoop226:8088/cluster
MapReduce历史服务器web界面:http://hadoop222:19888/jobhistory
HBase
HMaster数据查看:http://hadoop221:16010/
RegionServer数据查看:http://hadoop228:16030/