我想计算kubernetes集群中所有pod的cpu使用情况.我在prometheus中发现了两个指标可能很有用:
container_cpu_usage_seconds_total: Cumulative cpu time consumed per cpu in seconds.
process_cpu_seconds_total: Total user and system CPU time spent in seconds.
Cpu Usage of all pods = increment per second of sum(container_cpu_usage_seconds_total{id="/"})/increment per second of sum(process_cpu_seconds_total)
Run Code Online (Sandbox Code Playgroud)
但是,我发现每秒的增量都container_cpu_usage{id="/"}大于增量sum(process_cpu_seconds_total).因此使用量可能大于1 ...
linux中有6种名称空间:Network, UTS, Users, Mount, IPC, Pid。我知道所有容器都与Kubernetes容器中的暂停容器共享相同的网络名称空间。默认情况下,不同的容器具有不同的PID名称空间,因为它们具有不同的初始化过程。但是,其他名称空间又如何呢?
我按照这条指令在kubernetes上的docker中运行1个kafka和3个zookeeper-server .我不能在pod(docker container)之外生成/使用主题.
bin/kafka-console-producer.sh --broker-list 1.2.3.4:9092 --topic
[2016-06-11 15:14:46,889] ERROR Error when sending message to topic test with key: null, value: 3 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Batch containing 3 record(s) expired due to timeout while requesting metadata from brokers for test-0
bin/kafka-console-consumer.sh --zookeeper 5.6.7.8:2181 --topic test --from-beginning
[2016-06-11 15:15:58,985] WARN Fetching topic metadata with correlation id 0 for topics [Set(test)] from broker [BrokerEndPoint(1001,kafka-service,9092)] failed (kafka.client.ClientUtils$)
java.nio.channels.ClosedChannelException
at kafka.network.BlockingChannel.send(BlockingChannel.scala:110)
at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:80)
at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:79)
at kafka.producer.SyncProducer.send(SyncProducer.scala:124)
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:59)
at …Run Code Online (Sandbox Code Playgroud) 我没有找到有关如何显示我的glusterfs客户端和服务器版本的任何信息.我认为应该很容易.我试过"gluster版",它无法正常工作.
我在 kubernetes 中运行了一个 hadoop 集群,有 4 个日志节点和 2 个名称节点。有时,我的数据节点无法注册到名称节点。
17/06/08 07:45:32 INFO datanode.DataNode: Block pool BP-541956668-10.100.81.42-1496827795971 (Datanode Uuid null) service to hadoop-namenode-0.myhadoopcluster/10.100.81.42:8020 beginning handshake with NN
17/06/08 07:45:32 ERROR datanode.DataNode: Initialization failed for Block pool BP-541956668-10.100.81.42-1496827795971 (Datanode Uuid null) service to hadoop-namenode-0.myhadoopcluster/10.100.81.42:8020 Datanode denied communication with namenode because hostname cannot be resolved (ip=10.100.9.45, hostname=10.100.9.45): DatanodeRegistration(0.0.0.0:50010, datanodeUuid=b1babba6-9a6f-40dc-933b-08885cbd358e, infoPort=50075, infoSecurePort=0, ipcPort=50020, storageInfo=lv=-56;cid=CID-bceaa23f-ba3d-4749-a542-74cda1e82e07;nsid=177502984;c=0)
at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:863)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4529)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1279)
at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:95)
at org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:28539)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
at java.security.AccessController.doPrivileged(Native …Run Code Online (Sandbox Code Playgroud) 我想过滤由机器人创建的所有问题,例如:
is:issue is:open author:not:robot
如何获取除机器人创建的问题以外的所有问题?
在elasticsearch v1.5中,可以将Index模板放在模板目录下的配置位置(path.conf)中elasticsearch/config/templates。但是,我发现升级到v2.3或v5.3后将不会加载此模板。有什么办法加载索引模板吗?
https://www.elastic.co/guide/zh-CN/elasticsearch/reference/1.5/indices-templates.html
我跑istio了Kubernetes.我想知道特使边车是如何工作的.例如,在将边车注入吊舱后,原始集装箱无法进入外部网络EgressRule.它是如何工作的?
在shell中,我使用go run file > output,但只有fmt.Print被保存到输出中.所有log.Print仍然输出到屏幕!在我在互联网上搜索之后,我发现我可以设置日志的输出目录,但是如何在同一个文件中保存日志和文件?
我想N每秒打印一行.
for i := 0; i < N; i++ {
fmt.Println(getLogs())
time.Sleep(1000000000/N * time.Nanosecond)
}
Run Code Online (Sandbox Code Playgroud)
但似乎fmt.Println()并getLogs()也将消耗时间.所以实际上打印N线会花费我超过1秒.
说,getLogs()并且fmt.Println()将花费1毫秒.我想每秒打印100万行.因此,打印1行将花费1毫秒getLogs(),1毫秒打印,1毫秒睡眠...打印N行将花费我3秒.
有更好的解决方案来更准确地实现这一目
查询elasticsearch时,只会返回命中的文档。如何获取点击的上下文,例如点击之前和之后的 10 个文档?
例如,我在elasticsearch中插入了5条日志:
{"log": "a"}
{"log": "b"}
{"log": "c"}
{"log": "d"}
{"log": "e"}
Run Code Online (Sandbox Code Playgroud)
我已经搜索过"query": { "match": { "log": "e" } },es将返回第5个文档。但是,我可能想要前面的4条日志进行调试,es可以返回上下文吗?
kubernetes ×5
docker ×2
go ×2
apache-kafka ×1
envoyproxy ×1
github ×1
glusterfs ×1
hadoop ×1
istio ×1
namespaces ×1
prometheus ×1
shell ×1