大数据平台运维方案.docx
大数据平台运维方案1.引言1.1 概述本文档为大数据平台运维用户的使用手册,主要用于对大数据平台的启动、关闭和检查1.2 环境本大数据平台主要配置如下所示:功主机名IP邰善蛆行HadOoP集群曾建节点(2fe)hadpManagerO117i1620.11HIVE(MYSQL).SQPhadpManagerO2172.1620.12Narw0Q11oop)、Urb4rttvervro4er(hadp)、ResourceManager(hadoop)MYSQLHadoOP集群期B节点(3)hadoop01172.162021JournaINode(hadoop),DataNode(hadp).QuorumPeerMain(Zkeeper).SPARK(master、WOrker).NodeManager(hadoop)hadoop01172.162022Xoopo2172.162023HbaSej熊楫理万点(2旬hbaseManagerO1172.1620.51NameNode(Kadoop)、DFSZKFk>verCotroller(hadoop)、ResourceManager(hadp),Hmaster(hbase)KafkaOffsetMonitorszat>bixhbaseManagerO2172.1620.52HbaSe*8微S节点(3台)hbaseO1172.1620.61JournaINode(hadp),DataNode(Hadoop).Zookeeper,HReglonServe<(hbase),KAFKAaNodeManager(hadp)hbaseO2172.16202hbaseO31721620.63图1.2配匿信息版本信息:Hadoophadoop-2.6.0-cdh5.10.0Hbasehbase-1.2.0-cdh5.10.0Hivehive-1.1.0-cdh5.10.0Sparkspark-2.3.0-bin-hadoop2.6Sqoopsqoop-1.4.6-cdh5.10.0Zookeeperzookeeper-3.4.5-cdh5.10.0KAFKAkafka,2.12-1.0.1kafka-monorKafkaOffsetMonitor-assembly-O.2.1JDKjdk-8ul62-linu×-×64Mysqlmysql-5.7.21-l.el7.×86.64.rpm-bundlemysqI-connector-java-5.1.46Scalascala-2.12.5所有大数据组件都部署在子用户下,Hadoop集群子用户为hadoop,Hbase集群子用户为hbase,大数据组件全部通过手动方式搭建,文件目录在/home/had。P或者homehbase卜)2.正文2.1 组件信息主要介绍每个组件的信息2.1.1 ZookeeperZookeeper是分布式应用程序协调服务.2.1.1.1 zookeeper数据存储目录ZK数据目录:homehadoopoptdatazookeeperZK日志目录:homehadoopoptdatazookeeperzookeeperjog2.1.1.2 ZOokeePer所使用的端口2181、2888、38882.1.1.3 ZoOkeePer使用命令(一级)启动:homehadoopzookeeper-3.4.5-cdh5.10.0binzkServer.shstart查看状态:homehadoopZOOkeePer-3.4.5-Cdh5.10.0/bin/zkCli.sh-serverhadoop:2180检查状态:homehadoopZOOkeePer-3.4.5-Cdh5.10.0/bin/zkCli.shzkServer.shstatus备注:执行命令后(比如启动)在当前路径下会生成ZOOkeeperqut文件,里面有相关日志信息2.1.2 HadoopHadoop是一个分布式系统基础架构,主要有HDFS和MapReduce组成,HDFS提供分布式存储,MaPRedUCe提供分布式计算。2.1.2.1 hadoop文件存储目录HadOOP临时文件:homehadoopoptdatahadooptmpNamenode数据:homehadoopoptdatahadoophadoop-nameDatanode数据:/home/hadoop/opt/data/hadoop/hadoop_datajournalnodhomehadoopoptdatahadoopeditsdirdfsjournalnodenodemanager数据信息:homehadoopoptdatahadoopnm-local-dirHadoop使用日志:homehadoopoptdatahadoophadoop-logHadoop用户日志:homehadoopoptdatahadoopuserlogs业务数据路径:mntsdal,mntsdblmntsdclmntsddllmntsdel,mntsdfl等2.1.2.2 hadoop使用端口50070、9000、8088等2.1.2.3 hadoop使用命令(一级)启动Namenode:homehadoophadoop-2.6.0-cdh5.10.0sbinhadoop-daemon.shstartnamenode关闭Namenode:homehadoophadoop-2.6.0-cdh5.10.0sbinhadoop-daemon.shstopnamenode启动DFS:homehadoophadoop-2.6.0-cdh5.10.0sbinstart-dfs.sh关闭DFS:homehadoophadoop-2.6.0-cdh5.10.0sbinstart-dfs.sh启动YARN:homehadoophadoop-2.6.0-cdh5.10.0sbinstart-yarn.sh关闭YARN:homehadoophadoop-2.6.0-cdh5.10.0sbinstop-yarn.sh启动整个hadoop:homehadoophadoop-2.6.0-cdh5.10.0sbinstart-all.sh关闭整个hadoop:homehadoophadoop-2.6.0-cdh5.10.0sbinstop-all.sh备注1homehadoopoptdatahadoophadoop-log中可以查看启动等日志信息2.1.3 HbaseHBaSe是一个分布式的、面向列的开源数据库。2.1.3.1 HbaSe文件存储目录日志文件:homehbaseoptdatahbaseIogS临时文件:homehbaseoptdatahbasetmp2.1.3.2 Hbase使用端口600102.1.3.3 Hbase使用命令(一级)启动hbase:homehbasehbase-1.2.0-cdh5.10.0binstart-hbase.sh关闭hbase:homehbasehbase-1.2.0-cdh5.10.0binstop-hbase.sh启动master:homehbasehbase-1.2.0-cdh5.10.0binhbase-daemon.shstartmaster关闭master:homehbasehbase-1.2.0-cdh5.10.0binhbase-daemon.shstopmaster备注:每个节点/home/hbase/opt/data/hbase/logs/中可以看到启动状态2.1.4 Spark一个专为大规模数据处理而设计的快速通用的计算引擎。2.1.4.1 SPark使用端口80802.1.4.2 Spark使用命令(一级)启动spark:homehadoopspark-2.3.0-bin-hadoop2.6sbinstart-all.sh关闭spark:homehadoopspark-2.3.0-bin-hadoop2.6sbinstop-all.sh启动worker节点:homehadoopspark-2.3.0-bin-hadoop2.6sbinstart-slaves.sh关闭worker付点:homehadoopspark-2.3.0-bin-hadoop2.6sbinstop-slaves.sh启动master节点:homehadoopspark-2.3.0-bin-hadoop2.6sbinstart-master.sh关闭master节点:homehadoopspark-2.3.0-bin-hadoop2.6sbinstop-master.sh启动spark-sql:homehadoopspark-2.3.0-bin-hadoop2.6binspark-sql启动thriftserver:homehadoosark-2.3.0-bin-hadoo2.6sbinstart-thriftserver.sh2.1.5 Hivehive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的Sql查询功能,可以将sql语句转换为M叩RedUCe任务进行运行。2.1.5.1 Hive文件存储目录Hive数据:homehadoopoptdatahiveHive的日志:homehadoopoptdatahivelogs2.1.5.2 HiVe的MySql信息Hve的MySQL主副集群为172.16.20.11-12,其中172.16.20.11为主数据库。据库用户名:hive据库密码:hive2.1.5.3 Hive的使用(一级)hive命令:hadoophive-1.1.0-cdh5.10.0binhive启动hive元数据:homehadoophive-1.1.0-cdh5.10.0binhiveservicemetastore>hive_metastore.log2.1.6 SqoopSqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQLQrade,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。2.1.6.1 SqOOP使用(一级)列出mysql数据库中的所有数据库sqooplist-databases-connectjdbc:mysql:/localhost:3306/-usernamemysql-password20182.1.7 KAFKAKafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。2.1.7.1 Kafka文件存储目录Kafka日志:homehbaseoptdatakafkakafka-logs2.1.7.2 Kafka的使用(一级)启动kafka:nohuphomehbasekafka-2.12-1.0.1binkafka-server-start.sh/home/hbase/kafka_2.12-1.0.1/config/server.properties&备注:如果不用后台执行,就会滚动打印日志关闭kafka:homehbasekafka-2.12-1.0.1binkafka-server-stop.sh2.1.7.3 Kafka的使用(二级)1)、创建topic:bin/kafka-topics.shcreatezookeeperhbaseOL2181-replication-factor1partitions1-topictest2)、查看topic:bin/kafka-topics.sh-list-zookeeperhbaseOL21813)、生产者bin/kafka-console-producer.sh-broker-listhbase01:9092topictest4)、消费者bin/kafka-console-consumer.shzookeeperhbaseOL2181topictestfrom-beginning2.1.8 KAFKA-MONITORKafkaOffsetMonitor是有由Kafka开源社区提供的一款Web管理界面,这个应用程序用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,你可以通过浏览当前的消费者组,并且每个TOPiC的所有Partition的消践情况都可以观看的一清二楚。它让我们很直观的知道,每个Partition的Message是否消费掉,有木有阻塞等等。这个Web管理平台保留的Partition.Offset和它的Consumer的相关历史数据,我们可以通过浏览Web管理的相关模块,清楚的知道最近一段时间的消费情况。2.1.8.1 KafkaoffSetMOnitOr使用端口180882.1.8.2 KafkaOffsetMonitor启动命令(一级)启动命令:java-cpKafkaOffsetMonitor-assembly-0.2.0.jarcom.quantifind.kafka.offsetapp.OffsetGetterWebzkhbase01:2181,hbase02:2181,hbase03:2181port18088refresh10.secondsretain2.days参数含义offsetstoragevalidoptionsare"zookeeper,“kafka,ror"storm".Anythingelsefallsbackto“zookeeper,*zktheZooKeeperhostsportonwhatportwilltheappbeavailablerefreshhowoftenshouldtheapprefreshandstoreapointintheDBretainhowlongshouldpointsbekeptintheDBdbNamewheretostorethehistory(default,offsetapp,)kafkaOffsetForceFromStartonly叩PlieSto"kafkawformat.ForceKafkaOffsetMonitortoscanthecommitmessagesfromstart(seenotesbelow)StormZKOffsetBaseonlyappliesto“storm"format.Changetheoffsetstoragebaseinzookeeper,defaultto"stormconsumersz,(seenotesbelow)pluginsArgsadditionalargumentsusedbyextensions(seebelow)备注:可以将命令写入脚本中.chmod+×kafka-monitor-start.shnohuphomehbaseKafkaMonitorkafka-monitor-start.sh&2.1.9 zabbi×zabbi×是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。2.1.9.1 zabbix的数据库数据库为默认的mariadb数据库用户名:zabbix数据库密码:123456数据库库名:zabbix21.92zabbix的启动(一级)SerVer节点:172.16.20.51Systemctlstartzabbix-serverSystemctlstartzabbi×-agentSystemctlstarthttpdagent节点:172.16.20.11,12,21,22,23,51,52,53Systemctlstartzabbix-agentUser:AdminPassword:zabbix2.2 启动顺序2.2.1 hadoop集群组件启动循序:Zookeeper->Hadoop->SparkHiVe和Sqoop关闭循序:SparksHiVe和Sqoop->Hadoop->Zookeeper2.2.2 Hbase集群组件启动循序:Zookeeper->Hadoop->Hbase->Kafka->KAFKA-MONITOR->zabbix关闭循序:KAFKA-MONTOR->Kafka->Hbase->Hadoop->Zookeeper->zabbix