最近更新时间:2023.06.13 21:13:34
首次发布时间:2021.02.23 10:42:06
运维工作,是保障平台稳定运行的重要工作,本文将指导运维工程师进行快速的问题分析、问题解决,进行日常应用运维工作。本文主要从两个部分进行介绍:应用服务运维与基础组件运维,主要适用于智能数据洞察的私有化部署情况。
运维工程师可以通过 Kubernetes dashboard 对服务进行操作,也可以通过 kubectl 命令进行日常运维操作。
用户可以通过如下 URL 访问 Kubernetes 页面:http://${datawind-domain}:32002/#!/overview?namespace=_all
Dashboard 界面提供应用服务的全局运维视角,主要操作对象有集群、工作负载、配置和存储。
通过集群控制面板,可以查看 Kubernetes 集群节点当前信息和健康度
Kubernetes 节点控制面板:
工作负载是集群服务主要的承载实体,包括部署和定时任务,通过工作负载操作面板,可以查看服务当前信息,并可以进行相应的操作(删除/伸缩/配置查看修改)
Kubernetes 部署控制面板:
Kubernetes 定时任务控制面板:
配置与存储,是部署的服务进行持久化存储的配置与介质,通过控制面板可以进行删除和编辑操作。
Kubernetes 配置和存储控制面板:
以下列出了几种常用的命令。
查看所有容器:
./kubectl --kubeconfig=/opt/runtime/business/k8s/kube_config_cluster.yml get pods --all-namespaces
杀掉某个Pod:
./kubectl --kubeconfig=/opt/runtime/business/k8s/kube_config_cluster.yml delete pod ${pod} -n ${namespace}
查看日志:
./kubectl --kubeconfig=/opt/runtime/business/k8s/kube_config_cluster.yml logs ${pod} -n ${namespace}
登陆容器:
./kubectl --kubeconfig=/opt/runtime/business/k8s/kube_config_cluster.yml exec -it ${pod} -n ${namespace} bash
为了提升稳定性和可用性,智能数据洞察基础组件均使用systemd守护,在异常挂掉或宕机重启后可自动恢复。下面将对一些核心组件进行说明。
组件用途:服务发现
部署路径:
服务端部署路径:/opt/consul/consul_deploy
Agent部署路径:/opt/tiger/consul_deploy
日志路径:
服务端日志: /opt/log/tiger/consul_server_agent.log, /opt/log/tiger/consul.server.access.log
Agent日志:/opt/log/tiger/consul_agent.log, /opt/log/tiger/consul.access.log
启动服务:(root账户执行)
systemctl start consul-server # 启动 consul server
systemctl start consul # 启动 consul agent
停止服务:(root账户执行)
systemctl stop consul-server # 停止 consul server
systemctl stop consul # 停止 consul agent
查看已注册的服务:
curl -i localhost:2280/v1/catalog/services?pretty
查看服务所在节点和端口:
sd lookup {service-name}
注册服务:
sd -h {host} up {service-name} {port}
解注册服务:
sd -h {host} down {service-name} {port}
组件用途:缓存
部署路径:
服务端部署路径:/opt/redis/
Proxy部署路径:/opt/redis_proxy/
日志路径:
Master端日志:/opt/redis/master/master_runtime.log
Slave端日志: /opt/redis/slave/slave_runtime.log
Proxy日志: /opt/redis_proxy/redisproxy_runtime.log
启动服务:(root账户执行)
systemctl start redis-master
systemctl start redis-slave
systemctl start redis-proxy
停止服务:(root账户执行)
systemctl stop redis-master
systemctl stop redis-slave
systemctl stop redis-proxy
组件用途:元数据存储/业务数据存储
部署路径:
服务端部署路径:/opt/tiger/app/percona-5.7.23
Proxy部署路径:/opt/tiger/app/dbatman/
日志路径:
服务端日志:/data00/mysql/log3406/
读Proxy日志:/opt/tiger/app/dbatman/dbatman_3307/log/3307dbatman.log
写Proxy日志:/opt/tiger/app/dbatman/dbatman_3306/log/3306dbatman.log
启动服务:(root账户执行)
systemctl start mysqld
systemctl start mysql_proxy_read
systemctl start mysql_proxy_write
停止服务:(root账户执行)
systemctl stop mysqld
systemctl stop mysql_proxy_read
systemctl stop mysql_proxy_write
组件用途:分布式协调、分布式锁、元数据存储
部署路径:/home/zookeeper/software/zookeeper
日志路径:/home/zookeeper/logs/zookeeper.log
启动服务:(root账户执行)
systemctl start zookeeper
停止服务:(root账户执行)
systemctl stop zookeeper
组件用途:离线数据存储、资源管理
部署路径:
Bookkeeper部署路径:/opt/tiger/bk_deploy/
Hadoop部署路径:/opt/tiger/yarn_deploy/hadoop
日志路径:/data00/yarn/logs
启动服务:(tiger账户执行)
systemctl --user start zkfc
systemctl --user start bookie
systemctl --user start namenode
systemctl --user start datanode
systemctl --user start resourcemanager
systemctl --user start nodemanager
停止服务:(tiger账户执行)
systemctl --user stop zkfc
systemctl --user stop bookie
systemctl --user stop namenode
systemctl --user stop datanode
systemctl --user stop resourcemanager
systemctl --user stop nodemanager
Hadoop命令行操作比较多,具体可以参考Apache Hadoop官网,不再细述。
组件用途:数仓
部署路径:/opt/tiger/hive_deploy/
日志路径:/opt/log/tiger/hive_noauth.log
启动服务:(tiger账户执行)
systemctl --user start tob_hive_metastore
停止服务:(tiger账户执行)
systemctl --user stop tob_hive_metastore
组件用途:OLAP引擎
部署路径:/opt/tiger/ch_debian_bin/
日志路径:/data00/clickhouse/logs/
启动服务:(root账户执行)
systemctl start clickhouse-server
停止服务:(root账户执行)
systemctl stop clickhouse-server
进入Clickhouse客户端:
/opt/tiger/ch_debian_bin/usr/bin/clickhouse client