以太坊公链节点连接节点超时问题排查

2023-11-18

2020年4月1日晚上8点,zabbix报警:以太坊公链三分钟内没有检测到区块数据同步

立即登录到服务器,查看以太坊公链节点数据同步情况

# docker logs -f public-eth --tail 10

INFO [04-01|20:17:37.735] Deep froze chain segment                 blocks=44   elapsed=345.845ms number=9695993      hash=3833c6…28c205
WARN [04-01|20:18:10.932] Synchronisation failed, dropping peer    peer=63cbc31e7027052b err=timeout
WARN [04-01|20:25:26.171] Synchronisation failed, dropping peer    peer=4d27a5ef8b885210 err=timeout
WARN [04-01|20:26:21.815] Synchronisation failed, dropping peer    peer=6a224bc2c8c3b02c err=timeout

根据日志发现,区块数据已经落后最新区块高度50块左右,原因为连接的节点同步超时。

于是进入到以太坊的geth环境,查看连接的节点信息

> admin.peers  //查看连接的节点信息

{
    caps: ["eth/63", "eth/64", "eth/65", "les/2", "les/3", "shh/6"],
    enode: "enode://0e1806acd33408d618070c3e0a33e692af2a641493701a65f2f7c9d7f9de076a7d6087e4228f711428aa654155a41f2e4850491df2ab213703eb6ae13f10fa32@18.218.89.155:30303",
    id: "2bd5a38260608099ba57f4236645718e4fdbfb5df9566ae4059e2b38d4321dfa",
    name: "Geth/bluebear/v1.9.12-stable-b6f1c8dc/linux-amd64/go1.13.8",
    network: {
      inbound: false,
      localAddress: "172.17.0.2:36444",
      remoteAddress: "18.218.89.155:30303",
      static: false,
      trusted: false
    },
    protocols: {
      eth: {
        difficulty: 1.4790370433997981e+22,
        head: "0x4afbea3912db5ab6e0c5042498c2020dc0558f349b6505e4d5d23de087a0c0ae",
        version: 64
      }
    }
}
......

> net.peerCount   // 查看连接的有效节点数量
7

通过节点返回的IP及端口进行telnet网络连接测试,以及根据连接的有效节点数量来看,并未发现问题

怀疑应该是服务器网络问题,于是登录到以太坊公链节点备用环境

# docker logs -f public-eth --tail 1000
INFO [03-29|09:19:19.278] Regenerated local transaction journal    transactions=4  accounts=1
WARN [03-29|09:25:23.724] Synchronisation failed, dropping peer    peer=4b9ad7c0ab94dc10 err="retrieved hash chain is invalid"
WARN [03-29|09:38:02.704] Checkpoint challenge timed out, dropping id=e8191234978143d6 conn=dyndial addr=3.1.27.148:30303      type=Geth/source/linux/go1.10.4
WARN [03-29|09:40:02.373] Synchronisation failed, dropping peer    peer=0be2160d6093d7a3 err=timeout
WARN [03-29|09:42:43.915] Checkpoint challenge timed out, dropping id=b7fe283b8834fc21 conn=dyndial addr=188.35.22.31:30307    type=Geth/source/linux/go1.11.2
WARN [03-29|09:48:31.330] Synchronisation failed, dropping peer    peer=209fadad4df29ee7 err=timeout
WARN [03-29|09:50:49.572] Synchronisation failed, dropping peer    peer=a46a49badbd2205b err=timeout
WARN [03-29|09:51:25.420] Synchronisation failed, dropping peer    peer=a41421cb9772370b err=timeout

发现备用节点早就未同步数据了(因为是备用节点,所以未设置zabbix报警)

在备用节点中同样使用了以上方法,查看了连接的节点信息,有效节点数量,并未发现异常,然后使用了以下命令查询了区块高度信息,发现数据差的真多,害怕。。。

> eth.syncing
{
  currentBlock: 9739351,
  highestBlock: 9786347,
  knownStates: 399147124,
  pulledStates: 399147124,
  startingBlock: 9725124
}
> eth.blockNumber
9739410

备用环境的节点没有发现什么异常,于是对服务进行了重启(因为是备用节点,所以才进行了重启操作,生产环境必须慎重使用服务重启、关闭等操作)

# docker restart public-eth ;docker logs -f public-eth --tail 10
public-eth
。。。。。。
INFO [04-01|20:34:16.546] Setting new local account                address=0x52df2CE99891c31314c9f2f97dE1eBf401806571
INFO [04-01|20:34:16.546] Loaded local transaction journal         transactions=11 dropped=0
INFO [04-01|20:34:16.546] Regenerated local transaction journal    transactions=11 accounts=1
WARN [04-01|20:34:16.546] Switch sync mode from fast sync to full sync 
INFO [04-01|20:34:16.743] New local node record                    seq=31 id=4b66feada6a11d9d ip=127.0.0.1 udp=30303 tcp=30303
INFO [04-01|20:34:16.744] Started P2P networking                   self=enode://f82c0b9f10906785fed6e1ee2f86c165da6dc43155f0799bb63e713d677786b2d4b56124389b4e32f7c268f79877a87eed9ffd47f9e25d52976108aee39810a9@127.0.0.1:30303
INFO [04-01|20:34:16.747] IPC endpoint opened                      url=/root/.ethereum/geth.ipc
INFO [04-01|20:34:16.748] HTTP endpoint opened                     url=http://0.0.0.0:8545      cors= vhosts=localhost
INFO [04-01|20:34:26.744] Block synchronisation started 
INFO [04-01|20:34:31.518] New local node record                    seq=32 id=4b66feada6a11d9d ip=47.244.12.0 udp=58724 tcp=30303
INFO [04-01|20:34:36.316] Importing heavy sidechain segment        blocks=2048 start=9722054 end=9724101
INFO [04-01|20:34:48.324] Imported new chain segment               blocks=1    txs=86 mgas=9.983 elapsed=12.006s mgasps=0.832 number=9722054 hash=695f2b…b44224 age=1w2d21h dirty=1.08MiB
INFO [04-01|20:34:56.746] Imported new chain segment               blocks=9    txs=1378 mgas=87.184 elapsed=8.421s  mgasps=10.353 number=9722063 hash=75ea98…258dcd age=1w2d21h dirty=12.45MiB
INFO [04-01|20:35:05.076] Imported new chain segment               blocks=17   txs=2583 mgas=157.750 elapsed=8.329s  mgasps=18.938 number=9722080 hash=c7ff1b…6e622b age=1w2d21h dirty=31.53MiB
INFO [04-01|20:35:13.222] Imported new chain segment               blocks=20   txs=1967 mgas=151.433 elapsed=8.146s  mgasps=18.590 number=9722100 hash=19fbd6…b3d86b age=1w2d21h dirty=49.69MiB

节点重启后,发现以太坊备用节点开始同步数据,进行恢复

遇到问题后,第一时间也进行百度查询过此问题:Synchronisation failed, dropping peer

网上给出的回复是:

日志一致卡在此处,说明geth没有链接到其他有效的节点,通过cosole后台执行以下命令可看到链接的节点数为0:

> net.peerCount
0

针对此警告等待即可,如果长时间无响应,建议重新启动节点,让节点重新寻找新的peers。同时也可以手动添加peer。星火计划提供的节点如下列表,可尝试添加:

怀疑可能是因为节点重启后,刷新了连接的节点信息,怀疑可能是连接的节点有问题,导致了连接节点超时,数据未同步

于是想到使用如下方法进行解决

当出现节点timeout的问题报错时,可以根据以太坊源码中给出的引导节点信息,进行添加,帮助寻找可用的有效节点

引导节点信息为:

var MainnetBootnodes = []string{
	// Ethereum Foundation Go Bootnodes
	"enode://d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666@18.138.108.67:30303",   // bootnode-aws-ap-southeast-1-001
	"enode://22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de@3.209.45.79:30303",     // bootnode-aws-us-east-1-001
	"enode://ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758@34.255.23.113:30303",   // bootnode-aws-eu-west-1-001
	"enode://279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8@35.158.244.151:30303",  // bootnode-aws-eu-central-1-001
	"enode://8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a@52.187.207.27:30303",   // bootnode-azure-australiaeast-001
	"enode://103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1@191.234.162.198:30303", // bootnode-azure-brazilsouth-001
	"enode://715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8@52.231.165.108:30303",  // bootnode-azure-koreasouth-001
	"enode://5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f@104.42.217.25:30303",   // bootnode-azure-westus-001
}

连接方式为(举例):

admin.addPeer("enode://d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666@18.138.108.67:30303")

admin.addPeer("enode://22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de@3.209.45.79:30303")

admin.addPeer("enode://ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758@34.255.23.113:30303")

admin.addPeer("enode://5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f@104.42.217.25:30303")

admin.addPeer("enode://715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8@52.231.165.108:30303")

admin.addPeer("enode://a0c97b58f2d3ea039cf09d8d9255c6d635f605f8702fafaafeda173ad0ae81c717c9f0ec155be615868c5eb027f8e28b2e9cab31ddddbb1b3e664c13eccb649a@159.69.56.17:30303?discport=1062

后来发现正式环境自己恢复并且同步到最新数据了,怀疑可能和网络也有一定的关系

结果不到三分钟,正式环境又开始报错节点timeout,出现数据不同步的情况,这个时候再去看备用节点,并未发现有异常信息。

因为以太坊公链节点的正式环境与备用环境服务器都在香港地区,所以可排除是网路的问题

再次查看正式环境的连接的节点信息时,发现有一个1.9.3的版本,1.9.9为以太坊缪尔冰川硬分叉的版本,如果有节点版本比它低,可说明此节点的区块一定未超过920块,是一个坏节点

> admin.peers

{
    caps: ["eth/63"],
    enode: "enode://945b152c088c887d06f02eafba2d88559fbfc460510ca98c4d919312cf2cf4fa6c4307fe02bff4cde36a236948448f24620c0f67fce3444e444c0dee302a81e6@209.250.230.142:30303",
    id: "3b95c0d3e14e5021e214c81a83c346eb997ec194fb1bd2e7a79b23d0d92a6198",
    name: "Geth/v1.9.3-stable-cfbb969d/linux-amd64/go1.11.5",
    network: {
      inbound: false,
      localAddress: "172.17.0.2:37444",
      remoteAddress: "209.250.230.142:30303",
      static: false,
      trusted: false
    },
    protocols: {
      eth: {
        difficulty: 1.3520836652877566e+22,
        head: "0xab865ff4c05af71a415426ce40bf7656194bcbea3ed0b0b2f0c64767b30f2982",
        version: 63
      }
    }
}

于是使用命令对它进行了删除

> admin.removePeer("enode://945b152c088c887d06f02eafba2d88559fbfc460510ca98c4d919312cf2cf4fa6c4307fe02bff4cde36a236948448f24620c0f67fce3444e444c0dee302a81e6@209.250.230.142:30303")
true

删除后,正式环境的节点开始正常同步

结论,可发现以太坊正式环境的节点数据不同步,并且出现如下报错:

Synchronisation failed, dropping peer    peer=6a224bc2c8c3b02c err=timeout

其中的原因会是因为以太坊公链节点连接了版本较低的节点【以太坊硬分叉之前的版本】导致,此时可使用如下命令对其连接的节点进行删除

admin.removePeer("enode://945b152c088c887d06f02eafba2d88559fbfc460510ca98c4d919312cf2cf4fa6c4307fe02bff4cde36a236948448f24620c0f67fce3444e444c0dee302a81e6@209.250.230.142:30303")
  • 添加节点
admin.addPeer("enode://3af83ae28fc90838c334369ed2bf8071065062b851e5845e5eb07bd2efc5ba68f9d77865bea3ea09d3cc866bded716c258b0bca002696a69463fba7fdefb51df@128.230.208.74:30303")
true
  • 添加信任节点
addTrustedPeer("enode://3af83ae28fc90838c334369ed2bf8071065062b851e5845e5eb07bd2efc5ba68f9d77865bea3ea09d3cc866bded716c258b0bca002696a69463fba7fdefb51df@128.230.208.74:30303")
true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以太坊公链节点连接节点超时问题排查 的相关文章

  • rippled节点配置文件详解

    文章目录 一 简介 二 配置文件示例 三 配置项说明 server port rpc admin local port peer port ws admin local node size node db ledger history da
  • 以太坊私有链搭建教程

    写在前面 写这个主要是为了记录下自己的学习过程 同时如果能帮助到同样想搭建私有链的朋友们 那是再好不过了 Step 1 环境搭建 私链搭建有三宝 环境 终端和钱包 我这里用到的是Geth客户端 所以环境当然就是指Go语言运行环境 Ether
  • 以太坊创世区块源码分析

    genesis 是创世区块的意思 一个区块链就是从同一个创世区块开始 通过规则形成的 不同的网络有不同的创世区块 主网络和测试网路的创世区块是不同的 这个模块根据传入的genesis的初始值和database 来设置genesis的状态 如
  • 以太坊智能合约各方法对应的签名编码

    erc20智能合约常见方法对应的签名编码 常见例如交易 transfer address uint256 编码为 web3 sha3 transfer address uint256 substring 0 10 gt 0xa9059cbb
  • UPnP的介绍和理解

    在远程服务器开了一个节点B 然后在自己电脑上启动两个节点A C 用了 bootnodes B命令 A和C都能把B节点添加到自己的列表里 但是A和C不能互相发现是为什么 按理来说B应该把自己知道的节点列表都告诉给他相连的节点吧 答案是 它们会
  • 以太坊公链节点连接节点超时问题排查

    2020年4月1日晚上8点 zabbix报警 以太坊公链三分钟内没有检测到区块数据同步 立即登录到服务器 查看以太坊公链节点数据同步情况 docker logs f public eth tail 10 INFO 04 01 20 17 3
  • java和android程序员使用web3j进行区块链以太坊开发详解

    如何使用web3j为Java应用或Android App增加以太坊区块链支持 教程内容即涉及以太坊中的核心概念 例如账户管理包括账户的创建 钱包创建 交易转账 交易与状态 智能合约开发与交互 过滤器和事件等 同时也详细说明如何使用web3j
  • 区块链技术实战学习路线图

    请大家前往深入浅出区块链主站 获取最新内容 本章的文章越来越多 本文是一个索引帖 方便找到自己感兴趣的文章 你也可以使用左侧的分类 标签及搜索功能 有新文章时会更新本文 建议大家加入收藏夹中 如果你觉得本站不错 欢迎你转发给朋友 引言 给迷
  • EOS智能合约安全开发终极指南

    EOS智能合约安全终极指南 当世界上最大的ICO EOS于2018年6月推出时 加密社区变得持怀疑态度 并且由于软件错误而被冻结了2天 但快进4个月 EOS今天占了以太网今天所做交易的两倍以上 通过免费和更快速交易的承诺 EOS最顶级的Da
  • 以太坊构建DApps系列教程(一):应用程序规则和区块链设置

    这将是一个如何使用以太坊区块链构建去中心化应用程序DApps的系列教程 第一篇教程重点介绍应用程序的规则和功能以及设置私有区块链 展示在使用或不使用DAO和应用程序的情况下如何构建自己自定义的以太坊代币 我们要构建3件事 自定义代币 使用代
  • 初识区块链

    这篇博客主要从社会和经济层面来直白的向大家讲述区块链是什么 比特币是什么 分享的内容仅限于自己的理解 里面会存在本人的观点 但是希望读者能有自己的独立看法 审慎的阅读本文 甚至能考虑到我的认知不足导致的偏差 不为任何投资电子货币者提供意见
  • 在同一 Composer Rest 服务器配置中使用两张名片

    我完成了部署到多组织结构网络的教程 并且成功运行 现在我有两张管理卡 alice trade network bob trade network 以及他们发行的两张身份证 卡 jdoe trade network dlowe trade n
  • 注意:如果您发送了值,则被调用的函数应该是付费的,并且您发送的值应该小于您当前的余额

    我正在尝试使用 openzeppelin 的 ERC20 实现 但出现错误 tokenAddress 是现有 ERC20 代币的地址 例如 USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 im
  • 通过 REST 在超级账本上部署链代码时出现“获取链代码包字节时出错”

    我正在尝试通过 POST REST 在 hyperledger Bluemix 服务 上部署链码 链码 查询规范 jsonrpc 2 0 方法 部署 参数 类型 1 chaincodeID 路径 https github com romeo
  • 如何使用 web3js 发送 ERC20 令牌

    我目前使用的是 0 2x x 版本的 Web3 JavaScript API 我通过在 Solidity 中创建智能合约 在 REMIX IDE 上 来部署自定义 ERC20 代币 我安装了 MetaMask 并进行了测试https wal
  • 编写 Hyperledger Fabric Chaincode 时应遵循的最佳实践

    为了避免错误并编写高效的 Hyperledger Fabric Chaincode 应该遵循哪些最佳实践 编写 Hyperledger Fabric 链码的一般指南 有关详细说明 请参阅以下链接 https gist github com
  • Fabric 网络 - 当宕机的对等点连接回网络时会发生什么?

    我最近使用 Docker compose 部署了结构网络 我试图模拟一个宕机的对等点 本质上是这样的 使用运行结构网络的 docker compose 将 4 个对等点联机 1 个对等点 即第 4 个对等点出现故障 通过 docker st
  • 无法在节点和运行时之间转换参数“tx”:解码字段调用时出错

    当我想使用基于基板的链中内置的方法以及自定义类型时 我收到以下错误 2020 04 13 21 03 01 RPC CORE submitAndWatchExtrinsic extrinsic Extrinsic ExtrinsicStat
  • Chainlink节点:交易待处理时该怎么办?

    我有一个 chainlink 节点 并且有些交易似乎被卡住了 如何修复待处理的传出确认 大多数情况下 您没有使用 Gas 为您的 chainlink 节点账户提供资金 转到您的配置并获取ACCOUNT ADDRESS并将 ETH 发送到该地
  • 类型错误:无法读取未定义的属性“长度” - 使用安全帽部署时

    我在尝试在安全帽开发链上部署模拟合约时收到以下错误 我正在关注 使用 JavaScript 学习区块链 Solidity 和全栈 Web3 开发 Patrick Collins 在 FreeCodeCamp YT 频道上的 32 小时课程

随机推荐

  • C++11继承构造函数在类中的使用

    继承构造函数 概念 衍生问题 使用示例 注意 扩展使用 函数 示例代码 输出结果 注意 概念 继承构造函数在C 11特性中随之提及 其大概可以理解为 解决了派生类无法直接使用基类中的构造函数的这一问题 正常情况下 基类定义了自己的构造函数
  • Java如何编写无返回值的方法的单元测试

    有一个方法 他的返回值是void也就是说 我们无法对方法的返回值进行断言 但是 既然这个方法是无返回值的方法 那么他一定修改了对象的状态 成员变量 或是进行了输入输出 向某个窗口发送消息 与某个进程通讯 总之 他是有副作用的 如果没有任何副
  • AI催生教育行业“焦虑症”,加拿大高校用机器人教学来解

    过去几年间 安大略省南部的高等院校中涌现出许多类人机器人 这些机器人可以在工程训练 健康护理和皮肤医学等方面为学生们提供帮助 今年六月 麦克马斯特大学和瑞尔森大学通信与设计学院 FCAD 合力引进了由日本电信巨头SoftBank打造的类人机
  • 模块电路选型(7)----人机交互模块

    系列文章目录 1 电源模块 2 主控模块 3 传感器模块 4 通信模块 5 电机驱动模块 6 存储模块 7 人机交互模块 文章目录 前言 一 按键 1 触摸按键 前言 送给大学毕业后找不到奋斗方向的你 每周不定时更新 牛客网 构建从学习到职
  • 【line-height】 line-height详解

    1 line height是什么 w3school定义使用line height属性定义行与行之间的距离 也就是一个行的行高 它不允许使用负值 使用在文本行的时候line height 与 font size 的计算值之差 在 CSS 中成
  • PCE投稿要求

    进入PCE的投稿网址 http mc manuscriptcentral com pce 查了一下 大家都建议创建ORCID号 于是按照指示创建了 蓝色笔圈起来的是一些投稿指导 于是打开Instructions Forms Instruct
  • Flink checkPoint和SavePoint

    savepoint和checkpoint都是flink为容错提供的强大功能特性 能够自动或手动保存job的运行状态 两者区别 checkpoint 应用定时触发 用户保存状态 会过期 内部应用失败重启的时候启用 但是手动cancel时 会删
  • nginx配置转发日志

    http include mime types default type application octet stream log format main remote user time local http x Forwarded fo
  • Vue3 icons 图标无效

    问题描述 需要在账号 密码处加上icon图标 但是引用完element plus icons之后 还是不行 不显示icon图标 后面发现 当前版本的emement plus的icon图标不能直接使用了 前置条件 npm install el
  • Go 服务自动收集线上问题现场

    前言 对于 pprof 相信熟悉 Go 语言的程序员基本都不陌生 一般线上的问题都是靠它可以快速定位 但是实际项目中 很多时候我们为了性能都不会开启它 但是出了问题又要靠它来分析 好在 go zero 已经帮我们很好的集成进来了 我们只需要
  • 深度模型压缩论文(03)- Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self

    文章目录 1 摘要和背景 1 1 摘要 1 2 背景 2 方法和贡献 2 1 方法 2 1 1 训练过程 2 1 2 loss介绍 2 2 贡献 3 实验和结果 3 1 实验 3 2 结果 4 总结和展望 4 1 总结 4 2 展望 主要贡
  • 【git】git push 本地项目报错 ssh_dispatch_run_fatal

    1 概述 我的一个项目原本是使用如下命令git下来的 git clone git xxx git 昨天还好还好的 今天发现突然无法push项目了 开始自己发现网络比较慢 后面稍微恢复了一下还是不可以 然后git push的时候报错 ssh
  • mybatis-plus整合alibaba.druid实现多数据源配置

    须知 依托于springboot项目实现 一 添加maven依赖
  • javascript学习笔记-面向对象

    javascript学习笔记 面向对象 JavaScript中 现阶段我们可以采用三种方式创建对象 利用字面量创建对象 利用New Object创建对象 利用构造函数创建对象 一 利用字面量创建对象 var obj uname 张三 age
  • 云安全技术——kvm虚拟化技术

    目录 10 1 kvm简介 10 2 在CentOS 7 图形化界面下安装KVM 使用IDEA开发读写MySQL数据库程序 实验目的 了解 CentOS7图形化界面的部署方法 了解 KVM的组成和作用 了解 KVM的技术架构 了解KVM的安
  • python—scrapy框架爬虫—链家二手房数据

    本文讲解的是scrapy框架爬虫的实例 文章目录 前言 scrapy简介 1 scrapy框架的流程 2 流程简介 操作 1 创建scrapy项目 2 运行 3 代码部分 前言 本文爬取的是链家重庆主城九区的二手房数据 同时将爬取的数据存入
  • linux查看进程绑定cpu核是否成功

    运行top命令 可以看到进程以及进程cpu占有率 然后查看是否有P属性 这个属性用来查看进程绑定的cpu核 这里没有看到cpu占用核心的P属性 运行top后 按 f 键进入top配置界面 然后按上下键选择P选项 此时可以看到P选项前面没有
  • 简单Hexo更换主题教程

    Hexo自带的默认主题不是很好看 我们可以按自己需求更换对应的主题 主题由很多 大家可以使用搜索引擎查找 这里我们演示butterfly主题的安装 前提 需要安装git 需要安装nodejs 步骤 在博客的项目文件夹下打开git bash执
  • LeetCode——1302. 层数最深叶子节点的和

    题目描述 给你一棵二叉树的根节点 root 请你返回层数最深的叶子节点的和 示例 1 输入 root 1 2 3 4 5 null 6 7 null null null null 8 输出 15 示例 2 输入 root 6 7 8 2 7
  • 以太坊公链节点连接节点超时问题排查

    2020年4月1日晚上8点 zabbix报警 以太坊公链三分钟内没有检测到区块数据同步 立即登录到服务器 查看以太坊公链节点数据同步情况 docker logs f public eth tail 10 INFO 04 01 20 17 3