首页 文章 精选 留言 我的

精选列表

搜索[集群],共10008篇文章
优秀的个人博客,低调大师

集群管理

查看节点信息 root@netkiller /var/log/elasticsearch % curl -XGET localhost:9200/ { "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "I7jirJ2yTr-f2qrBNorQYA", "version" : { "number" : "5.6.0", "build_hash" : "781a835", "build_date" : "2017-09-07T03:09:58.087Z", "build_snapshot" : false, "lucene_version" : "6.6.0" }, "tagline" : "You Know, for Search" } 8.5.1.节点健康状态 root@netkiller ~ % curl 'http://localhost:9200/_cat/health?v' epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1502445967 18:06:07 my-application yellow 2 2 17 11 0 0 5 0 - 77.3% root@netkiller ~ % curl 'http://localhost:9200/_cluster/health' {"cluster_name":"my-application","status":"yellow","timed_out":false,"number_of_nodes":2,"number_of_data_nodes":2,"active_primary_shards":11,"active_shards":17,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":5,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":77.27272727272727} 8.5.2.节点http状态 root@netkiller ~ % curl 'localhost:9200/_nodes/stats/http?pretty' { "_nodes" : { "total" : 2, "successful" : 2, "failed" : 0 }, "cluster_name" : "my-application", "nodes" : { "-lnKCmBXRpiwExLns0jc9g" : { "timestamp" : 1502446878773, "name" : "node-1", "transport_address" : "10.104.3.2:9300", "host" : "10.104.3.2", "ip" : "10.104.3.2:9300", "roles" : [ "master", "data", "ingest" ], "http" : { "current_open" : 4, "total_opened" : 29 } }, "WVsgYi2HT8GWnZU1kUwFwA" : { "timestamp" : 1502446878782, "name" : "node-2", "transport_address" : "10.186.7.221:9300", "host" : "10.186.7.221", "ip" : "10.186.7.221:9300", "roles" : [ "master", "data", "ingest" ], "http" : { "current_open" : 0, "total_opened" : 2 } } } } 8.5.3.查看master节点 root@netkiller ~ % curl 'http://localhost:9200/_cat/nodes?v' ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 10.104.3.2 31 98 50 0.20 0.55 0.61 mdi - node-1 10.186.7.221 25 99 0 0.00 0.01 0.05 mdi * node-2 8.5.4.查看索引的节点分布 root@netkiller ~ % curl 'http://localhost:9200/_cat/shards?v' index shard prirep state docs store ip node logstash-api 1 p STARTED 103 342kb 10.186.7.221 node-2 logstash-api 1 r STARTED 103 342kb 10.104.3.2 node-1 logstash-api 3 p STARTED 104 404.1kb 10.186.7.221 node-2 logstash-api 3 r STARTED 104 404.1kb 10.104.3.2 node-1 logstash-api 4 p STARTED 117 349.2kb 10.186.7.221 node-2 logstash-api 4 r STARTED 117 349.2kb 10.104.3.2 node-1 logstash-api 2 p STARTED 113 405.8kb 10.186.7.221 node-2 logstash-api 2 r STARTED 113 405.8kb 10.104.3.2 node-1 logstash-api 0 p STARTED 128 488.4kb 10.186.7.221 node-2 logstash-api 0 r STARTED 128 488.4kb 10.104.3.2 node-1 .kibana 0 p STARTED 5 31.2kb 10.186.7.221 node-2 .kibana 0 r STARTED 5 31.2kb 10.104.3.2 node-1 information 1 p STARTED 10 122.3kb 10.104.3.2 node-1 information 1 r UNASSIGNED information 3 p STARTED 7 159.6kb 10.104.3.2 node-1 information 3 r UNASSIGNED information 4 p STARTED 8 86.1kb 10.104.3.2 node-1 information 4 r UNASSIGNED information 2 p STARTED 11 160kb 10.104.3.2 node-1 information 2 r UNASSIGNED information 0 p STARTED 9 202.8kb 10.104.3.2 node-1 information 0 r UNASSIGNED 8.5.5.索引的开启与关闭 POST /{index}/_close 关闭索引 POST /{index}/_open 打开索引 8.5.5.1._open root@netkiller /var/log/elasticsearch % curl 'http://localhost:9200/_cat/indices?v' health status index uuid pri rep docs.count docs.deleted store.size pri.store.size close information oygxIi-dR1eB9NoIZtJrxQ green open logstash-spring 9xXtt_L0QvKHibXFH5gjJQ 5 1 4622 0 62.9mb 31.4mb green open .kibana 9jBBaOomTO2EakZlZqnE-g 1 1 10 0 36.6kb 18.3kb root@netkiller /var/log/elasticsearch % curl -XPOST 'http://localhost:9200/information/_open' {"acknowledged":true}# root@netkiller /var/log/elasticsearch % curl 'http://localhost:9200/_cat/indices?v' health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open information oygxIi-dR1eB9NoIZtJrxQ 5 1 2417 5 34.5mb 17.3mb green open logstash-spring 9xXtt_L0QvKHibXFH5gjJQ 5 1 4622 0 62.9mb 31.4mb green open .kibana 9jBBaOomTO2EakZlZqnE-g 1 1 10 0 36.6kb 18.3kb 8.5.5.2._close root@netkiller /var/log/elasticsearch % curl -XPOST 'http://localhost:9200/information/_close' {"acknowledged":true}# 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

优秀的个人博客,低调大师

docker swarm 集群搭建

docker run -d -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -p 8600:53 -p 8600:53/udp -h dev28 --restart=always --name=consul progrium/consul -server -bootstrap -ui-dir=/ui -advertise 192.168.30.71 -client 0.0.0.0 docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h dev30 --name=consul progrium/consul -join 192.168.30.71 -advertise 192.168.30.72 -client 0.0.0.0 docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 192.168.30.72 consul://localhost:8500 docker run -tid -p 3375:3375 --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 consul://192.168.30.71:8500 yum install vim -y yum install net-tools -y [docker-main-repo] name=Docker main Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7 enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg yum install docker-engine systemctl stop firewalld.service systemctl disable firewalld.service vi /lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -D -H tcp://0.0.0.0:2375 vim /etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-arptables = 1 echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-arptables = 1" >> /etc/sysctl.conf docker swarm init --listen-addr 0.0.0.0:2377 --advertise-addr 192.168.30.79 docker swarm join \ > --token SWMTKN-1-46ql6rcp9acghztlcjabobue0bp5gwlzwrbylnlcrk2os8gg1k-acxppwfzcrm0cvksshotw2kvn \ > 192.168.30.79:2377 docker run -d -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -p 8600:53 -p 8600:53/udp -h dev28 --restart=always --name=consul progrium/consul -server -bootstrap -ui-dir=/ui -advertise 192.168.30.79 -client 0.0.0.0 docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h centos3 --name=consul progrium/consul -join 192.168.30.79 -advertise 192.168.30.84 -client 0.0.0.0 docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 192.168.30.79 consul://localhost:8500 10、启动swarm-manager(28) docker run -tid -p 3375:3375 --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 consul://192.168.30.79:8500 docker run -tid --restart=always --name shipyard-swarm-agent swarm:latest join --addr 192.168.30.79:2375 consul://192.168.30.79:8500 本文转自 zbill 51CTO博客,原文链接:http://blog.51cto.com/dek701/1965524,如需转载请自行联系原作者

优秀的个人博客,低调大师

Docker部属Nsq集群

用一了段时间NSQ还是很稳定的。除了稳定,还有一个特别值的说的就是部署非常简单。总想写点什么推荐给大家使用nsq来做一些东西。但是就是因为他太简单易用,文档也比较简单易懂。一直不知道要写啥!!!!! nsq官网:http://nsq.io/ 为了容灾需要对nsqd多机器部属,有了Docker后,快速扩还是很方便的。 部署完后我会用go和c#写一些代码方便大家学习。 准备工作: 》两台服务器:192.168.0.49; 192.168.0.105. 》需要在两台机器上安装好Docker 》两台机器上镜像的拉取 docker pull nsqio/nsq 我们在105上启动lookup, nsqd和客户端都需要连接这个lookup。 docker run --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd 在105和49上启动nsqd, lookup的地址要写105 docker run --name nsqd -p 4150:4150 -p 4151:4151 nsqio/nsq /nsqd --broadcast-address=192.168.0.105 --lookupd-tcp-address=192.168.0.105:4160 docker run --name nsqd -p 4150:4150 -p 4151:4151 nsqio/nsq /nsqd --broadcast-address=192.168.0.49 --lookupd-tcp-address=192.168.0.105:4160 到了这一步就可以写代码发送和接收信息了。但是还有一个管理系统需要启动一下。nsqadmin docker run --name nsqadmin -p 4171:4171 nsqio/nsq /nsqadmin --lookupd-http-address=192.168.0.105:4161 用浏览器看一下管理端:http://192.168.0.105:4171/nodes。找开Nodes标签里面有两个节点。192.168.0.105 和 192.168.0.49。其他的你可以点开看看。 我用go语言 简单写一个发送信息的例子: go使用的库是go-nsq地址 :github.com/nsqio/go-nsq func main() { config := nsq.NewConfig() // 随便给哪个ip发都可以 //w1, _ := nsq.NewProducer("192.168.0.105:4150", config) w1, _ := nsq.NewProducer("192.168.0.49:4150", config) err1 := w1.Ping() if err1 != nil { log.Fatal("should not be able to ping after Stop()") return } defer w1.Stop() topicName := "publishtest" msgCount := 2 for i := 1; i < msgCount; i++ { err1 := w1.Publish(topicName, []byte("测试测试publis test case")) if err1 != nil { log.Fatal("error") } } } 可以尝试给49和105都发送一次试试。再看一下我们的管理页面: publishtest被ip105和49都发送过。但是还没有channel: 客户端golang代码 package main import ( "fmt" "github.com/nsqio/go-nsq" "log" "os" "os/signal" "strconv" "time" "sync" ) func main() { topicName := "publishtest" msgCount := 2 for i := 0; i < msgCount; i++ { //time.Sleep(time.Millisecond * 20) go readMessage(topicName, i) } //cleanup := make(chan os.Signal, 1) cleanup := make(chan os.Signal) signal.Notify(cleanup, os.Interrupt) fmt.Println("server is running....") quit := make(chan bool) go func() { select { case <- cleanup: fmt.Println("Received an interrupt , stoping service ...") for _, ele := range consumers { ele.StopChan <- 1 ele.Stop() } quit <- true } }() <-quit fmt.Println("Shutdown server....") } type ConsumerHandle struct { q *nsq.Consumer msgGood int } var consumers []*nsq.Consumer = make([]*nsq.Consumer, 0) var mux *sync.Mutex = &sync.Mutex{} func (h *ConsumerHandle) HandleMessage(message *nsq.Message) error { msg := string(message.Body) + " " + strconv.Itoa(h.msgGood) fmt.Println(msg) return nil } func readMessage(topicName string, msgCount int) { defer func() { if err := recover(); err != nil { fmt.Println("error: ", err) } }() config := nsq.NewConfig() config.MaxInFlight = 1000 config.MaxBackoffDuration = 500 * time.Second //q, _ := nsq.NewConsumer(topicName, "ch" + strconv.Itoa(msgCount), config) //q, _ := nsq.NewConsumer(topicName, "ch" + strconv.Itoa(msgCount) + "#ephemeral", config) q, _ := nsq.NewConsumer(topicName, "ch"+strconv.Itoa(msgCount), config) h := &ConsumerHandle{q: q, msgGood: msgCount} q.AddHandler(h) err := q.ConnectToNSQLookupd("192.168.0.105:4161") //err := q.ConnectToNSQDs([]string{"192.168.0.105:4161"}) //err := q.ConnectToNSQD("192.168.0.49:4150") //err := q.ConnectToNSQD("192.168.0.105:4415") if err != nil { fmt.Println("conect nsqd error") log.Println(err) } mux.Lock() consumers = append(consumers, q) mux.Unlock() <-q.StopChan fmt.Println("end....") } 本文转自lpxxn博客园博客,原文链接:http://www.cnblogs.com/li-peng/p/7729174.html,如需转载请自行联系原作者 运行一下,会启动两个终端: 用我们的发送代码发送信息,再看我们的客户端 c#使用的库为NsqSharp.Core地址为: https://github.com/tonyredondo/NsqSharp 简单客户端代码为: class Program { static void Main() { // Create a new Consumer for each topic/channel var consumerCount = 2; var listC = new List<Consumer>(); for (var i = 0; i < consumerCount; i++) { var consumer = new Consumer("publishtest", $"channel{i}" ); consumer.ChangeMaxInFlight(2500); consumer.AddHandler(new MessageHandler()); consumer.ConnectToNsqLookupd("192.168.0.105:4161"); listC.Add(consumer); } var exitEvent = new ManualResetEvent(false); Console.CancelKeyPress += (sender, eventArgs) => { eventArgs.Cancel = true; listC.ForEach(x => x.Stop()); exitEvent.Set(); }; exitEvent.WaitOne(); } } public class MessageHandler : IHandler { /// <summary>Handles a message.</summary> public void HandleMessage(IMessage message) { string msg = Encoding.UTF8.GetString(message.Body); Console.WriteLine(msg); } /// <summary> /// Called when a message has exceeded the specified <see cref="Config.MaxAttempts"/>. /// </summary> /// <param name="message">The failed message.</param> public void LogFailedMessage(IMessage message) { // Log failed messages } }

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册