RabbitMQ exporter部署

一、RabbitMQ Exporter部署

1、rabbitmq创建用户

1
2
3
4
5
6
7
8
9
10
11
# 创建ops_monitor用户,并设置密码
rabbitmqctl add_user ops_monitor ops123
# 给ops_monitor用户打上monitoring角色
rabbitmqctl set_user_tags ops_monitor monitoring
# 创建名为ops的virtual host
rabbitmqctl add_vhost ops
# 为ops_monitor用户配置名称"ops"的virtual host的所有权限
rabbitmqctl set_permissions -p ops ops_monitor ".*" ".*" ".*"
# 为ops_monitor用户配置名称"/"的virtual host的只读权限
# rabbitmqctl [-n <node>] [-l] [-q] set_permissions [-p <vhost>] <username> <conf> <write> <read>
rabbitmqctl set_permissions -p / ops_monitor "" "" ".*"

阅读更多

golang 时间相关操作集合

1、time按照格式转化

1
timeString := timeNow.Format("2006-01-02 15:04:05") //2015-06-15 08:52:32

2、时间戳转time

1
timeNow := time.Unix(timestamp, 0) //2017-08-30 16:19:19 +0800 CST

3、字符串转时间

1
d, _ := time.Parse("2006-01-02 15:04:05", dateStr)

更多用法可参考:https://cloud.tencent.com/developer/article/1456484?from=10910

阅读更多

如何查看HDP各组件版本信息,两种办法

前言

大家好,我是 create17。自从 2017 年就开始围绕 Ambari 做相关工作。期间做过 Ambari 安装部署、页面生产级别的汉化、Ambari 自定义服务集成、前端页面开发、后端 API 接口开发、Ambari Server HA、部分原生 bug 修改,以及 HDP 相关常用组件的基本使用。

在大家选择使用 hdp 使用之前,肯定要关注 hdp 各组件的版本信息。那么如何查询呢?本篇文章来告诉你答案。

一、方法一:从官网查看

打开 cloudera 官网,跳转到文档地址,如下图所示:

阅读更多

docker 常见问题解答汇总

一、docker push 提示:x509: certificate signed by unknown authority

1、打开daemon.json,在insecure-registries里面添加你的私库地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vim /etc/docker/daemon.json
{
"registry-mirrors":["https://xxx.aliyuncs.com"], #镜像加速地址
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 10,
"data-root": "/var/lib/docker",
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"insecure-registries":["192.168.2.xxx:443"]
}
# 部分参数(registry-mirrors、insecure-registries ...)修改,只要reconfigure(systemctl reload docker) 就生效。insecure-registries 修改需要重启docker。

2、重启Docker

1
systemctl restart docker

这样就可以了。先docker login,然后再docker push。

阅读更多

k8s 污点和容忍讲解

k8s 污点和容忍:

https://jimmysong.io/kubernetes-handbook/concepts/taint-and-toleration.html

阅读更多

HDFS 使用报告参数说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[hdfs@cdh-worker1 ~]$ hdfs dfsadmin -report
Configured Capacity: 601516597248 (560.21 GB)
Present Capacity: 565009399351 (526.21 GB)
DFS Remaining: 469261164350 (437.03 GB)
DFS Used: 95748235001 (89.17 GB)
DFS Used%: 16.95%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

-------------------------------------------------
Live datanodes (3):

Name: 192.168.2.220:50010 (cdh-worker1)
Hostname: cdh-worker1
Rack: /default
Decommission Status : Normal
Configured Capacity: 200505532416 (186.74 GB)
DFS Used: 31916771923 (29.72 GB)
Non DFS Used: 2634159533 (2.45 GB)
DFS Remaining: 154663588172 (144.04 GB)
DFS Used%: 15.92%
DFS Remaining%: 77.14%
Configured Cache Capacity: 4294967296 (4 GB)
Cache Used: 0 (0 B)
Cache Remaining: 4294967296 (4 GB)
Cache Used%: 0.00%
Cache Remaining%: 100.00%
Xceivers: 10
Last contact: Mon Jun 13 17:04:17 CST 2022

... 其他节点数据省略

如上:是执行 hdfs dfsadmin -report 输出的部分结果。

对于 Configured CapacityPresent CapacityDFS UsedNon DFS UsedDFS Remaining 概念经常混淆,今天特地抽时间研究了下,如有不对的地方,还请留言指正,谢谢。

阅读更多

Prometheus Record介绍

待更新。

阅读更多

golang对struct数组排序并分页

可能大家一说到分页或排序,可能就会想到mysql之类的数据库分页排序了。本篇文章不讲这个,主要讲解如何对数据数组进行分页,以及排序的。这种的使用场景也是有的,所以详细记录一下。

1、分片分页:

阅读更多

golang调用k8s clientset获取pod相关指标

pod:

  • Cpu Request:
    • requests.Cpu().AsDec().String(),单位:Core
    • requests.Cpu().MilliValue(),单位:m
    • requests.Cpu().Value(),不准。100m时,显示1;2000m时显示2
  • Cpu Limit:
    • 用法同上
  • Memory Request:
    • requests.Memory().AsDec().String(),单位:bytes
    • requests.Memory().Value(),单位:bytes
  • Memory Limit:
    • 用法同上

阅读更多

golang数据类型转换

string转float64:

1
2
3
4
5
6
import "strconv"

tmp := ""
str, err := strconv.ParseFloat(tmp, 64)
fmt.Println(str) // 0 float64类型
// 当tmp="asdsad"时,str会为0,但err会有错误产生

string转bool:

1
value, _ := strconv.ParseBool("asdasd")  // 当报错时值为false

阅读更多