首页 文章 精选 留言 我的

精选列表

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

Proxy-Go 控制面板 v2.5 发布,谈笑间搭建了一个专业全能网络代理服务!

Proxy-Go 控制面板 ProxyAdmin是强大的代理服务工具snail007/goproxy的控制面板,运行了它,一秒让你的服务器变为强大的代理服务器,友好的交互界面,小白也能轻松上手,让你用起来得心应手,心情舒畅。 更新内容: 1.更新sdk内核至最新版9.9. 2.修复sps提供的http(s)代理,在级联认证的时候某些情况不能正常工作的问题。 3.修复sps独立服务时,udp不能正常工作的问题。 功能预览 展现客户端参数 实时日志 参数文件管理 调试模式 下载地址: Gitee Github

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

从零开始搭建Java开发环境第三篇:最新版IDEA常用配置指南,打造你的最酷IDE

刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,工欲善其事必先利其器。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改tab的显示的数量和行数,打开项目方式,等等一大堆东西。 总结一下,免得下次换了系统,还得再找一遍配置。 设置外观和字体大小 1、IDEA默认配置 版本号:2019.02默认设置(Other Settings)IDEA不像Eclipse那样可以在一个窗口中打开多个项目,IDEA每次打开一个新的项目都需要开一个新的窗口或者覆盖掉当前窗口,所以在打开多个项目的时候就需要开多个窗口,但是如果不设置好默认设置,每次打开一个新的窗口就要重新设置。例如:每次打开新的项目的时候maven的本地仓库地址都要重新设置。通过设置Other Settings就可以解决这类问题。File-->Other Settings-->Preferences for New Projects。然后在左上角的搜索框中搜maven,就能看到如下图所示配置了。 2、字体和主题 默认主题暗色系。调整一下字体,稍微看的舒服一点 3、自动补全 取消匹配规则,默认自动补全 4、自动编译 5、自动导包和组织包结构 6、显示内存使用量 7、显示多行Tab 当我们打开的标签页多了的时候,默认的会隐藏在右侧,当我们需要的时候在右侧找到后再打开。IDEA是支持多行显示的,这样在大屏幕的显示器上也不用总去点击右侧的去找刚才打开过的文件了(其实通过Ctril+E也可以找到刚才打开过的文件)。具体开关位置在:File-->Settings-->Editor-->General-->Editor Tabs。 下图位置1的把勾选去掉就可以了。位置2是设置最多展示多少个Tab。 8、单词拼写检查 强烈建议,不要嫌弃他这个单词拼写检查,这也是为你好啊,免得你写一个简单的单词,但是你却写错了,还提示你使用驼峰命名法。也是很好的。

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

从零开始搭建Java开发环境第四篇:精选IDEA中十大提高开发效率的插件!

Lombok 知名的插件,无需再写那么多冗余的get/set代码 JRebel 热部署插件 alibaba java coding guide 阿里巴巴代码规范插件,自动检查代码规范问题 GenerateAllSetter 当你进行对象之间赋值的时候,你会发现好麻烦呀,能不能有一个更好的办法呢~ 有,只要你选中需要生成set方法的对象,按下快捷键 alt+enter 界面如下: junit generator 自动生成单测的神奇 ECtranslation 一款好用的自动翻译插件 key promotor X 学习IDEA快捷键的好插件 .igonre 自动帮你修改git监控的文件类型,可以排除掉莫名其妙的文件类型,避免出现在你的代码提交记录里。 grep console Idea console输出日志一大推,想要快速找到自己想要的类型日志,使用此插件可以快速定位到自己关注的类型日志,比如error,warn,自己也可以配置自己喜欢的颜色~ 从settings进入,点击 other settings,可以配置自己喜欢的颜色提示,比如我只选择了默认~ ———————————————— GsonFormat 自动帮你把类转化为JSON对象,一大利器 free mybatis plugin String manipulate 字符串操作工具

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

HDFS namenode 高可用(HA)搭建指南 QJM方式 ——本质是多个namenode选举master,用paxos实现一致性

一、HDFS的高可用性 1.概述 本指南提供了一个HDFS的高可用性(HA)功能的概述,以及如何配置和管理HDFS高可用性(HA)集群。本文档假定读者具有对HDFS集群的组件和节点类型具有一定理解。有关详情,请参阅Apache的HDFS的架构指南。 http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/HDFSHighAvailabilityWithQJM.html 2.背景 CDH4之前,在HDFS集群中NameNode存在单点故障(SPOF)。对于只有一个NameNode的集群,如果NameNode机器出现故障,那么整个集群将无法使用,直到NameNode重新启动。 NameNode主要在以下两个方面影响HDFS集群: (1). NameNode机器发生意外,比如宕机,集群将无法使用,直到管理员重启NameNode (2). NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用 HDFS的HA功能通过配置Active/Standby两个NameNodes实现在集群中对NameNode的热备来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方式将NameNode很快的切换到另外一台机器。 3.架构 HDFSHA的解决方案可谓百花齐放,LinuxHA, VMware FT, sharedNAS+NFS, BookKeeper, QJM/Quorum Journal Manager, BackupNode等等。目前普遍采用的是shard NAS+NFS,因为简单易用,但是需要提供一个HA的共享存储设备。而社区已经把基于QJM/Quorum Journal Manager的方案merge到trunk了,clouderea提供的发行版中也包含了这个feature,这种方案也是社区在未来发行版中默认的 HA方案。 在HA具体实现方法不同的情况下,HA框架的流程是一致的。不一致的就是如何存储和管理日志。在Active NN和Standby NN之间要有个共享的存储日志的地方,Active NN把EditLog写到这个共享的存储日志的地方,Standby NN去读取日志然后执行,这样Active和Standby NN内存中的HDFS元数据保持着同步。一旦发生主从切换Standby NN可以尽快接管Active NN的工作(虽然要经历一小段时间让原来Standby追上原来的Active,但是时间很短)。 说到这个共享的存储日志的地方,目前采用最多的就是用共享存储NAS+NFS。缺点有:1)这个存储设备要求是HA的,不能挂掉;2)主从切换时需要 fencing方法让原来的Active不再写EditLog,否则的话会发生brain-split,因为如果不阻止原来的Active停止向共享存储 写EditLog,那么就有两个Active NN了,这样就会破坏HDFS的元数据了。对于防止brain-split问题,在QJM出现之前,常见的方法就是在发生主从切换的时候,把共享存储上存 放EditLog的文件夹对原来的Active的写权限拿掉,那么就可以保证同时至多只有一个Active NN,防止了破坏HDFS元数据。 Clouera为解决这个问题提出了QJM/Qurom Journal Manager,这是一个基于Paxos算法实现的HDFS HA方案。QJM的结构图如下所示: QJM的基本原理就是用2N+1台JournalNode存储EditLog,每次写数据操作有大多数(>=N+1)返回成功时即认为该次写成功, 数据不会丢失了。当然这个算法所能容忍的是最多有N台机器挂掉,如果多于N台挂掉,这个算法就失效了。这个原理是基于Paxos算法的,可以参考http://en.wikipedia.org/wiki/Paxos_(computer_science)。 用QJM的方式来实现HA的主要好处有:1)不需要配置额外的高共享存储,这样对于基于commodityhardware的云计算数 据中心来说,降低了复杂度和维护成本;2)不在需要单独配置fencing实现,因为QJM本身内置了fencing的功能;3)不存在Single Point Of Failure;4)系统鲁棒性的程度是可配置的(QJM基于Paxos算法,所以如果配置2N+1台JournalNode组成的集群,能容忍最多N台 机器挂掉);5)QJM中存储日志的JournalNode不会因为其中一台的延迟而影响整体的延迟,而且也不会因为JournalNode的数量增多而 影响性能(因为NN向JournalNode发送日志是并行的)。 摘自:http://blog.csdn.net/dangyifei/article/details/8920164 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6516424.html,如需转载请自行联系原作者

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

阿里巴巴淘票票专家分享:如何利用阿里云ARMS,搭建国际化在线售票的业务监控系统

阿里巴巴旗下-淘票票 王伟 撰稿 1. 简介 淘票票为了开拓国际业务,需要做国际化的在线售票,并选择了阿里云新加坡节点作为技术方案,项目上线后急需一套自动化的监控系统代替人肉维护监控。看了ARMS的功能说明,发现其刚好以很低的接入成本来满足我们业务实时监控的需求,因此决定采用阿里云的业务实时监控服务(ARMS)做业务监控。 业务的基本需求是需要实时大盘和报警功能,对要实时统计订票接口的各种状态进行统计和报警,包括: 订票成功率,从业务层面看是否系统运行正常。 订票接口状态,如响应时间,同比环比调用,等,从系统层面看是否系统运行正常。 以下篇幅从日志设计到配置,到最终大盘展示。 2. 监控配置 2.1. 采集日志 ARMS基本原理是采集日志通过实时流式计算出聚合数据监控业务,可以通过ECS,LogHub,SDK等多种方式获得日志源,这里我们选择LogHub,因为我们所有使用阿里云的ECS已经采集日志到日志服务上,只需要简单通过配置即可让ARMS从LogHub上获取日志。 采集到LogHub上的原始日志示例为: 2017-08-21 13:54:48,805|20170821|2f58c35e15033448888056471d27aa|tibizrouter|HSFBizProcessor-5-thread-265|INFO|API_DIGEST:108|RegionAPIImpl|getRegionNotice|1|0|Y[{"appChannel":"000100","appDevice":"458805f1934f07_dwada29t0gCNkDAIQwAJI4EOia__353317069054105","appEnv":"PROD","appPlatform":"ANDROID","appVersion":"4.1.2","regionId":1}]|- 2017-08-21 13:54:48,806|20170821|2f58d75c13231228888057385d7976|tibizrouter|HSFBizProcessor-5-thread-244|INFO|API_DIGEST:108|ConfigAPIImpl|getByGroup|3|0|Y|[{"appChannel":"000100","appDevice":"660d3b4bd6872442__WX/m9PEqA2cDANH6dYHwh2k6__3550awdaw61314546","appEnv":"PROD","appPlatform":"ANDROID","appVersion":"4.2.0"}]|- 按照我们定义的分隔符解析日志格式为JSON,格式示例如下: {"__column15__":"28667","__column16__":"","runtime":"449","__column17__":"","__column14__":"4","response":"-","appName":"tigateway","time":"2017-04-19 21:24:20,462","apiName":"ticketnew","logLevel":"INFO","request":"{\"boxOffice\":\"TICKETNEW\",\"extAreaId\":\"3\",\"extCinemaId\":\"4\",\"extScheduleId\":\"28667\"}","traceId":"2f58d75c1492608260eeaa2072d7d0f","thread":"HSFBizProcessor-5thread-42","resultCode":"0","__column18__":"","indiaTime":"20170419","logName":"API:73","method":"PULL_SOLD_SEAT","success":"Y"} {"runtime":"1","response":"-","appName":"tibizrouter","time":"2017-04-19 21:24:21,102","apiName":"MovieAPIImpl","logLevel":"INFO","request":"[{\"appChannel\":\"000100\",\"appDevice\":\"ANcca0bff117c2faaf__WPnpLeWzcDAIlMjjPv2LJS\",\"appEnv\":\"PROD\",\"appPlatform\":\"ANDROID\",\"appVersion\":\"4.1.0\",\"movieId\":2515,\"regionId\"1}]","traceId":"2f58d75c1492adwa611022076d7d0f","thread":"HSFBizProcessor-5-thread-40","resultCode":"0","indiaTime":"20170419","logName":"API_DIGEST:108","method":"getMovieDetail","success":"Y"} 其中: • method是业务方法名,通过appName,apiName和method来唯一确定某个应用系统上某个接口的业务方法; • success用来表示该业务方法执行成功与否; • resultCode来用表示方法返回的错误码; • runtime表示该方法执行的时间,单位为毫秒,可以用来统计哪些方法执行较慢,做后期优化; • request为方法请求参数。 2.2.配置切分 对以上已经存在的字段按照JSON切分器切分,为了计算成功率,还需要把成功数转换成数字类型,方便在数据集做累加来计算。 2.3.配置数据集 配置接口成功率,通过sum累加得到成功的数量successCount,通过count得到总数量totalCount,使用successCount/totalCount得到成功率,当然也可以额外计算平均接口耗时等参数,在通过下砖维度获取按维度的成功率。 2.4.配置报警 由数据集可以直接配置报警,当成功率低于一定阈值的时候直接发出报警,实时监控线上业务,最大成都降低业务影响范围。 2.5.配置业务大盘 通过配置好的数据集就可以配置业务接口成功率大盘了,用来监控各个业务的实时稳定性。 3. 业务提升 我们通过ARMS对目前线上大部分业务性能指标如成功率,接口错误码分布,接口平均响应时间等性能参数做了实时监控,尤其在前段时间两次重大活动中及时发现线上性能问题,针对特定问题及时响应解决起了巨大的作用,提升了业务稳定性和业务响应速度。 除稳定性方面,我们也通过ARMS配置实时业务数据监控,通过按维度统计订单,用户访问等业务数据,根据不同时间段的业务数据快速调整业务运营和决策,对业务增长起了很好的推动作用。 ARMS正在公测,速来

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

2017深圳云栖TechInsight活动回顾:动手实验室-从零搭建一个金融级分布式交易系统

作为一次面向开发者的体验活动,我们力求使蚂蚁金服的核心金融技术和产品变得触手可及。旨在通过动手实验室课程,围绕分布式数据库OceanBase、蚂蚁分布式中间件、移动平台mPaaS、零号云客服等产品,实现一个金融场景下移动转账交易的示例解决方案。我们为此构建了一套完整的示例项目和实验手册,涵盖从关键组件说明、应用开发到部署的全方位体验流程。在TechInsight的第一天下午,通过讲师对知识点的互动分享和代码实现实操演示,使开发者能够直观地体验到相关云产品的快速入门和最佳实践。 关于创新金融分论坛的分享内容回顾,请见2017深圳云栖TechInsight活动回顾:创新金融。 Workshop课程回顾 1. OceanBase运维管理后台体验 李凌云(云琚) & 俞仁杰(首仁) 「云数据库 OceanBase」- 演示和体验分布式云数据

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

ETH geth私链搭建linux安装(以太坊是一个用于分散式应用程序的全球性开源平台)

一.下载对应系统的geth包 https://ethereum.github.io/go-ethereum/downloads/ 二.下载安装包 https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.9.18-f5382591.tar.gz 三.解压安装包 tar -zxvf geth-linux-amd64-1.9.18-f5382591.tar.gz 四.进入文件夹 cd geth-linux-amd64-1.9.18-f5382591 五.启动参数详细介绍 以太坊客户端Geth命令用法-参数详解 命令用法 geth [选项] 命令 [命令选项] [参数…] 命令: account 管理账户 attach 启动交互式JavaScript环境(连接到节点) bug 上报bug Issues console 启动交互式JavaScript环境 copydb 从文件夹创建本地链 dump Dump(分析)一个特定的块存储 dumpconfig 显示配置值 export 导出区块链到文件 import 导入一个区块链文件 init 启动并初始化一个新的创世纪块 js 执行指定的JavaScript文件(多个) license 显示许可信息 makecache 生成ethash验证缓存(用于测试) makedag 生成ethash 挖矿DAG(用于测试) monitor 监控和可视化节点指标 removedb 删除区块链和状态数据库 version 打印版本号 wallet 管理Ethereum预售钱包 help,h 显示一个命令或帮助一个命令列表 ETHEREUM 配置选项: --config value TOML 配置文件 --datadir “xxx” 数据库和keystore密钥的数据目录 --keystore keystore存放目录(默认在datadir内) --nousb 禁用监控和管理USB硬件钱包 --networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1) --testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络 --rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络 --syncmode "fast" 同步模式 ("fast", "full", or "light") --ethstats value 上报ethstats service URL (nodename:secret@host:port) --identity value 自定义节点名 --lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0) --lightpeers value 最大LES client peers数量(默认值:20) --lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用 开发者(模式)选项: --dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。 --dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0) 交易池选项: --txpool.nolocals 为本地提交交易禁用价格豁免 --txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp") --txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时) --txpool.pricelimit value 加入交易池的最小的[gas](https://learnblockchain.cn/2019/06/11/gas-mean/)价格限制(默认: 1) --txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10) --txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16) --txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096) --txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64) --txpool.globalqueue value 所有帐户非可执行交易最大槽数量 (默认: 1024) --txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时) 性能调优的选项: --cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128) --trie-cache-gens value 保持在内存中产生的trie node数量(默认:120) 帐户选项: --unlock value 需解锁账户用逗号分隔 --password value 用于非交互式密码输入的密码文件 API 和控制台选项: --rpc 启用HTTP-RPC服务器 --rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”) --rpcport value HTTP-RPC服务器监听端口(默认值:8545) --rpcapi value 基于HTTP-RPC接口提供的API --ws 启用WS-RPC服务器 --wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”) --wsport value WS-RPC服务器监听端口(默认值:8546) --wsapi value 基于WS-RPC的接口提供的API --wsorigins value websockets请求允许的源 --ipcdisable 禁用IPC-RPC服务器 --ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径) --rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制) --jspath loadScript JavaScript加载脚本的根路径(默认值:“.”) --exec value 执行JavaScript语句(只能结合console/attach使用) --preload value 预加载到控制台的JavaScript文件列表(逗号分隔) 网络选项: --bootnodes value 用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替) --bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点) --bootnodesv5 value 用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点) --port value 网卡监听端口(默认值:30303) --maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25) --maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0) --nat value NAT端口映射机制 (any|none|upnp|pmp|extip:<IP>) (默认: “any”) --nodiscover 禁用节点发现机制(手动添加节点) --v5disc 启用实验性的RLPx V5(Topic发现)机制 --nodekey value P2P节点密钥文件 --nodekeyhex value 十六进制的P2P节点密钥(用于测试) 矿工选项: --mine 打开挖矿 --minerthreads value 挖矿使用的CPU线程数量(默认值:8) --etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”) --targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”) --gasprice value 挖矿接受交易的最低gas价格 --extradata value 矿工设置的额外块数据(默认=client version) GAS 价格选项: --gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10) --gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50) 虚拟机的选项: --vmdebug 记录VM及合约调试信息 日志和调试选项: --metrics 启用metrics收集和报告 --fakepow 禁用proof-of-work验证 --verbosity value 日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3) --vmodule value 每个模块详细度:以 <pattern>=<level>的逗号分隔列表 (比如 eth/*=6,p2p=5) --backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”) --debug 突出显示调用位置日志(文件名及行号) --pprof 启用pprof HTTP服务器 --pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1) --pprofport value pprof HTTP服务器监听端口(默认值:6060) --memprofilerate value 按指定频率打开memory profiling (默认:524288) --blockprofilerate value 按指定频率打开block profiling (默认值:0) --cpuprofile value 将CPU profile写入指定文件 --trace value 将execution trace写入指定文件 WHISPER 实验选项: --shh 启用Whisper --shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576) --shh.pow value 可接受的最小的POW (默认值: 0.2) 弃用选项: --fast 开启快速同步 --light 启用轻客户端模式 其他选项: –help, -h 显示帮助 六.下载火星节点配置文件由于国内以太坊节点非常稀少,并且国内外网络不通畅等原因导致国内服务器同步区块数据非常缓慢还容易丢包,由EthFans发起的星火节点计划可以帮助我们加快同步速度。 下载节点列表:https://upyun-assets.ethfans.org/uploads/doc/file/b0c5266be42f43f1baf7207c432bede6.json?_upd=static-nodes.json 下载后将static-nodes.json文件放在区块存储目录下即可。 7.创建初始账户 geth --datadir /ethereum account new 8.创建创世文件 { "config": { "chainId": 100, "homesteadBlock": 0, "eip150Block": 0, "eip155Block": 0, "eip158Block": 0, "byzantiumBlock": 0, "constantinopleBlock": 0, "petersburgBlock": 0, "ethash": {} }, "nonce": "0x42", "timestamp": "0x0", "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa", "gasLimit": "0x1388", "difficulty": "0x1", "alloc": { "0xDFeDb94Ab496d6b68795dB890AcbbBdc2557860A": { "balance": "100000000000000000000000000000000" } } } 其中的 alloc 属性是给账户分配余额 。切记,余额是以wei为单位的,就是balance值要除以10的18次方才等于eth的数量。9.初始化创世区块 geth --datadir /ethereum init /ethereum/genesis.json 10.生成配置文件夹 geth --datadir '/ethereum' --networkid 100 --cache 512 --rpc --rpcaddr '0.0.0.0' --rpcport 8545 --rpcapi 'db,eth,net,web3,personal' --rpccorsdomain '*' --allow-insecure-unlock dumpconfig > /ethereum/geth_config --networkid指定网络ID 1代表主网络 2代表测试网络 没有提供则默认测试网络,乱写代表创建私有链11.后台运行 nohup geth --config /ethereum/geth_config >> /var/log/geth.log 2>&1 & 12.监控区块同步日志 tail -f /var/log/geth.log 13.进入控制台 geth attach /ethereum/geth.ipc 14.使用命令查看当前同步情况 eth.syncing 如果返回的是false,证明同步完成了,可以使用当前节点。 否则会返回同步状态 currentBlock为当前下载到的区块高度,请注意,下载块不等于同步数据了,下载块是一个简单快速的过程,只验证相关的工作量证明,在下载块的同时geth也在一直下载所有的区块数据,当数据下载完成后届时才会处理曾经发生过的所有交易,重新组装整个链。 15.api调用推荐地址 各编程语言现成类库 Java:https://github.com/web3j/web3j Python:https://github.com/ethereum/web3.py PHP:https://github.com/sc0Vu/web3.php NodeJs:https://github.com/ethereum/web3.js 16.后期推出各大主流币交易所钱包处理代码

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

Kubernetes 实战教学,手把手教您设置拥有5个节点的 K8S 群集(无需搭建任何基础设施)

出品丨Docker公司(ID:docker-cn)编译丨小东每周一、三、五,与您不见不散! 您是 Kubernetes新手吗?想用 Kubernetes 开创自己的事业吗?如果想,那么欢迎您,您来对地方了。本系列文章将为您提供帮助您使用 Kubernetes 获得实践经验的教程。在这里,您可以找到各种实验和教程,无论您是初学者、系统管理员、IT 专业人员还是开发人员,都可以为您提供帮助。而且,这是一个基于浏览器的免费学习平台,已经为您安装了 kubenetes 工具,如kubeadm、kompose 和 kubectl,您不需要额外增加任何基础设施,因为大多数教程都在 Play with K8s Platform 上(https://labs.play-with-k8s.com)运行。 Kubernetes(通常缩写为K8S)用于管理云平台中多个主机上的容器化的应用。Kubernetes 是自动化容器操作的开源平台,这些操作包括部署、调度和节点集群间扩展。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现和访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。 Kubernetes可以通过简单、自动化的部署、更新(滚动更新)以及几乎零停机时间来管理我们的应用程序和服务,大大加速开发过程。它还提供自我修复,当进程在容器内崩溃时,Kubernetes 可以检测并重新启动服务。任何开发人员都可以使用基本的 Docker 知识,打包应用程序并将其部署在 Kubernetes 上。 在一分钟内,Kubernetes 就可以在物理或虚拟机集群上安排和运行应用程序容器。Kubernetes还允许开发人员“切断”物理机和虚拟机的联系,从以主机为中心的基础设施转移到以容器为中心的基础设施,从而为您提供容器本身固有的全部优势。Kubernetes 提供了构建真正以容器为中心的开发环境基础设施。K8s 为容器分组、容器编排、健康检查、服务发现、负载平衡、水平自动扩展、隐私、配置管理、存储编排、资源使用监控、CLI和仪表板提供了丰富的功能。 这是第一篇针对设置5节点 Kubernetes 集群的文章。要开始使用 Kubernetes,请按照以下步骤操作: 在浏览器上打开 https://labs.play-with-k8s.com。 点击“Start”按钮,进入PWK实例,如下图所示: 点击“Add Instances” 来设置第一个 k8s 节点。 克隆镜像仓库 git clone https://github.com/ajeetraina/kubernetes101/ cd kubernetes101/install 引导第一个节点集群 sh bootstrap.sh 添加新的 K8s 群集节点 点击“Add Instances” 来设置第一个 k8s 集群节点。 等待1分钟直到完成。 复制以“kubeadm join”开头的命令,我们需要在工作节点上运行它。 设置工作节点 单击“Add New Instance”并将最后一个 kubeadm 命令粘贴到这个新的新工作节点上。 [node2 ~]$ kubeadm join --token 4f924f.14eb7618a20d2ece 192.168.0.8:6443 --discovery-token-ca-cert-hash sha256:a5c25aa4573e06a0c11b11df23c8f85c95bae36cbb07d5e7879d9341a3ec67b3 您将看到以下输出结果: [kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters. [preflight] Skipping pre-flight checks[discovery] Trying to connect to API Server "192.168.0.8:6443" [discovery] Created cluster-info discovery client, requesting info from "https://192.168.0.8:6443" [discovery] Requesting info from "https://192.168.0.8:6443" again to validate TLS against the pinned public key [discovery] Cluster info signature and contents are valid and TLS certificate validates against pinned roots, will use API Server "192.168.0.8:6443"[discovery] Successfully established connection with API Server "192.168.0.8:6443" [bootstrap] Detected server version: v1.8.15 [bootstrap] The server supports the Certificates API (certificates.k8s.io/v1beta1) Node join complete: Certificate signing request sent to master and response received. Kubelet informed of new secure connection details. Run 'kubectl get nodes' on the master to see this machine join. [node2 ~]$ 验证 Kubernetes 集群 在主节点上运行以下命令: [node1 ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION node1 Ready master 15m v1.10.2 node2 Ready 1m v1.10.2 [node1 ~]$ 添加工作节点 [node1 ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION node1 Ready master 58m v1.10.2 node2 Ready 57m v1.10.2 node3 Ready 57m v1.10.2 node4 Ready 57m v1.10.2 node5 Ready 54s v1.10.2 [node1 ]$ kubectl get po No resources found. [node1 ]$ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 443/TCP 1h [node1 ]$ 在下一篇文章,我将展示如何在5节点的 Kubernetes 集群上构建一个简单的 Nginx 应用程序。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

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

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等操作系统。

用户登录
用户注册