如何启动和关闭分布式集群

分布式集群是由多个节点组成的系统,可以提供高性能、高可用、高扩展的数据处理能力。本文介绍如何启动和关闭一个包含hadoop、zookeeper、hbase和spark的分布式集群。

目录

启动顺序

关闭顺序

启动和关闭hadoop

启动hadoop

关闭hadoop

查看网页

启动和关闭zookeeper

启动zookeeper

关闭zookeeper

查看状态

启动和关闭hbase

启动hbase

关闭hbase

查看网页

验证hbase

启动和关闭spark

启动spark

关闭spark

启动Spark History Server

查看网页

验证spark


 

启动顺序

启动分布式集群的顺序是:

  • 先启动hadoop
  • 再启动zookeeper
  • 最后启动hbase和spark

这样可以保证各个组件之间的依赖关系和协调关系。

关闭顺序

关闭分布式集群的顺序是:

  • 先关闭hbase和spark
  • 再关闭zookeeper
  • 最后关闭hadoop

这样可以避免数据丢失和服务异常。

启动和关闭hadoop

hadoop是一个分布式文件系统和计算框架,它提供了存储和处理海量数据的能力。hadoop主要由两个部分组成:HDFS(Hadoop Distributed File System)和YARN(Yet Another Resource Negotiator)。

启动hadoop

启动hadoop之前,需要先初始化hadoop的namenode,这是HDFS的主节点,负责管理元数据。只有在第一次启动时才需要执行这一步,以后就不用了。在namenode所在的节点上执行以下命令:

# 初始化namenode
hadoop namenode -format

然后,在namenode所在的节点上执行以下命令,启动HDFS:

# 启动HDFS
start-dfs.sh

接着,在resourcemanager所在的节点上执行以下命令,启动YARN:

# 启动YARN
start-yarn.sh

最后,可以在任意节点上执行以下命令,查看各个进程是否正常运行:

# 查看进程
jps

也可直接快捷启动HDFS和YARN:

start-all.sh

 如果输出结果中包含以下进程,则说明启动成功:

  • NameNode:HDFS的主节点
  • DataNode:HDFS的从节点,负责存储数据块
  • ResourceManager:YARN的主节点,负责管理资源和调度任务
  • NodeManager:YARN的从节点,负责执行任务

关闭hadoop

关闭hadoop时,只需要在任意节点上执行以下命令即可:

# 关闭hadoop
stop-all.sh

这个命令会自动停止所有的HDFS和YARN进程。

查看网页

如果想要查看hadoop的运行状态和数据情况,可以通过浏览器访问以下网址:

  • http://192.168.1.100:9870/:这是namenode的网页界面,可以查看HDFS的概况、文件系统、快照等信息。
  • http://192.168.1.100:8088/cluster/:这是resourcemanager的网页界面,可以查看YARN的概况、应用、队列等信息。

其中,192.168.1.100是namenode和resourcemanager所在节点的IP地址,如果你的IP地址不同,请自行替换。

启动和关闭zookeeper

zookeeper是一个分布式协调服务,它提供了一致性、可靠性、原子性等特性,可以用于实现分布式锁、配置管理、服务发现等功能。zookeeper由多个服务器组成一个集群,每个服务器都有一个唯一的ID,并且其中一个服务器会被选举为leader,负责处理客户端的请求。

启动zookeeper

启动zookeeper时,需要在每个服务器上执行以下命令:

# 启动zookeeper
zkServer.sh start

这个命令会在后台运行zookeeper,并输出日志到指定的目录。如果想要在前台运行zookeeper,并查看控制台输出的信息,可以执行以下命令:

# 启动zookeeper并输出日志到控制台
zkServer.sh start-foreground

关闭zookeeper

关闭zookeeper时,需要在每个服务器上执行以下命令:

# 关闭zookeeper
zkServer.sh stop

这个命令会停止zookeeper的进程,并删除相关的文件。

查看状态

查看zookeeper的状态时,有两种方法:

  • 在每个服务器上执行以下命令,查看本地的状态:
# 查看本地状态
zkServer.sh status

这个命令会输出本地服务器的ID、角色(leader或follower)、连接数等信息。

  • 在任意节点上执行以下命令,查看远程的状态:
# 查看远程状态
nc -v 192.168.1.100 2181
stat

这个命令会连接到指定的服务器(192.168.1.100是服务器的IP地址,2181是zookeeper的默认端口),并发送stat命令,然后输出远程服务器的ID、角色、连接数等信息。

启动和关闭hbase

hbase是一个分布式的列式数据库,它基于HDFS和zookeeper,提供了高性能、高可用、高扩展的数据存储和查询能力。hbase主要由两个部分组成:HMaster和HRegionServer。

启动hbase

启动hbase时,需要先确保hadoop和zookeeper已经启动,并且配置文件中指定了正确的HDFS和zookeeper地址。然后,在任意节点上执行以下命令即可:

# 启动hbase
start-hbase.sh

这个命令会自动启动一个HMaster进程和多个HRegionServer进程。HMaster是hbase的主节点,负责管理元数据和协调任务。HRegionServer是hbase的从节点,负责存储和处理数据。启动hbase时,会根据配置文件中指定的master节点来启动HMaster进程,如果没有指定,则随机选择一个节点。

关闭hbase

关闭hbase时,需要先确保所有的客户端连接已经断开,并且没有正在运行的任务。然后,在任意节点上执行以下命令即可:

# 关闭hbase
stop-hbase.sh

这个命令会自动停止所有的HMaster和HRegionServer进程。关闭hbase时,要保证HMaster节点没有挂掉,否则可能导致数据丢失或服务异常。

查看网页

如果想要查看hbase的运行状态和数据情况,可以通过浏览器访问以下网址:

  • http://192.168.1.100:16010/:这是HMaster的网页界面,可以查看hbase的概况、表、快照等信息。

其中,192.168.1.100是HMaster所在节点的IP地址,如果你的IP地址不同,请自行替换。

验证hbase

如果想要验证hbase是否正常工作,可以通过交互式shell来操作hbase。在任意节点上执行以下命令,打开交互式shell:

# 打开交互式shell
hbase shell

然后,在交互式shell中输入各种命令,例如:

# 列出所有表
list

# 创建一个表test,有两个列族cf1和cf2
create 'test', 'cf1', 'cf2'

# 插入一条数据到test表中,行键为row1,列族为cf1,列为c1,值为v1
put 'test', 'row1', 'cf1:c1', 'v1'

# 查询test表中row1行的所有数据
get 'test', 'row1'

# 关闭然后删除test表
disable 'test'
drop 'test'

这些命令可以对hbase进行基本的增删改查操作。如果想要了解更多的命令和用法,可以参考官方文档或者输入help命令。

启动和关闭spark

spark是一个分布式的计算框架,它基于HDFS和YARN,提供了高性能、高可用、高扩展的数据处理能力。spark可以运行在多种模式下,例如standalone、yarn、mesos等。在本文中,我将介绍如何在yarn模式下启动和关闭spark。

启动spark

启动spark时,只需要在主节点上执行以下命令即可:

# 启动spark
start-all.sh

这个命令会自动启动一个SparkMaster进程和多个SparkWorker进程。SparkMaster是spark的主节点,负责管理资源和调度任务。SparkWorker是spark的从节点,负责执行任务。启动spark时,会根据配置文件中指定的master节点来启动SparkMaster进程,如果没有指定,则随机选择一个节点。

关闭spark

关闭spark时,只需要在主节点上执行以下命令即可:

# 关闭spark
stop-all.sh

这个命令会自动停止所有的SparkMaster和SparkWorker进程。

启动Spark History Server

Spark History Server是一个可选的组件,它可以提供历史任务的监控和分析功能。如果想要启动Spark History Server,需要在主节点上执行以下命令:

# 启动Spark History Server
start-history-server.sh

这个命令会在后台运行Spark History Server,并输出日志到指定的目录。

查看网页

如果想要查看spark的运行状态和数据情况,可以通过浏览器访问以下网址:

  • http://192.168.1.100:8080/:这是SparkMaster的网页界面,可以查看spark的概况、应用、工作、执行器等信息。
  • http://192.168.1.100:18080/:这是Spark History Server的网页界面,可以查看历史任务的概况、应用、作业、阶段等信息。

其中,192.168.1.100是主节点的IP地址,如果你的IP地址不同,请自行替换。

验证spark

如果想要验证spark是否正常工作,可以通过提交一个示例程序来测试spark。在任意节点上的spark根目录执行以下命令,提交一个计算圆周率的程序:

# 提交一个计算圆周率的程序
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.12-3.2.3.jar 10

这个命令会在客户端模式下提交一个程序到yarn上,并输出结果到控制台。如果输出结果中包含以下内容,则说明运行成功:

# 输出结果
Pi is roughly 3.1418

如果想要在集群模式下提交一个程序到yarn上,并在yarn上查看结果,可以执行以下命令:

# 提交一个计算圆周率的程序
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster ./examples/jars/spark-examples_2.12-3.2.3.jar 10

这个命令会在集群模式下提交一个程序到yarn上,并输出结果到日志文件中。可以通过yarn的网页界面或者日志目录来查看结果。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本资源为大数据基础到中高级教学资源,适合稍微有点大数据或者java基础的人群学习,资源过大,上传乃是下载链接,不多说,上目录: 1_java基础2 l3 a2 a$ t7 J2 b+ `- p 2_java引入ide-eclipse 3_java基础知识-循环-类型转换 4_循环-函数-数组-重载 5_多为数组-冒泡-折半-选择排序 6_oop-封装-继承-static-final-private 7_多态-接口-异常体系 8_适配器/ k% N! Y7 j/ |- c) O5 M' V6 S 9_多线程-yield-join-daemon-synchronized; o, E; \* I: E2 W 10_多线程-同步代码块-同步方法 11_多线程-生产消费问题 12_多线程-死锁问题 13_字符集问题' X4 e; v9 q' U2 W% f" l7 f$ F 14_String-StringBuffer-StringBuilder 15_集合-list-arrayList-linkedlist 16_集合-hashset-hashmap-迭代器-entryset$ d3 b$ ~5 b! @- Z* }- C 17_快捷键设置* L* C. y4 Z1 v0 p) [8 p3 A 18_IO& f, H- i' w( B; P% V; Q" z. L( n/ q 19_IO2 20_文件归档和解档 21_TCP+udp协议-广播 22_UDP实现屏广程序-教师端3 m7 l; D) p! p$ q' H- L5 t1 s 23_UDP实现屏广程序-教师端2% |) h# a9 r) z6 b 24_GOF-设计模式$ k0 Y6 b) s& m% J 25_qq消息通信2 T! n* ^2 ? | l# ]- ^ 26_qq消息通信2 27_qq消息通信-群聊 28_qq消息通信-群聊-手动刷新好友列表-下线通知0 P+ D" ]/ f. q* O! d9 Z& L 29_qq消息通信-群聊-私聊消息' a3 S6 a2 d+ Y6 s( Z 30_qq消息通信-群聊-私聊消息2 31_虚拟机内存结构-反射 32_虚拟机内存结构-JVM-$ j; l* n7 g' u 33_代理模式 34_RDBMS 35_MySQL安装' `/ h# t# o# s& y1 \# ?* R5 f) p4 Z 36_MySQL常用命令-CRUD 37_java JDBC-insert 38_java JDBC-sql注入问题-preparedstatemnt 39_java 事务管理-批量插入0 X, w! w5 [- E( `( f* V1 [ 40_java事务管理-批量插入-存储过程 41_java mysql 函数 42_java mysql LongBlob + Text类型8 @9 ^) y7 s* L, _3 w7 Q9 q9 ^ 43_连接查询2 R: d" J9 J1 O3 D* B1 }2 u( {2 v 44_事务并发现象-脏读-幻读-不可重复读-隔离级别 45_隔离级别-并发现象展示-避免 46_表级锁-行级锁-forupdate 47_mysql数据源连接池 48_NIO" d% v1 P# ~3 S/ L 49_NIO程序- u5 T2 a5 N" {! @8 q4 c 50_Vmware安装-client centos7机安装2 Q. l/ r7 y) ^% n8 |4 _. k 51_centos文件权限-常用命令 52_网络静态ip-NAT连接方式-YUM安装, e9 j% z; B' ?! p1 D* Y 53_常用命令2 L V5 k8 y8 S h( Q0 `2 O4 s- I- N 54_for-while-if-nc6 z# I2 D6 f- D* |6 Y @ 55_jdk安装-环境变量配置2 C6 x4 C; s) M: {$ }- p 56_hadoop安装-配置 57_hadoop伪分布模式8 I/ e; `1 Y$ b+ p1 R5 ^ 58_编写分发脚本-xcall-rsync1 X% G: Y' Q; }5 I$ [ 59_hadoop完全分布式-hdfs体验 60_hadoop的架构原理图 61_临时文件 62_hadoop的简单介绍, p5 P$ @+ O2 V. p } 63_通过京东的流程讲解hadoop的处理过程; b1 Q* b- v& N, S4 G) j' Y 64_项目流程图 65_架构2 66_跑一个应用程序 67_hadoop的搭建的复习6 h) {. C, f( J( @& F0 G 68_脚本分析的过程" ?' q# U7 B/ ~" W, e- I 69_开启和关闭一个进程 70_hadoop常用的命令和关闭防火墙) Q" A0 B3 M8 s3 ? 71_hadoop存储为何是128M 72_hadoop的存储问题 73_hadoop的高可用 74_配置hadoop临时目录 75_hadoop的hdfs的jar包 76_hadoop的存储问题+ B: J K& G* B4 Z 77_hadoop的hdfs常用的命令 78_hadoop的存储过程 79_hadoop大数据节点% K S, J! U3 W& o2 d) Q 80_hdfs-maven-hdfs API访问8 s8 J# W* l- i% x, ]: L! L 81_hdfs-maven-idea的集成处理 82_hdfs-block大小-副本数设定9 o$ I! k4 |+ ]9 q2 h8 ]# x6 B, S* Y$ W 83_hdfs-网络拓扑-写入剖析2 g4 Z0 j& K; Z, K 84_hdfs-写入剖析2-packet-chunk 85_hdfs-压缩编解码器, u" o: K/ V5 B 86_hdfs-MR原理 87_hdfs-wordcount$ ?% ?& }' U. [0 M9 b 88_hadoop-mapreduce-切片演示-mapper 89_hadoop-mapreduce-url演示1 B% m, V- Z) ~. B9 |9 m2 u 90_job提交流程剖析 91_job split计算法则-读取切片的法则 92_job seqfile5 v! h+ R9 L1 w, U* T6 J# M 93_job 全排序-自定义分区类2 n% h" `: b4 c) C3 J9 S 94_job二次排序5 t3 Z2 R- ]( a: s* c0 Z 95_从db输入数据进行mr计算: L. M4 I6 y, R2 l/ u/ L 96_输出数据到db中 97_NLineInputFormat& u( k1 T& z( O# P, S* y1 Y 98_KeyValueTextInputFormat* p$ O1 z- h, n" e( x1 s& c% z' v 99_join mapper端连接- N, S# O2 }6 m0 T 100_join reduce端连接0 N1 |* R5 n* D8 C+ i 101_hadoop Namenode HA配置8 [( ^7 Q1 W' y3 q 102_avro串行化4 [! T( [, J# e5 h P' w' {% I 103_google pb串行化& S- V% x6 v) {( Y" W 104_hive安装-使用: r/ Q& x. ~6 `- d* Y& R U4 X 105_hive beeline-hiveserver2 106_hive beeline-外部表-内部标 107_hive 分区表-桶表 108_hive word count 109_hive连接查询-union查询-load数据 110_hbase概述 111_zk架构-集群搭建-容灾演练avi 112_zk API-观察者-临时节点-序列节点-leader选举 113_hadoop namenode HA自动容灾" X3 `' ^/ U+ u+ U" F: } b 114_hadoop RM HA自动容灾 115_hbase集群搭建 116_hbase名字空间-表 117_hbase大批量操作7 [! ^" m3 B$ C. {1 S$ h. X 118_hbase架构-表和区域切割( p4 _0 k) J9 A/ ~; [ F 119_hbase架构-区域的合并 120_hbase get-scan-范围指定 121_扫描缓存-超时-切片' O; n; m' P; a6 T/ H$ S! ^ 122_hbase的HA配置演示-和Hadoop的HA集成 123_hbase版本机制 124_hbase-ttl-min-versions-keep-deleted-cells" @- N5 [2 s; S3 T$ H' C 125_keep-deleted-cells控制是否保留删除的shell$ V8 |; Q7 g" ]- C# j% |! y 126_过滤器rowkey-family 127_过滤器-分页-row-col 128_filterList 129_rowkey2 h5 Y+ y9 _1 j0 K0 Q) n 130_区域观察者 131_区域观察者实现和部署" s o7 p+ F& p/ a) ]& W/ ? 132_重写区域观察者的postPut和postScannext方法实现数据统一处理0 H) Q' Z- b; P# K 133_hbase的bulkload命令实现hbase集群之间数据的传输2 D6 d; F6 S8 x+ I/ I0 B0 @ 134_hive同hbase集成,统计hbase数据表信息% Q/ R! Z1 J3 J) k+ H! {6 D# M 135_使用TableInputFormat进行MR编程! m& C6 B/ v6 N" `, I' O& }4 u 136_使用phoenix交互hbase& h* s5 S- ~6 ]: u7 \ 137_squirrel工具. |+ E; g* R9 l3 E 138_flume简介 139_nc收集日志# [3 O7 K& n; f; y( f 140_hdfs sink收集日志到hdfs b9 o, k, j( G4 l! {* u: | 141_使用spooldir实现批量收集/ s8 F* }% o- n6 g& a9 w 142_使用exec结合tail命令实现实时收集 143_使用seq源和压力源实现测试 144_使用avro源 145_导入avro maven-avro-client 146_导入avro maven-avro-client 147_使用hbasesink收集日志到hbase数据库 148_内存通道配置6 U/ X5 L3 ]7 b6 `5 x 149_source的通道选择器-复制策略-multiplexing 150_source的数据流程 151_sinkgroup的处理器-loadbalance- ^6 B0 j4 Z5 f9 d 152_sinkgroup的处理器-failover) y- ^1 Y. ~5 s9 G8 S! ^! a5 o 153_kafka集群安装与启动4 ^; K& j3 @6 p0 M 154_kafka创建主题以及查看主题结构 155_考察zk中kafka结构9 N: Y8 u4 {# m/ z1 d3 H 156_kafka分区服务器服务方式 157_kafka编程API实现生产者和消费者+ w9 l1 N( D8 E% z( D; G 158_kafka手动修改zk的偏移量实现消费处理( w7 s! K9 v7 U3 P7 T4 j 159_kafka与flume集成-source集成- _, G+ K) y% I4 D" q9 \ 160_kafka与flume集成-sink集成4 o6 W; v5 a; p9 s. X% I7 @ 161_kafka与flume集成-channel集成/ x' w3 g3 z& d: w 162_kafka简介!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

runepic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值