精华内容
下载资源
问答
  • R6300V2 梅林固件

    2019-01-14 21:10:32
    X7.9对应的梅林380最后一个版本,显然还不是那么的完善。其中一个问题就是软件中心稳定性问题,经常发生崩溃!。一些较为常用的插件或不可描述的插件经常用着好好的,点击下...R6300V2 R6400 R6900/R7000 R8000 R8500
  • 环境 内网服务器Prob1位于内网LAN1, 内网服务器Prob2位于内网...内网节点没有inbound,只需要配置一个bridge,一个outbound(以及默认的direct),一对路由规则 Prob1 { "log": { "loglevel": "debug", "access": "...

    环境

    内网服务器Prob1位于内网LAN1,
    内网服务器Prob2位于内网LAN2,
    外网服务器Serv1位于IP 123.123.123.123

    内网节点配置

    内网节点没有inbound,只需要配置一个bridge,一个outbound(以及默认的direct),一对路由规则

    Prob1

    {
      "log": {
        "loglevel": "debug",
        "access": "/var/log/v2r_tunnel_access.log",
        "error": "/var/log/v2r_tunnel_error.log"
      },
      "reverse":{
        "bridges":[
          {
            "tag":"bridge",
            "domain":"probe1.nowhere.com"
          }
        ]
      },
      "outbounds": [
        {
          "tag":"tunnel",
          "protocol":"vmess",
          "settings":{
            "vnext":[
              {
                "address":"123.123.123.123",
                "port":10103,
                "users":[
                  {
                    "id":"3301381f-6324-4d53-ad4f-1cda48b3012f",
                    "alterId":64
                  }
                ]
              }
            ]
          }
        },
        {
          "tag":"direct",
          "protocol":"freedom",
          "settings":{}
        }
      ],
      "routing":{
        "rules":[
          {
            "type":"field",
            "inboundTag":["bridge"],
            "domain":["full:probe1.nowhere.com"],
            "outboundTag":"tunnel"
          },
          {
            "type":"field",
            "inboundTag":["bridge"],
            "outboundTag":"direct"
          }
        ]
      }
    }

    配置说明

    bridge中的domain,必须要存在于服务器的portal中,否则会报failed to process reverse connection的错误

    2020/07/20 17:43:41 [Info] [4068778249] v2r.com/core/proxy/vmess/inbound: received request for tcp:aaa.nowhere.com:0
    2020/07/20 17:43:41 [Info] [4068778249] v2r.com/core/app/dispatcher: taking detour [portal_bridge02] for [tcp:aaa.nowhere.com:0]
    2020/07/20 17:43:41 [Info] [4068778249] v2r.com/core/app/reverse: failed to process reverse connection > v2r.com/core/app/reverse: empty worker list
    2020/07/20 17:43:41 [Info] [4068778249] v2r.com/core/app/proxyman/inbound: connection ends > v2r.com/core/proxy/vmess/inbound: connection ends > io: read/write on closed pipe

    公网服务节点配置

    外网服务器没有outbound,对应每个内网节点,要配置一个portal,一对inbound(分别对应bridge和client)和一对路由规则。规则中不需要再设置domain。
    在这种规则配置下,对应每一个protal,会有一个专门的inbound连接,方便用户端选择使用不同的内网。

    {
      "log": {
        "loglevel": "debug",
        "access": "/var/log/v2r_access.log",
        "error": "/var/log/v2r_error.log"
      },
      "reverse":{
        "portals":[
          {
            "tag":"portal_probe2",
            "domain":"probe2.nowhere.com"
          },
          {
            "tag":"portal_probe1",
            "domain":"probe1.nowhere.com"
          }
        ]
      },
      "inbounds":[
        {
          "tag":"to_probe2",
          "port":10100,
          "protocol":"vmess",
          "settings":{
            "clients":[
              {
                "id":"234ffdb8-ef14-4278-a4e6-2af32cc312cf",
                "alterId":64
              }
            ]
          }
        },
        {
          "tag": "tunnel_probe2",
          "port":10101,
          "protocol":"vmess",
          "settings":{
            "clients":[
              {
                "id":"3301381f-6324-4d53-ad4f-1cda48b3012f",
                "alterId":64
              }
            ]
          }
        },
     
        {
          "tag":"to_probe1",
          "port":10102,
          "protocol":"vmess",
          "settings":{
            "clients":[
              {
                "id":"a11efdb8-ef34-4278-a4e6-2af32cc010fc",
                "alterId":64
              }
            ]
          }
        },
        {
          "tag": "tunnel_probe1",
          "port":10103,
          "protocol":"vmess",
          "settings":{
            "clients":[
              {
                "id":"3301381f-6324-4d53-ad4f-1cda48b3012f",
                "alterId":64
              }
            ]
          }
        }
     
      ],
      "routing":{
        "rules":[
          {
            "type":"field",
            "inboundTag":["to_probe2"],
            "outboundTag":"portal_probe2"
          },
          {
            "type":"field",
            "inboundTag":["tunnel_probe2"],
            "outboundTag":"portal_probe2"
          },
     
          {
            "type":"field",
            "inboundTag":["to_probe1"],
            "outboundTag":"portal_probe1"
          },
          {
            "type":"field",
            "inboundTag":["tunnel_probe1"],
            "outboundTag":"portal_probe1"
          }
        ]
      }
    }

    如果想在当前节点也创建socks5代理, 可以在inbounds里添加一个socks, 然后再添加到routing.rules, 例如

    ...
        {
          "tag":"client_bridge02",
          "port":10102,
          "protocol":"vmess",
          "settings":{
            ...
          }
        },
    # 添加的socks入口
        {
           "tag": "socks_bridge02",
           "port": 10200,
           "listen": "192.168.10.20",
           "protocol": "socks",
           "settings": {
             "udp": true
           }
        },
    #
        {
          "tag": "tunnel_bridge02",
          "port":10103,
          "protocol":"vmess",
          "settings":{
            ...
          }
        },
    ...
     
      "routing":{
        "rules":[
          ...
          {
            "type":"field",
            "inboundTag":["client_bridge02","socks_bridge02"], # 将socks_bridge02添加到inboundTag
            "outboundTag":"portal_bridge02"
          },
          ...

    创建服务

    对于已经运行了v2r的机器,可以再创建一个新的服务,例如

    $ more /etc/systemd/system/v2r-tunnel.service
    [Unit]
    Description=V2R Tunnel Service
    Documentation=https://www.v2r.com/
    After=network.target nss-lookup.target
     
    [Service]
    Type=simple
    User=root
    CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
    AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
    NoNewPrivileges=true
    ExecStart=/usr/bin/v2r/v2r -config /etc/v2r/config_tunnel.json
    Restart=on-failure
     
    [Install]
    WantedBy=multi-user.target

    通过systemctl enable 命令加入开机自启动

    附安装记录(arm64)

    apt install lrzsz
    rz
    chmod u+x go.sh
    ./go.sh --version v4.26.0 --local v2r-linux-arm64.4.26.0.zip
    systemctl is-enabled v2r.service
    cd /etc/v2r/
    rz
    vi config-lan.json
    rm config.json
    mv config-lan.json config.json
    systemctl start v2r.service
    ps aux|grep v2r
    tail -f /var/log/v2r_tunnel_error.log
    展开全文
  • GraphSAGE节点分类

    2020-11-11 15:39:54
    如 Agg(v1,v2)=Agg(v2,v1)Agg(v_1, v_2)=Agg(v_2, v_1)Agg(v1​,v2​)=Agg(v2​,v1​)。 当然,从模型优化的角度看,这种聚合操作还必须可导。只要满足上述性质,聚合操作就能对任意输入的节点集合做到自适应。比较...

    GraphSAGE 节点分类

    简介

    GCN(Graph Convolutional Network)的出现带动了将神经网络技术用于图数据的学习任务中去,并产生了大量的方法,这类方法我们统称为图神经网络(Graph Neural Networks,GNN)。我们知道,图卷积可以从谱域和空域两个角度看待(尽管后来逐渐深入的研究表明,所谓的谱域图卷积其实就是特殊的空域图卷积而已),从空域来看,GCN 的本质就是一个迭代式地聚合邻居的过程,这个思路启发了一大类模型对于这种聚合操作的重新设计,比如比较有名的 GraphSAGE、GAT、R-GCN,这些以空域视角出发的图网络算法,通常被叫做空域图卷积。本文在本系列上一篇文章GCN 节点分类的基础上,使用 Pytorch 实现 GraphSAGE 对 Cora 数据集进行节点分类。

    GraphSAGE 算法简述

    GraphSAGE 其实在两个方面对 GCN 做了改动,一方面是通过采样邻居的策略将 GCN 由全图(full batch)的训练方式改造成以节点为中心的小批量(mini batch)的训练方式,这使得大规模图数据的分布式训练成为了可能;另一方面,GraphSAGE 对聚合邻居的操作进行了拓展,提出了替换 GCN 操作的新的方式。

    采样邻居

    GCN 的训练是全图形式的,就是说一轮迭代,所有节点的样本的损失只会贡献一次梯度,无法做到深度神经网络中常用的小批量更新,从梯度更新的次数来看这是很低效的。这还不是重点,事实上,实际业务中,图的规模是巨大的,显存或者内存很难容纳下模型和整个图,因此采用小批量的训练方法是必要的。GraphSAGE 从聚合邻居的操作出发,对邻居进行随机采样来控制实际运算时节点 k k k阶子图的数据规模,在此基础上对采样的子图进行随机组合来完成小批量训练。

    GCN 中,节点在第 k + 1 k+1 k+1层的特征只与其邻居在 k k k层的特征有关,这种局部性质导致节点在第 k k k层的特征只与自己的 k k k阶子图有关。虽然这样说只需要考虑节点的 k k k阶子图就可以完成对节点高层特征的计算,但是对于一个大规模图数据而言,直接迁移此思路仍然存在一些问题:

    1. 子图的节点数呈指数级增长。若图中的节点度均值为 d ‾ \overline{d} d,执行 k k k层 GCN,则 k k k阶子图平均出现 1 + d ‾ + d ‾ 2 + ⋯ + d ‾ k 1 + \overline{d} + \overline{d}^2 + \cdots + \overline{d}^k 1+d+d2++dk,当 d ‾ = 10 , k = 4 \overline{d}=10,k=4 d=10k=4的时候,就有 11111 11111 11111个节点参与计算,这会导致很高的计算复杂度。
    2. 真实的图数据节点往往呈现幂律分布,一些节点的度很大,这些节点成为超级节点,在很多图计算的问题中,超级节点都是比较难处理的对象。由于超级节点邻居数目庞大,子图节点数又呈指数级增长,计算代价会更高。

    上述的情况下,遍历子图的时间代价、模型训练的计算和存储代价都会难以把控。因此,GraphSAGE 使用了采样邻居的操作来控制子图发散时的增长率。它的具体操作为:设每个节点在第 k k k层的邻居采样倍率为 S k S_k Sk(这是一个超参数),即每个节点采样的一阶邻居不超过 S k S_k Sk,那么对于任意一个中心节点的表达计算,所设计的总节点数将在 O ( ∏ k = 1 K s k ) O\left(\prod_{k=1}^{K} s_{k}\right) O(k=1Ksk)这个级别。举个例子,对一个两层模型来说,如果 S 1 = 3 S_1=3 S1=3 S 2 = 2 S_2=2 S2=2则总节点数不会超过 1 + 3 + 3 × 2 = 10 1+3+3\times2=10 1+3+3×2=10个。这里对节点采样,GraphSAGE 选择了均匀分布,其实工程上会采用其他形式的分布。

    通过采样邻居的策略,GraphSAGE 控制子图节点的规模始终维持在阶乘级别以下,这也给模型层数的增加提供了可能性。

    聚合邻居

    GraphSAGE 研究了聚合邻居操作所需的性质,提出了几种新的聚合操作算子(aggregator),需满足如下条件:

    1. 聚合操作必须对聚合节点的数量做到自适应。不管节点的邻居数量如何变化,进行聚合操作后输出的维度必须一致,为一个统一维度的向量。
    2. 聚合操作对聚合节点具有排列不变性。图数据本身是一种无序对的数据结构,对于聚合操作而言,这就要求不管邻居节点的排列顺序如何,输出的结果总是给一样的。如 A g g ( v 1 , v 2 ) = A g g ( v 2 , v 1 ) Agg(v_1, v_2)=Agg(v_2, v_1) Agg(v1,v2)=Agg(v2,v1)

    当然,从模型优化的角度看,这种聚合操作还必须可导。只要满足上述性质,聚合操作就能对任意输入的节点集合做到自适应。比较简单的算子有平均/加和聚合算子、LSTM 聚合算子、池化聚合算子等,这里就不展开了,详细可以参考原论文3.3 节。

    GraphSAGE 算法过程

    在上面两个机制的基础上,最后来看看 GraphSAGE 如何实现训练的。

    输入:图 G ( V , E ) \mathcal{G}(\mathcal{V}, \mathcal{E}) G(V,E);输入特征 { x v , ∀ v ∈ B } \left\{\mathbf{x}_{v}, \forall v \in \mathcal{B}\right\} {xv,vB};层数 K K K;权重矩阵 W k , ∀ k ∈ { 1 , … , K } \mathbf{W}^{k}, \forall k \in\{1, \ldots, K\} Wk,k{1,,K};非线性函数 σ \sigma σ;聚合操作 AGGREGATE k , ∀ k ∈ { 1 , … , K } _{k}, \forall k \in\{1, \ldots, K\} k,k{1,,K};邻居采样函数 N k : v → 2 V , ∀ k ∈ { 1 , … , K } \mathcal{N}_{k}: v \rightarrow 2^{\mathcal{V}}, \forall k \in\{1, \ldots, K\} Nk:v2V,k{1,,K}

    输出:所有节点的向量表示 z v \mathbf{z}_{v} zv v ∈ B v \in \mathcal{B} vB

    小批量训练过程如下:

    在这里插入图片描述

    上述算法的基本思路为先将小批集合 B \mathcal{B} B内的中心节点聚合操作要涉及到的 k k k阶子图一次性遍历出来,然后在这些节点上进行 K K K次聚合操作的迭代式计算。上述图中的 1-7 行就是描述遍历操作,可以简单理解这个过程:要想得到某个中心节点第 k k k层的特征,就需要采样其在第 k − 1 k-1 k1层的邻居,然后对 k − 1 k-1 k1层每个节点采样其第 k − 2 k-2 k2层的邻居,以此类推,直到采样完第一层所有的邻居为止。注意,每层的采样函数可以单独设置。

    上述算法图的 9-15 行是第二步,聚合操作,其核心为 11-13 行的三个公式。第 11 行的式子是调用聚合操作完成对每个节点邻居特征的整合输出,第 12 行是将聚合后的邻居特征与中心节点上一层的特征进行拼接,然后送到一个单层网络里得到中心节点的特征向量,第 13 行对节点的特征向量进行归一化。对这三行操作迭代 K K K次就完成了对 B \mathcal{B} B内所有中心节点特征向量的提取。

    GraphSAGE 的算法过程完全没有拉普拉斯矩阵的参与,每个节点的特征学习过程仅仅只与其 k k k阶邻居相关,而不需要全图对的结构西南西,这样的方法适合做归纳学习(Inductive Learning),这也就是 GraphSAGE 论文题目 Inductive Representation Learning on Large Graphs 的由来。这里我就不多阐述归纳学习和转导学习(Transductive Learning)的理论,需要知道的是,对 GraphSAGE 而言,新出现的节点数据,只需要遍历得到 k k k阶子图,就可以代入模型进行预测,这种特性使得 GraphSAGE 潜力巨大。

    总的来说,GraphSAEG 对空域视角下的 GCN 作了一次解构,提出几种邻居聚合算子,同时通过采样邻居,大大改进了算法的性能,关于其更详细的内容推荐阅读原论文

    GraphSAGE 节点分类

    本节使用 Pytorch 实现 GraphSAGE 对 Cora 数据集进行节点分类,通过代码进一步理解 GraphSAGE。GraphSAGE 包括邻居采样和邻居聚合两个方面。

    首先来看邻居采样,通过下面的两个函数实现了一阶和多阶采样,为了高效,节点和邻居的关系维护一个表即可。

    import numpy as np
    
    
    def sampling(src_nodes, sample_num, neighbor_table):
        """
        根据源节点一阶采样指定数量的邻居,有放回
        :param src_nodes:
        :param sample_num:
        :param neighbor_table:
        :return:
        """
        results = []
        for sid in src_nodes:
            # 从节点的邻居中进行有放回地进行采样
            neighbor_nodes = neighbor_table.getrow(sid).nonzero()
            res = np.random.choice(np.array(neighbor_nodes).flatten(), size=sample_num)
            results.append(res)
        return np.asarray(results).flatten()
    
    
    def multihop_sampling(src_nodes, sample_nums, neighbor_table):
        """
        根据源节点进行多阶采样
        :param src_nodes:
        :param sample_nums:
        :param neighbor_table:
        :return:
        """
        sampling_result = [src_nodes]
        for k, hopk_num in enumerate(sample_nums):
            hopk_result = sampling(sampling_result[k], hopk_num, neighbor_table)
            sampling_result.append(hopk_result)
        return sampling_result
    

    这样的阿斗的结果是节点的 ID,还需要根据 ID 查询节点的特征以进行聚合操作更新特征。

    接着我们来看邻居聚合,定义一个 Pytorch module 来完成聚合过程,输入特征先是经过一个线性变换得到隐层特征,从而可以在第一个维度进行聚合操作,预定义了求和、均值、最大值等算子。

    class NeighborAggregator(nn.Module):
        def __init__(self, input_dim, output_dim,
                     use_bias=False, aggr_method="mean"):
            """
            聚合节点邻居
            :param input_dim: 输入特征的维度
            :param output_dim: 输出特征的维度
            :param use_bias: 是否使用偏置
            :param aggr_method: 邻居聚合算子形式
            """
            super(NeighborAggregator, self).__init__()
            self.input_dim = input_dim
            self.output_dim = output_dim
            self.use_bias = use_bias
            self.aggr_method = aggr_method
            self.weight = nn.Parameter(torch.Tensor(input_dim, output_dim))
            if self.use_bias:
                self.bias = nn.Parameter(torch.Tensor(self.output_dim))
            self.reset_parameters()
    
        def reset_parameters(self):
            init.kaiming_uniform_(self.weight)
            if self.use_bias:
                init.zeros_(self.bias)
    
        def forward(self, neighbor_feature):
            if self.aggr_method == "mean":
                aggr_neighbor = neighbor_feature.mean(dim=1)
            elif self.aggr_method == "sum":
                aggr_neighbor = neighbor_feature.sum(dim=1)
            elif self.aggr_method == "max":
                aggr_neighbor = neighbor_feature.max(dim=1)
            else:
                raise ValueError("Unknown aggr type, expected sum, max, or mean, but got {}"
                                 .format(self.aggr_method))
    
            neighbor_hidden = torch.matmul(aggr_neighbor, self.weight)
            if self.use_bias:
                neighbor_hidden += self.bias
    
            return neighbor_hidden
    
        def extra_repr(self):
            return 'in_features={}, out_features={}, aggr_method={}'.format(
                self.input_dim, self.output_dim, self.aggr_method)
    

    基于邻居聚合的结果对中心节点的特征进行更新。更新的方式是将邻居节点聚合的特征与经过线性变换的中心特征加和或者级联,再经过一个激活函数得到更新后的特征,依次我们就可以实现新的 GCN 层。继而,可以堆叠 SAGEGCN 来构建模型,实现训练。

    class GraphSAGE(nn.Module):
        def __init__(self, input_dim, hidden_dim,
                     num_neighbors_list):
            super(GraphSAGE, self).__init__()
            self.input_dim = input_dim
            self.hidden_dim = hidden_dim
            self.num_neighbors_list = num_neighbors_list
            self.num_layers = len(num_neighbors_list)
            self.gcn = nn.ModuleList()
            self.gcn.append(SAGEGCN(input_dim, hidden_dim[0]))
            for index in range(0, len(hidden_dim) - 2):
                self.gcn.append(SAGEGCN(hidden_dim[index], hidden_dim[index + 1]))
            self.gcn.append(SAGEGCN(hidden_dim[-2], hidden_dim[-1], activation=None))
    
        def forward(self, node_features_list):
            hidden = node_features_list
            for l in range(self.num_layers):
                next_hidden = []
                gcn = self.gcn[l]
                for hop in range(self.num_layers - l):
                    src_node_features = hidden[hop]
                    src_node_num = len(src_node_features)
                    neighbor_node_features = hidden[hop + 1] \
                        .view((src_node_num, self.num_neighbors_list[hop], -1))
                    h = gcn(src_node_features, neighbor_node_features)
                    next_hidden.append(h)
                hidden = next_hidden
            return hidden[0]
    
        def extra_repr(self):
            return 'in_features={}, num_neighbors_list={}'.format(
                self.input_dim, self.num_neighbors_list
            )
    

    下图是训练过程可视化的结果,可以看到,GraphSAGE以mini batch的方式训练,并在很少的轮次后获得了和GCN相当的精度。

    在这里插入图片描述

    补充说明

    本文关于 GraphSAGE 的理论以及代码部分参考《深入浅出图神经网络》以及 GraphSAGE 论文原文。本文涉及到的代码开源于Github,欢迎 star和fork。

    展开全文
  • MySQL查询某个子节点的顶级节点(根节点)或者所有父节点 假设表t_menu为: id(varchar) parent_id(varchar) name(varchar) 111 null aaa 222 111 bbb 333 222 ccc 查询id为...

    MySQL查询某个子节点的顶级节点(根节点)或者所有父节点

    假设表t_menu为:

    id(varchar)parent_id(varchar)name(varchar)
    111aaa
    222111bbb
    333222ccc

    查询id为:"333"的根节点的名字:

    SELECT T2.name
    FROM (   
        SELECT   
            @r AS _id,   
            (SELECT @r := parent_id FROM `t_menu` WHERE id = _id) AS 2v2,   
            @l := @l + 1 AS lvl   
        FROM   
            (SELECT @r := '333',@l :=0) vars, 
            t_menu h   
        WHERE @r is not null) T1   
    left JOIN t_menu T2   
    ON T1._id = T2.id
    where T2.parent_id is null
    

    查询id为:"333"的所有父节点 且按从上到下排序

    SELECT T2.*
    FROM (   
        SELECT   
            @r AS _id,   
            (SELECT @r := parent_id FROM `t_menu` WHERE id = _id) AS 2v2,   
            @l := @l + 1 AS lvl   
        FROM   
            (SELECT @r := '333',@l :=0) vars, 
            t_menu h   
        WHERE @r is not null) T1   
    left JOIN t_menu T2   
    ON T1._id = T2.id
    order by T1.lvl desc
    
    展开全文
  • 部署nova控制节点与计算节点

    千次阅读 2019-04-11 14:53:45
    安装控制节点controller 注:这里使用的源均为内部源,外界无法获取,大家可以搭建阿里源或者其它源来进行操作 环境: 控制节点:192.168.1.13 chen1 计算节点:192.168.1.14 chen2 mysql -uroot -p123 分别...

    安装控制节点controller

    注:这里使用的源均为内部源,外界无法获取,大家可以搭建阿里源或者其它源来进行操作

    环境:
    控制节点:192.168.1.13 chen1
    计算节点:192.168.1.14 chen2

    mysql -uroot -p123

    分别建立三个库

    MariaDB [(none)]> CREATE DATABASE nova_api;
    MariaDB [(none)]> CREATE DATABASE nova;
    MariaDB [(none)]> CREATE DATABASE nova_cell0;

    之后创建用户并设置权限

    GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova’@‘localhost’
    IDENTIFIED BY ‘123’;
    GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova’@’%’
    IDENTIFIED BY ‘123’;

    GRANT ALL PRIVILEGES ON nova.* TO ‘nova’@‘localhost’
    IDENTIFIED BY ‘123’;
    GRANT ALL PRIVILEGES ON nova.* TO ‘nova’@’%’
    IDENTIFIED BY ‘123’;

    GRANT ALL PRIVILEGES ON nova_cell0.* TO ‘nova’@‘localhost’
    IDENTIFIED BY ‘123’;
    GRANT ALL PRIVILEGES ON nova_cell0.* TO ‘nova’@’%’
    IDENTIFIED BY ‘123’;

    退出数据库,创建nova用户

    openstack user create --domain default --password=nova nova

    [root@chen1 ~]# openstack user create --domain default --password=nova nova
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | fd6d7fea522c4a7486f53b108d08ca0f |
    | name                | nova                             |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    

    将nova用户添加为管理员

    openstack role add --project service --user nova admin

    创建名为nova的project。

    openstack service create --name nova
    –description “OpenStack Compute” compute

    [root@chen1 ~]#  openstack service create --name nova \
    >   --description "OpenStack Compute" compute
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Compute                |
    | enabled     | True                             |
    | id          | 98fd205a476c4d7d8dcf2668b9da5692 |
    | name        | nova                             |
    | type        | compute                          |
    +-------------+----------------------------------+
    

    创建服务端点

    openstack endpoint create --region RegionOne
    compute public http://chen1:8774/v2.1

    [root@chen1 ~]# openstack endpoint create --region RegionOne \
    >   compute public http://chen1r:8774/v2.1
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 00702893077243aea42b7d02c3d23560 |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 98fd205a476c4d7d8dcf2668b9da5692 |
    | service_name | nova                             |
    | service_type | compute                          |
    | url          | http://chen1:8774/v2.1      |
    +--------------+----------------------------------+
    

    openstack endpoint create --region RegionOne
    compute internal http://chen1:8774/v2.1

    [root@chen1 ~]# openstack endpoint create --region RegionOne \
    >   compute internal http://chen1:8774/v2.1
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 6a11cd392517402e85590259016f7869 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 98fd205a476c4d7d8dcf2668b9da5692 |
    | service_name | nova                             |
    | service_type | compute                          |
    | url          | http://chen1:8774/v2.1      |
    +--------------+----------------------------------+
    

    openstack endpoint create --region RegionOne
    compute admin http://chen1:8774/v2.1

    [root@chen1 ~]# openstack endpoint create --region RegionOne \
    >   compute admin http://chen1:8774/v2.1
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 20eba1ab861e4e6ba1b334707bf74e43 |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 98fd205a476c4d7d8dcf2668b9da5692 |
    | service_name | nova                             |
    | service_type | compute                          |
    | url          | http://chen1:8774/v2.1      |
    +--------------+----------------------------------+
    

    创建一个palcement的用户

    openstack user create --domain default --password=placement placement

    [root@chen1 ~]# openstack user create --domain default --password=placement placement
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | 72e797b72b93480894621129a5303c5b |
    | name                | placement                        |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    

    将此用户设为管理员

    openstack role add --project service --user placement admin

    创建项目placement

    openstack service create --name placement --description “Placement API” placement

    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | Placement API                    |
    | enabled     | True                             |
    | id          | 2d316bc5e12249fc8e85f5dab7005ce7 |
    | name        | placement                        |
    | type        | placement                        |
    +-------------+----------------------------------+
    

    建立服务端点

    openstack endpoint create --region RegionOne placement public http://chen1:8778

    [root@chen1 ~]# openstack endpoint create --region RegionOne placement public http://chen1:8778
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 2e301db4d26749f0abb11ddfd0fa830d |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 2d316bc5e12249fc8e85f5dab7005ce7 |
    | service_name | placement                        |
    | service_type | placement                        |
    | url          | http://chen1:8778                |
    +--------------+----------------------------------+
    

    openstack endpoint create --region RegionOne placement internal http://chen1:8778

    [root@chen1 ~]# openstack endpoint create --region RegionOne placement internal http://chen1:8778
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | de3c8e29c1db493090278632a98f3a5d |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 2d316bc5e12249fc8e85f5dab7005ce7 |
    | service_name | placement                        |
    | service_type | placement                        |
    | url          | http://chen1:8778                |
    +--------------+----------------------------------+
    

    openstack endpoint create --region RegionOne placement admin http://chen1:8778

    [root@chen1 ~]# openstack endpoint create --region RegionOne placement admin http://chen1:8778
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 560441ed9071438d91ee1a45a1674ea8 |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 2d316bc5e12249fc8e85f5dab7005ce7 |
    | service_name | placement                        |
    | service_type | placement                        |
    | url          | http://chen1:8778                |
    +--------------+----------------------------------+
    

    安装noval服务

    下载安装

    yum -y install openstack-nova-api openstack-nova-conductor
    openstack-nova-console openstack-nova-novncproxy
    openstack-nova-scheduler openstack-nova-placement-api

    编辑配置文件

    cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
    vim /etc/nova/nova.conf

    [DEFAULT]
    my_ip=192.168.1.13
    use_neutron = True
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    enabled_apis=osapi_compute,metadata
    transport_url = rabbit://openstack:admin@chen1
    
    [api]
    auth_strategy = keystone
    
    [api_database]
    connection = mysql+pymysql://nova:123@chen1/nova_api
    
    [barbican]
    
    [cache]
    
    [cells]
    
    [cinder]
    os_region_name = RegionOne
    
    [cloudpipe]
    
    [conductor]
    
    [console]
    
    [consoleauth]
    
    [cors]
    
    [cors.subdomain]
    
    [crypto]
    
    [database]
    connection = mysql+pymysql://nova:123@chen1/nova
    
    [ephemeral_storage_encryption]
    
    [filter_scheduler]
    
    [glance]
    api_servers = http://chen1:9292
    
    [guestfs]
    
    [healthcheck]
    
    [hyperv]
    
    [image_file_url]
    
    [ironic]
    
    [key_manager]
    
    [keystone_authtoken]
    auth_uri = http://chen1:5000
    auth_url = http://chen1:35357
    memcached_servers = chen1:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = nova
    password = nova
    
    [libvirt]
    virt_type=qemu
    
    [matchmaker_redis]
    
    [metrics]
    
    [mks]
    
    [neutron]
    #url = http://chen1:9696
    #auth_url = http://chen1:35357
    #auth_type = password
    #project_domain_name = default
    #user_domain_name = default
    #region_name = RegionOne
    #project_name = service
    #username = neutron
    #password = neutron
    #service_metadata_proxy = true
    #metadata_proxy_shared_secret = METADATA_SECRET
    
    [notifications]
    
    [osapi_v21]
    
    [oslo_concurrency]
    lock_path=/var/lib/nova/tmp
    
    [oslo_messaging_amqp]
    
    [oslo_messaging_kafka]
    
    [oslo_messaging_notifications]
    
    [oslo_messaging_rabbit]
    
    [oslo_messaging_zmq]
    
    [oslo_middleware]
    
    [oslo_policy]
    
    [pci]
    [placement]
    os_region_name = RegionOne
    auth_type = password
    auth_url = http://chen1:35357/v3
    project_name = service
    project_domain_name = Default
    username = placement
    password = placement
    user_domain_name = Default
    
    [quota]
    
    [rdp]
    
    [remote_debug]
    
    [scheduler]
    
    [serial_console]
    
    [service_user]
    
    [spice]
    
    [ssl]
    
    [trusted_computing]
    
    [upgrade_levels]
    
    [vendordata_dynamic_auth]
    
    [vmware]
    
    [vnc]
    enabled=true
    vncserver_listen=$my_ip
    vncserver_proxyclient_address=$my_ip
    #novncproxy_base_url = http://192.168.1.13:6080/vnc_auto.html
    
    [workarounds]
    
    [wsgi]
    
    [xenserver]
    
    [xvp]
    

    配置 dhcp文件,在最后添加

    vim /etc/httpd/conf.d/00-nova-placement-api.conf

    <Directory /usr/bin>
       <IfVersion >= 2.4>
          Require all granted
       </IfVersion>
       <IfVersion < 2.4>
          Order allow,deny
          Allow from all
       </IfVersion>
    </Directory>
    

    重启httpd服务

    systemctl restart httpd

    给予权限

    cd /etc/nova
    chmod 640 nova.conf
    chown root.nova nova.conf

    同步数据库

    su -s /bin/sh -c “nova-manage api_db sync” nova
    su -s /bin/sh -c “nova-manage cell_v2 map_cell0” nova

    su -s /bin/sh -c “nova-manage cell_v2 create_cell --name=cell1 --verbose” nova

    0b60edf0-59d3-436c-b34f-825fa13312af
    

    su -s /bin/sh -c “nova-manage db sync” nova

    nova-manage cell_v2 list_cells

    [root@chen1 nova]# nova-manage cell_v2 list_cells
    +-------+--------------------------------------+
    |  Name |                 UUID                 |
    +-------+--------------------------------------+
    | cell0 | 00000000-0000-0000-0000-000000000000 |
    | cell1 | 0b60edf0-59d3-436c-b34f-825fa13312af |
    +-------+--------------------------------------+
    

    重启noval服务

    systemctl enable openstack-nova-api.service
    openstack-nova-consoleauth.service openstack-nova-scheduler.service
    openstack-nova-conductor.service openstack-nova-novncproxy.service

    systemctl start openstack-nova-api.service
    openstack-nova-consoleauth.service openstack-nova-scheduler.service
    openstack-nova-conductor.service openstack-nova-novncproxy.service

    systemctl status openstack-nova-api.service
    openstack-nova-consoleauth.service openstack-nova-scheduler.service
    openstack-nova-conductor.service openstack-nova-novncproxy.service | grep running | wc -l

    下载安装compute-nova节点

    控制节点与计算节点可以在同一主机上,但这里是在另一IP主机上
    另一台安装:192.168.1.14

    先解决依赖性:

    wget http://download2.yunwei.edu/shell/openstack_app.tar.gz

    tar -zxvf openstack_app.tar.gz

    cd openstack-ocata
    cd openstack-compute-yilai
    yum -y localinstall ./*

    安装相关服务

    yum install openstack-nova-compute

    cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
    vim /etc/nova/nova.conf

    [DEFAULT]
    my_ip=192.168.1.13
    use_neutron = True
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    enabled_apis=osapi_compute,metadata
    transport_url = rabbit://openstack:admin@chen1
    
    [api]
    auth_strategy = keystone
    
    [api_database]
    #connection = mysql+pymysql://nova:123@chen1/nova_api
    
    [barbican]
    
    [cache]
    
    [cells]
    
    [cinder]
    #os_region_name = RegionOne
    
    [cloudpipe]
    
    [conductor]
    
    [console]
    
    [consoleauth]
    
    [cors]
    
    [cors.subdomain]
    
    [crypto]
    
    [database]
    #connection = mysql+pymysql://nova:123@chen1/nova
    
    [ephemeral_storage_encryption]
    
    [filter_scheduler]
    
    [glance]
    api_servers = http://chen1:9292
    
    [guestfs]
    
    [healthcheck]
    
    [hyperv]
    
    [image_file_url]
    
    [ironic]
    
    [key_manager]
    
    [keystone_authtoken]
    auth_uri = http://chen1:5000
    auth_url = http://chen1:35357
    memcached_servers = chen1:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = nova
    password = nova
    
    [libvirt]
    virt_type=qemu
    
    [matchmaker_redis]
    
    [metrics]
    
    [mks]
    
    [neutron]
    #url = http://chen1:9696
    #auth_url = http://chen1:35357
    #auth_type = password
    #project_domain_name = default
    #user_domain_name = default
    #region_name = RegionOne
    #project_name = service
    #username = neutron
    #password = neutron
    #service_metadata_proxy = true
    #metadata_proxy_shared_secret = METADATA_SECRET
    
    [notifications]
    
    [osapi_v21]
    
    [oslo_concurrency]
    lock_path=/var/lib/nova/tmp
    
    [oslo_messaging_amqp]
    
    [oslo_messaging_kafka]
    
    [oslo_messaging_notifications]
    
    [oslo_messaging_rabbit]
    
    [oslo_messaging_zmq]
    
    [oslo_middleware]
    
    [oslo_policy]
    
    [pci]
    [placement]
    os_region_name = RegionOne
    auth_type = password
    auth_url = http://chen1:35357/v3
    project_name = service
    project_domain_name = Default
    username = placement
    password = placement
    user_domain_name = Default
    
    [quota]
    
    [rdp]
    
    [remote_debug]
    
    [scheduler]
    
    [serial_console]
    
    [service_user]
    
    [spice]
    
    [ssl]
    
    [trusted_computing]
    
    [upgrade_levels]
    
    [vendordata_dynamic_auth]
    
    [vmware]
    
    [vnc]
    enabled=true
    vncserver_listen=$my_ip
    vncserver_proxyclient_address=$my_ip
    novncproxy_base_url = http://192.168.1.13:6080/vnc_auto.html  #此处为控制节点的IP.
    
    [workarounds]
    
    [wsgi]
    
    [xenserver]
    
    [xvp]
    

    检查是否支持虚拟化

    egrep -c ‘(vmx|svm)’ /proc/cpuinfo,

    之后设置开机自启动

    systemctl enable libvirtd.service openstack-nova-compute.service
    systemctl start libvirtd.service openstack-nova-compute.service

    之后在192.168.1.13上操作:
    openstack hypervisor list
    [root@chen1 ~]# openstack hypervisor list
    ±—±--------------------±----------------±-------------±------+
    | ID | Hypervisor Hostname | Hypervisor Type | Host IP | State |
    ±—±--------------------±----------------±-------------±------+
    | 1 | chen2.localdomain | QEMU | 192.168.1.14 | up |
    ±—±--------------------±----------------±-------------±------+

    查看下状态

    openstack compute service list

    [root@chen1 ~]# openstack compute service list
    +----+------------------+-------------------+----------+---------+-------+----------------------------+
    | ID | Binary           | Host              | Zone     | Status  | State | Updated At                 |
    +----+------------------+-------------------+----------+---------+-------+----------------------------+
    |  1 | nova-consoleauth | chen1             | internal | enabled | up    | 2019-04-11T06:31:29.000000 |
    |  2 | nova-conductor   | chen1             | internal | enabled | up    | 2019-04-11T06:31:39.000000 |
    |  3 | nova-scheduler   | chen1             | internal | enabled | up    | 2019-04-11T06:31:29.000000 |
    |  6 | nova-compute     | chen2.localdomain | nova     | enabled | up    | 2019-04-11T06:31:39.000000 |
    +----+------------------+-------------------+----------+---------+-------+----------------------------+
    

    同步数据库

    su -s /bin/sh -c “nova-manage cell_v2 discover_hosts --verbose” nova

    [root@chen1 ~]# su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
    Found 2 cell mappings.
    Skipping cell0 since it does not contain hosts.
    Getting compute nodes from cell 'cell1': 0b60edf0-59d3-436c-b34f-825fa13312af
    Found 1 computes in cell: 0b60edf0-59d3-436c-b34f-825fa13312af
    Checking host mapping for compute host 'chen2.localdomain': b89abe69-7cee-4194-a34b-534ff0b0fa08
    Creating host mapping for compute host 'chen2.localdomain': b89abe69-7cee-4194-a34b-534ff0b0fa08
    

    如果在配置文件中加入这一行,则是自动发现计算节点

    [scheduler]
    discover_hosts_in_cells_interval = 300
    

    查看服务日志的列表是否正确运行

    openstack catalog list

    [root@chen1 ~]# openstack catalog list
    +-----------+-----------+------------------------------------+
    | Name      | Type      | Endpoints                          |
    +-----------+-----------+------------------------------------+
    | glance    | image     | RegionOne                          |
    |           |           |   admin: http://chen1:9292         |
    |           |           | RegionOne                          |
    |           |           |   internal: http://chen1:9292      |
    |           |           | RegionOne                          |
    |           |           |   public: http://chen1:9292        |
    |           |           |                                    |
    | placement | placement | RegionOne                          |
    |           |           |   public: http://chen1:8778        |
    |           |           | RegionOne                          |
    |           |           |   admin: http://chen1:8778         |
    |           |           | RegionOne                          |
    |           |           |   internal: http://chen1:8778      |
    |           |           |                                    |
    | nova      | compute   | RegionOne                          |
    |           |           |   admin: http://chen1:8774/v2.1    |
    |           |           | RegionOne                          |
    |           |           |   internal: http://chen1:8774/v2.1 |
    |           |           | RegionOne                          |
    |           |           |   public: http://chen1:8774/v2.1   |
    |           |           |                                    |
    | keystone  | identity  | RegionOne                          |
    |           |           |   public: http:///chen1:5000/v3/   |
    |           |           | RegionOne                          |
    |           |           |   admin: http://chen1:35357/v3/    |
    |           |           | RegionOne                          |
    |           |           |   internal: http://chen1:5000/v3/  |
    |           |           |                                    |
    +-----------+-----------+------------------------------------+
    

    查看每个服务的api能否正常工作

    nova-status upgrade check

    [root@chen1 ~]# nova-status upgrade check
    +---------------------------+
    | Upgrade Check Results     |
    +---------------------------+
    | Check: Cells v2           |
    | Result: Success           |
    | Details: None             |
    +---------------------------+
    | Check: Placement API      |
    | Result: Success           |
    | Details: None             |
    +---------------------------+
    | Check: Resource Providers |
    | Result: Success           |
    | Details: None             |
    +---------------------------+
    

    如果上述操作弄完,没有出错,那么恭喜你

    展开全文
  • 一:R本身是单线程的,如何让其多线程跑起来,提高运算速度? 用Parallel和foreach包玩转并行计算 看完上面这篇文章就会了。说白了,要加载parallel包,再改写一下自己的代码就ok了。 #-----用一个实力来演示 R ...
  • Android代码-第三方V2EX

    2019-08-06 04:53:02
    Android SDK r21 LICENSE Copyright (C) 2015 YAO Wei This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free...
  • BiSeNet V2网络结构详解

    千次阅读 2020-12-15 16:09:53
    语义分割中微观(细节)信息和宏观信息都很重要,一般浅层网络能够提取微观信息,而宏观信息提取需要很...r:重复的次数 Stem Block: 卷积层设置stride=2也可以起到跟pooling类似的下采样的作用,但是卷积层...
  • 网联V2X测试解决方案

    千次阅读 2020-11-04 18:15:27
    V2X测试的挑战 V2X,顾名思义就是vehicle-to-everything,通过现代通信与网络技术,实现车与人、车、路、后台等信息交换共享,从而帮助汽车实现安全、舒适、节能、高效行驶。 由于涉及到车与周围环境的通信交互,V2X...
  • LTE-V2X车联网技术、标准、应用

    千次阅读 2021-01-30 00:00:00
    摘 要:V2X(vehicle to everything)通信是车联网中实现环境感知、信息交互与协同控制的重要关键技术。大唐电信科技产业集团最早提出并由中国企业主导的LTE-V2X国际...
  • YOLO v2算法详解

    千次阅读 2019-03-22 16:23:33
    在voc07数据集上,YOLO v2表现胜过Faster R-CNN,67FPS,76.8mAP;40FPS,78.6mAP。 Better YOLO算法产生大量定位误差,并且具有低召回率。因此我们在维持分类准确性的前提下,提高召回率和定位准确度。 ...
  • YOLO v2详解

    千次阅读 2019-01-23 21:58:32
    前者主要是YOLO的升级版,比YOLO拥有更高的精度和速度,后者的主要检测网络也是YOLO v2,同时对数据集做了融合,使用联合训练算法,使得模型可以检测9000多类物体。   一、Better(更准) YOLO 一代有很多缺点,...
  • 为了更好地理解可变形卷积网络的行为,我们通过网络节点的有效接受域[31]、有效采样位置和误差有界显著性区域来形象化网络节点的空间支持。这三种模式提供了不同的和互补的观点,对潜在的图像区域,有助于节点的响应...
  • 我们使用R中的igraph包,产生了网络的图形。 但是很难将这些图表放到演讲和文章中,因为图表很难根据需要定制。使用igraph中的绘图功能可以得到你想要的结果,但用ggplot对工作更有帮助。所以本文探索了一种在ggplot...
  • V2EX社区客户端

    2015-06-03 17:48:00
    实现了节点、话题、用户三个Scheme,通过话题、节点、用户链接直接打开客户端进行相关信息浏览 对用户已经浏览过的话题作记忆处理并在界面上进行展示 话题、帖子等采用了卡片式布局 编译需求...
  • = [z] [A]⋅[x]=[z] 等价于 [GBCD]⋅[x]=[z] \begin{bmatrix} G & B \\ C & D\end{bmatrix} \sdot [x] = [z] [GC​BD​]⋅[x]=[z] 根据上式可以扩展为 [1/R1−1/R11−1/R11/R1+1/R20100]⋅[v1v2iV1]=[0I1U1] \begin...
  • YOLO v2 详解

    2020-03-30 13:54:47
    这说明使用 Faster R-CNN 的方法固定生成先验框的效果并不算很好。这样生成的先验框虽然数量多,但是并不能代表物体中大多数的更加合适的大小和长宽比例。那么有没有更好的方法?实际上我们可以利用聚类方法,先对...
  • C-V2X 产业化路径和时间表研究白皮书C-V2X 产业化路径和时间表研究白皮书1. C-V2X 概述1.1. C-V2X 产业架构1.2. C-V2X 产业化的意义1.2.1. 提升行驶安全1.2.2. 提高交通效率1.2.3. 提供出行信息服务1.2.4. 支持实现...
  • k8s部署(多节点

    2021-03-02 11:18:14
    节点k8s二进制部署1.1部署思路1.2实验环境1.3部署master021.4部署nginx负载均衡1.5测试1.5.1keepalived测试1.5.2创建pod测试 1.多节点k8s二进制部署 1.1部署思路 1.增加k8s管理节点master02 2.使用nginx负载均衡...
  • shaderforge 色相节点 一、官方说明 根据Hue值输出RGB值,换句话说Hue节点的作用是,将Hue值转为相应的RGB值。 二、节点输入 Hue值 Hue节点输入值的[0,1]对应色相轮的[0°,360°] 三、节点输出 Hue...
  • 部署单节点OpenStack

    千次阅读 2020-02-20 23:49:16
    OpenStack采用Python语言开发,遵循Apache开源协议,因此相比CloudStack来说,更轻量化,效率更高。OpenStack每半年更新一个版本,截止目前发布的版本是第21版本 OpenStack Ussuri, 各个版本的发行时间表参考网站 ...
  • shaderforge Parallax节点 一、官方说明 Parallax节点输出的uv是输入的uv经过视差偏移的得到结果,其中视差偏移程由[Hei]指定,[Hei]在计算偏移量时有两个相关参数:深度[Dep]和基准高度[Ref]。 高度图0(白色...
  • 控制节点1 先决条件1.1 数据库 1.连接数据库 mysql -u root -p2.创建 cinder 数据库:CREATE DATABASE cinder;3.允许 cinder 数据库合适的访问权限,123456为 CINDER_DBPASS GRANT ALL PRIVILEGES ON cinder.* ...
  • // 从全局获取节点:全局获取的节点直接就是实例,不需要getChildByName // 尽量通过属性装饰器@property获取节点,代码运行效率会更快。 // cc.find不安全,移动或变更节点名字时,忘记改代码会报错,代码可能要改...
  • ROS学习记录(三)节点与话题

    千次阅读 2020-01-05 11:59:34
    ROS学习笔记系列是对 ROS中文教程的记录总结。...一个图如下,V1,V2等就是节点 (node),它们可以是实际的机器人,或者可执行文件,也可以是函数,在不同情况下可以有不同的抽象。 有了节点,关键的是...
  • Etcd单节点扩容为三节点集群参考文档http://www.cnblogs.com/breg/p/5728237.html开始环境是单节点,存储数据一段时间后发现需要集群高可用环境,幸亏etcd支持在线扩容1,修改单节点配置并重启etcd[root@k8s-master ...
  • 由三个master节点组成的k8s集群,由于其中一台master节点启动文件异常,将机器重置了,需要重新部署后恢复到原来的集群中。 解决过程 基础环境恢复 yum 源配置 添加网络yum: mkdir /etc/yum.repos.d tee /etc/...
  • openstack endpoint create --region RegionOne volumev2 internal http://控制节点主机名:8776/v2/%\ ( project_id\ ) s openstack endpoint create --region RegionOne volumev2 admin http://控制节点主机名:8776...
  • NR V2X新总结

    万次阅读 2019-07-10 19:03:35
    自从2018年6月RAN#80全会上启动了NR V2X技术研究后,3GPP工作组针对NR V2X的研究内容展开了丰富的讨论,在今年2月份RAN1 #96会议中结束了NR V2X SI(Study Item)部分的讨论,NR V2X从RAN1 #96b次会议开始正式进入WI...
  • 本文是基于(ceph 纵向扩容 nautilus版本)[https://www.cnblogs.com/weiwei2021/p/14381416.html],对cephtest003.ceph.kxdigit.com 节点进行卸载。 #二 环境信息 主机名 状态 IP 磁盘 角色 cephtest001....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,803
精华内容 9,121
热门标签
关键字:

v2r节点