首页 文章 精选 留言 我的

精选列表

搜索[服务器],共10000篇文章
优秀的个人博客,低调大师

阿里云服务器跑 hyperledger e2e-cli 运行

go 安装 docker 安装 hyperledger fabric 源码运行 参加上篇博客 CentOS 7 HyperLedger fabric 实战 e2e-cli 有运行成功图 问题及解决方法 [java] view plain copy 2018-03-2317:52:41.021UTC[channelCmd]readBlock->DEBU016Gotstatus:*orderer.DeliverResponse_Status 2018-03-2317:52:41.021UTC[msp]GetLocalMSP->DEBU017ReturningexistinglocalMSP 2018-03-2317:52:41.021UTC[msp]GetDefaultSigningIdentity->DEBU018Obtainingdefaultsigningidentity fatalerror:unexpectedsignalduringruntimeexecution [signalSIGSEGV:segmentationviolationcode=0x1addr=0x63pc=0x7fd45dffd259] runtimestack: runtime.throw(0xdc37a7,0x2a) /opt/go/src/runtime/panic.go:566+0x95 runtime.sigpanic() /opt/go/src/runtime/sigpanic_unix.go:12+0x2cc goroutine34[syscall,lockedtothread]: runtime.cgocall(0xb08d50,0xc420020df8,0xc400000000) /opt/go/src/runtime/cgocall.go:131+0x110fp=0xc420020db0sp=0xc420020d70 net._C2func_getaddrinfo(0x7fd4580008c0,0x0,0xc420343560,0xc42012e5e8,0x0,0x0,0x0) ??:0+0x68fp=0xc420020df8sp=0xc420020db0 net.cgoLookupIPCNAME(0x7ffdd56a1a83,0x13,0x0,0x0,0x0,0x0,0x0,0x0,0x0) /opt/go/src/net/cgo_unix.go:146+0x37cfp=0xc420020f18sp=0xc420020df8 net.cgoIPLookup(0xc4203a3560,0x7ffdd56a1a83,0x13) /opt/go/src/net/cgo_unix.go:198+0x4dfp=0xc420020fa8sp=0xc420020f18 runtime.goexit() /opt/go/src/runtime/asm_amd64.s:2086+0x1fp=0xc420020fb0sp=0xc420020fa8 createdbynet.cgoLookupIP /opt/go/src/net/cgo_unix.go:208+0xb4 goroutine1[select]: github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*addrConn).wait(0xc4201d68c0,0x7fd45e37fda0,0xc4203434a0,0xc420150100,0x8006f0,0x7fd45e37fda0,0xc4203434a0,0x0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:1032+0x183 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*ClientConn).getTransport(0xc42014dd40,0x7fd45e37fda0,0xc4203434a0,0xc420343400,0x7fd45e37fda0,0xc420343470,0x19,0x0,0xc42015d900) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:724+0x2f7 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.newClientStream(0x7fd45e37fda0,0xc4203434a0,0x13e1f40,0xc42014dd40,0xdb7f76,0x20,0x0,0x0,0x0,0x0,...) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/stream.go:189+0x599 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.NewClientStream(0x7fd45e37fd20,0xc420012290,0x13e1f40,0xc42014dd40,0xdb7f76,0x20,0x0,0x0,0x0,0x18,...) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/stream.go:105+0x162 github.com/hyperledger/fabric/protos/orderer.(*atomicBroadcastClient).Deliver(0xc42012e5d8,0x7fd45e37fd20,0xc420012290,0x0,0x0,0x0,0x0,0x0,0xc42031a9a0,0xbe4ab0) /opt/gopath/src/github.com/hyperledger/fabric/protos/orderer/ab.pb.go:499+0xba github.com/hyperledger/fabric/peer/channel.InitCmdFactory(0xc420350100,0x0,0x0,0x13ee140) /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:179+0x2c0 github.com/hyperledger/fabric/peer/channel.getGenesisBlock(0xc420328f00,0x0,0x0,0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/deliverclient.go:141+0x11c github.com/hyperledger/fabric/peer/channel.executeCreate(0xc420328f00,0xc420328f00,0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/create.go:183+0x50 github.com/hyperledger/fabric/peer/channel.create(0xc420249440,0xc42020fcc0,0x1,0xa,0xc420328f00,0xd9d943,0x5) /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/create.go:213+0x45 github.com/hyperledger/fabric/peer/channel.createCmd.func1(0xc420249440,0xc42020fcc0,0x1,0xa,0x0,0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/create.go:59+0x52 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute(0xc420249440,0xc42020fb80,0xa,0xa,0xc420249440,0xc42020fb80) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599+0x234 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x13e58c0,0xf,0xc420010035,0x7) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689+0x367 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute(0x13e58c0,0x7d,0xc420010035) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648+0x2b main.main() /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:118+0x54e goroutine17[syscall,lockedtothread]: runtime.goexit() /opt/go/src/runtime/asm_amd64.s:2086+0x1 goroutine19[syscall]: os/signal.signal_recv(0xc420025fa8) /opt/go/src/runtime/sigqueue.go:116+0x157 os/signal.loop() /opt/go/src/os/signal/signal_unix.go:22+0x22 createdbyos/signal.init.1 /opt/go/src/os/signal/signal_unix.go:28+0x41 goroutine33[select]: net.cgoLookupIP(0x13fc8c0,0xc4203a34a0,0x7ffdd56a1a83,0x13,0xc420252180,0xc42034e440,0x0,0x0,0xc420026fa8,0x8f6938) /opt/go/src/net/cgo_unix.go:209+0x2f5 net.lookupIP(0x13fc8c0,0xc4203a34a0,0x7ffdd56a1a83,0x13,0x0,0x0,0x13f0a80,0xc420339aa0,0xc420018838) /opt/go/src/net/lookup_unix.go:70+0xf9 net.glob..func11(0x13fc8c0,0xc4203a34a0,0xe2abc0,0x7ffdd56a1a83,0x13,0xc420026ec8,0x71c6a9,0xc420026f08,0xc420026f18,0x455cc0) /opt/go/src/net/hook.go:19+0x52 net.lookupIPContext.func1(0xc42014dd40,0x7ffdd56a1a83,0x18,0x0) /opt/go/src/net/lookup.go:119+0x5c internal/singleflight.(*Group).doCall(0x1419790,0xc4203a0be0,0x7ffdd56a1a83,0x13,0xc420343500) /opt/go/src/internal/singleflight/singleflight.go:93+0x3c createdbyinternal/singleflight.(*Group).DoChan /opt/go/src/internal/singleflight/singleflight.go:86+0x339 goroutine32[select]: net.lookupIPContext(0x13fc8c0,0xc4203a34a0,0x7ffdd56a1a83,0x13,0x0,0x0,0x0,0x0,0x0) /opt/go/src/net/lookup.go:122+0x7bc net.internetAddrList(0x13fc8c0,0xc4203a34a0,0xd9cd17,0x3,0x7ffdd56a1a83,0x18,0x0,0x0,0x0,0x0,...) /opt/go/src/net/ipsock.go:241+0x5e0 net.resolveAddrList(0x13fc8c0,0xc4203a34a0,0xd9d317,0x4,0xd9cd17,0x3,0x7ffdd56a1a83,0x18,0x0,0x0,...) /opt/go/src/net/dial.go:179+0x106 net.(*Dialer).DialContext(0xc4200496c8,0x13fc8c0,0xc4203a34a0,0xd9cd17,0x3,0x7ffdd56a1a83,0x18,0x0,0x0,0x0,...) /opt/go/src/net/dial.go:329+0x238 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.dialContext(0x13fc8c0,0xc4203a34a0,0xd9cd17,0x3,0x7ffdd56a1a83,0x18,0x0,0x0,0xc4202503c0,0xc4203a6780) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/go17.go:53+0xaa github.com/hyperledger/fabric/vendor/google.golang.org/grpc.DialContext.func1(0x7fd45e37fde0,0xc4203a34a0,0x7ffdd56a1a83,0x18,0x1,0x0,0x13ee140,0xc42012d810) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:341+0x86 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.newProxyDialer.func1(0x7fd45e37fde0,0xc4203a34a0,0x7ffdd56a1a83,0x18,0x13,0x7fd45ebbc608,0x0,0x0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/proxy.go:136+0x143 github.com/hyperledger/fabric/vendor/google.golang.org/grpc/transport.dial(0x7fd45e37fde0,0xc4203a34a0,0xc4203936b0,0x7ffdd56a1a83,0x18,0x410a5e,0xc42039e5a0,0xa0,0x98) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/transport/http2_client.go:135+0x5a github.com/hyperledger/fabric/vendor/google.golang.org/grpc/transport.newHTTP2Client(0x7fd45e37fde0,0xc4203a34a0,0x7ffdd56a1a83,0x18,0x0,0x0,0xda8cf6,0x11,0x0,0x0,...) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/transport/http2_client.go:173+0xbf github.com/hyperledger/fabric/vendor/google.golang.org/grpc/transport.NewClientTransport(0x7fd45e37fde0,0xc4203a34a0,0x7ffdd56a1a83,0x18,0x0,0x0,0xda8cf6,0x11,0x0,0x0,...) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/transport/transport.go:463+0xae github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*addrConn).resetTransport(0xc4201d68c0,0xc4203a2c00,0x70a61c,0x0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:876+0x282 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*ClientConn).resetAddrConn.func1(0xc4201d68c0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:648+0x34 createdbygithub.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*ClientConn).resetAddrConn /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:657+0x756 !!!!!!!!!!!!!!!Channelcreationfailed!!!!!!!!!!!!!!!! ==================ERROR!!!FAILEDtoexecuteEnd-2-EndScenario================== [java] view plain copy 切换路径 cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli 关键步骤 修改 /etc/resolv.conf 配置,将options timeout:2 attempts:3 rotate single-request-reopen内容注释掉,作者修改后的内容如下 # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 100.100.2.136 nameserver 100.100.2.138 # options timeout:2 attempts:3 rotate single-request-reopen 执行启动命令,它会启动一个mychannel 的channel ./network_setup.sh up mychannel 问题2: hyperledger make: *** release/linux-amd64/bin/configtxgen', needed by `linux-amd64/bin 解决方法: cp -r fabric/bin/* release/linux-amd64/bin/ 参考资料: 阿里云环境部署Hyperledger Fabric之SIGSEGV问题分析和解决经验分享 https://yq.aliyun.com/articles/238940

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

Python 发送图文格式的服务器性能报表邮件脚本(smtplib)

coding: utf-8 import smtplib from email.mime.multipart import MIMEMultipart #导入MIMEMultipart类 from email.mime.text import MIMEText #导入MIMEText类 from email.mime.image import MIMEImage #导入MIMEImage类 HOST = "smtp.gmail.com" #定义smtp主机 SUBJECT = u"业务性能数据报表" #定义邮件主题 TO = "testmail@qq.com" #定义邮件收件人 FROM = "mymail@gmail.com" #定义邮件发件人 def addimg(src,imgid): #添加图片函数,参数1:图片路径,参数2:图片id fp = open(src, 'rb') #打开文件 msgImage = MIMEImage(fp.read()) #创建MIMEImage对象,读取图片内容并作为参数 fp.close() #关闭文件 msgImage.add_header('Content-ID', imgid) #指定图片文件的Content-ID,<img> #标签src用到 return msgImage #返回msgImage对象 msg = MIMEMultipart('related') #创建MIMEMultipart对象,采用related定义内嵌资源 #的邮件体 msgtext = MIMEText(""" #创建一个MIMEText对象,HTML元素包括表格<table>及图片<img> <table width="600" border="0" cellspacing="0" cellpadding="4"> <tr bgcolor="#CECFAD" height="20" style="font-size:14px"> <td colspan=2>*官网性能数据 <a href="monitor.domain.com">更多>></a></td> </tr> <tr bgcolor="#EFEBDE" height="100" style="font-size:13px"> <td> <img src="cid:io"></td><td> <img src="cid:key_hit"></td> </tr> <tr bgcolor="#EFEBDE" height="100" style="font-size:13px"> <td> <img src="cid:men"></td><td> <img src="cid:swap"></td> </tr> </table>""","html","utf-8") #<img>标签的src属性是通过Content-ID来引用的 msg.attach(msgtext) #MIMEMultipart对象附加MIMEText的内容 msg.attach(addimg("img/bytes_io.png","io")) #使用MIMEMultipart对象附加MIMEImage #的内容 msg.attach(addimg("img/myisam_key_hit.png","key_hit")) msg.attach(addimg("img/os_mem.png","men")) msg.attach(addimg("img/os_swap.png","swap")) msg['Subject'] = SUBJECT #邮件主题 msg['From']=FROM #邮件发件人,邮件头部可见 msg['To']=TO #邮件收件人,邮件头部可见 try: server = smtplib.SMTP() #创建一个SMTP()对象 server.connect(HOST,"25") #通过connect方法连接smtp主机 server.starttls() #启动安全传输模式 server.login("mymail@gmail.com","mypassword") #邮箱账号登录校验 server.sendmail(FROM, TO, msg.as_string()) #邮件发送 server.quit() #断开smtp连接 print "邮件发送成功!" except Exception, e: print "失败:"+str(e)

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

服务器架构之性能扩展-第九章(10)

第九章Mongodb数据库 9.1mongodb入门 9.1.1 NoSQL入门 NoSQL是not only SQL的缩写,它指的非关系型数据库,是以key-value形式存储,和传统数据不一样,比如不遵循sql标准。随着大数据时代的到来,NoSQL有助于解决传统数据库扩展困难,读写慢,成本高,有限的支撑容量问题.因为它在扩展和性能方面做了提升,对于事务性的要求还不能代替传统数据库。目前新浪微博的redis数据库,视觉中国的mongodb都属于NoSQL数据库范畴。 9.1.2认识mongodb Mongodb是一个介于关系数据库和非关系数据之间的产品,它语法类似javascript语言。数据是键与值的一种组合,格式如{“age”:25}形式,数据以集合存储。目前已超过百家网站使用mongodb。 9.1.3 mongodb的安装 首先到mongodb.org上下载相应版本。 Tar zxvfmongodb-linux-x86-2.2.2.tgz//解压 Cd mongodb-linux-x86-2.2.2//解压完毕后即成为可执行程序 9.1.4启动mongodb Mkdir /usr/local/mongodb Mkdir /usr/local/mongodb/data Rsync-auvz /root/mongo-linux-ix86-2.2.0/bin/ /usr/local/mongodb/ Touch /usr/local/mongodb/dblogs /usr/local/mongodb/bin/mongod--dbpath=/usr/local/mongodb –logpath=/usr/local/mongodb/dblogs –fork//启动mongodb Echo“/usr/local/mongodb/bin/mongod--dbpath=/usr/local/mongodb –logpath=/usr/local/mongodb/dblogs --fork”>>/etc/rc.local //开机启动 一般使用pkill mongod//终止进程,避免使用kill -9杀死进程,因为容易造成mongodb死锁。 /usr/local/mongodb/bin/mongo进入字符界面 9.1.5mongodb体系结构 Mongodb数据库不同于传统的关系数据结构,它包括文档,集合和数据三级结构组成。物理结构为一个ns文件一些数据库.0和数据库.1组成。Mongodb数据类型,包括null、布尔、数字、字符串、数组以及对象六种数据类型组成。 9.1.6 mongodb基本命令 >Show dbs//显示所有数据库 >db.dropDatabase();//删除当前数据库 >use mydb//建立新的数据库 >db.user.insert({name:”user1”,age:25}); //插入数据 >db.user.find();//查看数据 >db.user.drop({name:”user1”}); //删除记录 >db.user.update({_id:1},{name:”user2”});//修改记录 9.2mongodb的高级操作 9.2.1 insert的操作 >db.user.save({name:”user2”});//保存数据 save和insert一般有同样的插入效果。但是当主键id相同时,save便会只做修改不做插入的操作。 Db.cl.remove();删除所有记录,如果加上记录字段则删除相应字段。 批量插入数据 Js方式插入数据 9.2.2 find查询的操作 Db.c1.find();查询语句 Find命令也可以指查找指定字段,字段值为1为真显示,为0为假。 条件查询,gt大于,lt小于,e等于,ne不等于,gte大于等于,lte小于等于,用$定义。 Sort用于排序排列,用sort排列,-1位倒叙,1位正序排列 Limit用来控制显示输出个数,skip用来排除前面多少个 in用来进行范围查找 $or或的查询,$nor非,or与in区别是:or可以接不同字段,in需要接同一个字段。 插入数组,用elemMatch查找数组,代替post.title 查询控制两种方法 查询数组记录,必须在第二个字段进行 9.2.3 update更新的操作 Db.collection.update(criteria,objNew,upsert,multi); Criteria:用于设置查询条件的对象 Objnew:用于设置更新内容 Upsert:如果记录村子啊就更新它,否则新增一记录 Multi:如果多个符合条件的记录,只会更新第一个符合条件的记录 Upsert第三个参数,意思是如果字段不存在则增加该字段 $set可以用于改变源字段值或增加新字段 $inc字段每个年龄增加一岁,inc对字段曾进行增减值的更改 $unset删除字段,当age为真时删除字段 $push增加数组字段 $pop删除上条记录,如为-1则从前数,$pushAll一次插入多条记录 addToSet只能插入不同值记录 $addToSet和$each一起用一次加入多个值 $pull删除数组指定值,$pullAll删除多个指定值 $rename更改字段名 9.2.4创建capped collection固定集合 固定集合是固定大小的数据存储方式,它速度处理更快 Db.createCollection(c6,{capped:true,size:10000,max:5});//数据大小10kB,记录5条,填满了则取代前面的记录 Db.runCommand({convertTocapped:”test”,size:10000}); 9.2.5 GridFS大存储类型 GridFS是一种大二进制文件,可以存储一些大文件。包含.files元数据对象和.chunks二进制块信息。 加载GridFS数据类型: Cd /usr/local/mongodb/bin Tar zcvf mongofiles.tar.gzmongosniff ./mongofiles put mongofiles.tar.gz Mongofile是进行文件上传下载的工具,put上传,get下载 9.3mongodb性能管理 性能优化,如同大多数数据库一样索引可以很好地完成优化工作。可以通过explain()查看数据查询记录的次数。 9.3.1mongodb的索引管理 >db.c1.ensureIndex({name:1});//建立索引 >db.c1.getIndexes();//查看索引 再执行explain()便可以看到次数变为8->1 Db.c1.dropIndexes();//删除索引 9.3.2profile慢查询 profile是一种慢查询日志功能。可以通过两种方式开启: 1、启动mongodb是可以加上—profile=级别 2、使用db.setProfilingLevel(级别,时间);定义级别 0-:不开启;1-:记录慢查询;2-:记录所有密令 最后通过>db.getProfilingLevel();查看级别 9.3.3mongodb优化方案 首先建立索引可以提高执行效率 其次使用limit();可以减少资源的消耗量 再次capped collection固定空间功能可以提高效率 再次,查询时指定字段而不是所有字段,提高速度 最后使用慢查询功能,优化语句。 9.3.4mongodb性能监控 mongosniff命令可以监控数据库操作历史 Mongostat命令可以查看mongodb实时结果 本文转自zsaisai 51CTO博客,原文链接:http://blog.51cto.com/3402313/989251

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

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应用均可从中受益。

WebStorm

WebStorm

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

用户登录
用户注册