精华内容
参与话题
问答
  • 大数据_08 【新增节点与删除节点

    万次阅读 2020-10-14 21:05:44
    大数据_08 【新增节点与删除节点】服役新节点具体步骤01 需求基础02 准备新节点03 服役新节点具体步骤退役旧数据节点 服役新节点具体步骤 01 需求基础 需求基础 随着公司业务的增长,数据量越来越大,原有的数据...

    服役新节点具体步骤

    01 需求基础

    需求基础 随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。

    02 准备新节点
    1. 复制一台新的虚拟机出来 将我们纯净的虚拟机复制一台出来,作为我们新的节点
    2. 第二步:修改mac地址以及IP地址
    3. 第三步:关闭防火墙,关闭selinux
    4. 第四步:更改主机名
    5. 第五步:四台机器更改主机名与IP地址映射
    6. 第六步:node04服务器关机重启并生成公钥与私钥
    7. 第七步:node04安装jdk
    8. 第八步:解压Hadoop安装包
    9. 第九步:将node01关于Hadoop的配置文件全部拷贝到node04
    03 服役新节点具体步骤
    1. 在node01也就是namenode所在的机器的/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目录下创建dfs.hosts文件
    [root@node01 Hadoop]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    [root@node01 Hadoop]# touch dfs.hosts
    [root@node01 Hadoop]# vim dfs.hosts
    

    添加如下主机名称(包含新服役的节点)

    node01
    node02
    node03
    node04
    
    1. 第二步:node01编辑hdfs-site.xml添加以下配置(在namenode的hdfs-site.xml配置文件中增加dfs.hosts属性node01执行以下命令)
    cd /export/servers/Hadoop-2.6.0-cdh5.14.0/etc/Hadoop
    vim hdfs-site.xml
    
    <property>
    <name>dfs.hosts</name>
    <value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts</value>
    </property>
    
    1. 第三步:刷新namenode
    [root@node01 Hadoop]# hdfs dfsadmin -refreshNodes
    Refresh nodes successful
    
    1. 第四步:更新resourceManager节点 node01执行以下命令刷新resourceManager
    [root@node01 Hadoop]# yarn rmadmin -refreshNodes
    19/03/16 11:19:47 INFO client.RMProxy: Connecting to ResourceManager at node01/192.168.52.100:8033
    
    1. 第五步:namenode的slaves文件增加新服务节点主机名称
      node01编辑slaves文件,并添加新增节点的主机,更改完后,slaves文件不需要分发到其他机器上面去
      node01执行以下命令编辑slaves文件
    cd /export/servers/Hadoop-2.6.0-cdh5.14.0/etc/Hadoop
    vim slaves
    
    node01
    node02
    node03
    node04
    
    1. 第六步:单独启动新增节点 node04服务器执行以下命令,启动datanode和nodemanager
    cd /export/servers/hadoop-2.6.0-cdh5.14.0/
    sbin/hadoop-daemon.sh start datanode
    sbin/yarn-daemon.sh start nodemanager
    
    1. 第七步:浏览器查看
    http://node01:50070/dfshealth.html#tab-overview
    
    http://node01:8088/cluster
    
    1. 第八步:使用负载均衡命令,让数据均匀负载所有机器
    cd /export/servers/hadoop-2.6.0-cdh5.14.0/
    sbin/start-balancer.sh
    

    退役旧数据节点

    1. 第一步:创建dfs.hosts.exclude配置文件

    在namenod的cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目录下创建dfs.hosts.exclude文件,并添加需要退役的主机名称 node01执行以下命令

    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    touch dfs.hosts.exclude
    vim dfs.hosts.exclude
    
    node04
    
    1. 第二步:编辑namenode所在机器的hdfs-site.xml

    编辑namenode所在的机器的hdfs-site.xml配置文件,添加以下配置
    node01执行以下命令

    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    vim hdfs-site.xml
    
    	<property>
                <name>dfs.hosts.exclude</name>
                <value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts.exclude</value>
        </property>
    
    1. 第三步:刷新namenode,刷新resourceManager

    在namenode所在的机器执行以下命令,刷新namenode,刷新resourceManager 并重启集群

    hdfs dfsadmin -refreshNodes
    yarn rmadmin -refreshNodes

    1. 第四步:查看web浏览界面 浏览器访问 http://node01:50070/dfshealth.html#tab-datanode

    在这里插入图片描述

    1. 第五步:节点退役完成,停止该节点进程

    等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。注意:如果副本数是3,服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役。·

    node01执行以下命令,停止该节点进程

    cd /export/servers/hadoop-2.6.0-cdh5.14.0
    sbin/hadoop-daemon.sh stop datanode
    sbin/yarn-daemon.sh stop nodemanager
    
    1. 第六步:从include文件中删除退役节点 namenode所在节点也就是node01执行以下命令删除退役节点
    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    vim dfs.hosts
    
    node01
    node02
    node03
    

    namenode所在节点也就是node01执行以下命令刷新namenode和resourceManager

    hdfs dfsadmin -refreshNodes
    yarn rmadmin -refreshNodes

    1. 第七步:从namenode的slave文件中删除退役节点
      namenode所在机器也就是node01执行以下命令从slaves文件中删除退役节点
    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    vim slaves
    
    1. 第八步:如果数据负载不均衡,执行以下命令进行均衡负载 node01执行以下命令进行均衡负载
    cd /export/servers/hadoop-2.6.0-cdh5.14.0/
    sbin/start-balancer.sh
    
    展开全文
  • python创建neo4j图库节点节点之间的关系

    万次阅读 多人点赞 2020-08-07 11:29:30
    python创建neo4j节点节点之间的关系(连接)打开neo4j本地服务器,python连接。(数据加载)需要创建的节点及其关系重点(neo4j与python代码演示)①创建节点函数②查询节点函数③节点之间创建关系函数④加载进...

    (连接)打开neo4j本地服务器,python连接。

    在这里插入图片描述
    python连接代码

    username = ***  
    password = *** (自己设置的neo4j的密码)
    graph = Graph('http://localhost:7474',username=username,password=password)
    

    (数据加载)需要创建的节点及其关系

    为了简单演示:我是简单的创建了几个节点及关系。大家可自行更改。
    这里演示的数据如下:
    在这里插入图片描述

    重点(neo4j与python代码演示)

    ①创建节点函数

    在这里插入图片描述

    ②查询节点函数

    在这里插入图片描述

    ③节点之间创建关系函数

    在这里插入图片描述

    ④加载进neo4j图库

    在这里插入图片描述

    ⑤neo4j图库结果展示

    在这里插入图片描述

    完整代码

    下面展示一些 内联代码片

    import pandas as pd
    from py2neo import Node,Relationship,Graph,NodeMatcher,RelationshipMatcher
    # 创建节点
    def CreateNode(m_graph,m_label,m_attrs):
        m_n="_.name="+"\'"+m_attrs['name']+"\'"
        matcher = NodeMatcher(m_graph)
        re_value = matcher.match(m_label).where(m_n).first()
        print(re_value)
        if re_value is None:
            m_mode = Node(m_label,**m_attrs)
            n = graph.create(m_mode)
            return n 
        return None
    # 查询节点
    def MatchNode(m_graph,m_label,m_attrs):
        m_n="_.name="+"\'"+m_attrs['name']+"\'"
        matcher = NodeMatcher(m_graph)
        re_value = matcher.match(m_label).where(m_n).first()
        return re_value
    # 创建关系
    def CreateRelationship(m_graph,m_label1,m_attrs1,m_label2,m_attrs2,m_r_name):
        reValue1 = MatchNode(m_graph,m_label1,m_attrs1)
        reValue2 = MatchNode(m_graph,m_label2,m_attrs2)
        if reValue1 is None or reValue2 is None:
            return False
        m_r = Relationship(reValue1,m_r_name,reValue2)
        n = graph.create(m_r)
        return n 
    graph = Graph('http://localhost:7474',username='neo4j',password='yangZAI520')
    
    Names = ["老师","超市","程序员","小卖部","阳仔公司"]
    action = ["传授","销售","敲","售卖","提供"]
    things = ["知识","日常用品","代码","日常用品","餐饮服务"]
    data = pd.DataFrame({"名称":Names,"字段":things,"方式":action})
    data
    
    username = ***  
    password = *** (自己设置的neo4j的密码)
    graph = Graph('http://localhost:7474',username=username,password=password)
    
    label1 = "Name"
    label2 = "things"
    for i,j in data.iterrows():
        # 名称
        attr1 = {"name":j.名称}
        CreateNode(graph,label1,attr1)
        # 产品
        attr2 = {"name":j.字段}
        CreateNode(graph,label2,attr2)
    
        m_r_name = j.方式
        reValue = CreateRelationship(graph,label1,attr1,label2,attr2,m_r_name)
        print(reValue)
    
    

    在这里插入图片描述

    展开全文
  • HDFS(名称节点与数据节点)简介

    万次阅读 2019-09-19 23:26:08
    这些节点分为主从节点,主节点可叫作名称节点(NameNode),从节点可叫作数据节点(DataNode) HDFS的存储模式: HDFS通过块的模式存储数据,默认情况下一个块是64M,把大文件拆分成多个块,可以最小化寻址开销 ...

    HDFS:分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群
    这些节点分为主从节点,主节点可叫作名称节点(NameNode),从节点可叫作数据节点(DataNode)

    HDFS的存储模式:

    HDFS通过块的模式存储数据,默认情况下一个块是64M,把大文件拆分成多个块,可以最小化寻址开销
    这样的好处是:
    1.支持大规模文件存储 : 文件以块为单位进行存储,一个大规模文件可以被分拆成若干个文件块,不同的文件块可以被分发到不同的节点上,因此,一个文件的大小不会受到单个节点的存储容量的限制,可以远远大于网络中任意节点的存储容量
    2.简化系统设置 : 因为文件块大小是固定的,这样就可以很容易计算出一个节点可以存储多少文件块;其次,方便了元数据的管理,元数据不需要和文件块一起存储,可以由其他系统负责管理元数据
    3.适合数据备份 : 每个文件块都可以冗余存储到多个节点上,大大提高了系统的容错性和可用性


    名称节点最主要功能:名称节点记录了每个文件中各个块所在的数据节点的位置信息

    名称节点(NameNode)与DataNode的功能:


    在HDFS中,名称节点(NameNode)负责管理分布式文件系统的命名空间(Namespace),保存了两个核心的数据结构,即FsImage和EditLog
    FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据
    操作日志文件EditLog中记录了所有针对文件的创建、删除、重命名等操作

    名称节点的启动:
    1.在启动时,系统会将FsImage中的内容加载到内存中去,之后再执行EditLog中的操作,使得内存中的数据和实际同步,存在内存中的支持客户端的读。
    2.一旦在内存中成功建立文件系统元数据的映射,则创建一个新的FsImage文件和一个空的EditLog文件
    3.名称节点起来之后,HDFS中的更新操作会重新写到EditLog文件中,因为FsImage文件一般都很大(GB级别的很常见),
    如果所有的更新操作都往FsImage文件中添加,这样会导致系统运行的十分缓慢,但是,如果往EditLog文件里面写就不会这样,
    因为EditLog 要小很多。每次执行写操作之后,且在向客户端发送成功代码之前,edits文件都需要同步更新

    但为了防止EditLog过大的问题:引入了第二名称节点(SecondaryNameNode)
    第二名称节点:是HDFS架构中的一个组成部分,它是用来保存名称节点中对HDFS 元数据信息的备份,并减少名称节点重启的时间。
    SecondaryNameNode一般是单独运行在一台机器上

    SecondaryNameNode让EditLog变小的工作流程:
    (1)SecondaryNameNode会定期和NameNode通信,请求其停止使用EditLog文件,暂时将新的写操作写到一个新的文件edit.new上来,这个操作是瞬间完成,上层写日志的函数完全感觉不到差别;
    (2)SecondaryNameNode通过HTTP GET方式从NameNode上获取到FsImage和EditLog文件,并下载到本地的相应目录下;
    (3)SecondaryNameNode将下载下来的FsImage载入到内存,然后一条一条地执行EditLog文件中的各项更新操作,使得内存中的FsImage保持最新;这个过程就是EditLog和FsImage文件合并;
    (4)SecondaryNameNode执行完(3)操作之后,会通过post方式将新的FsImage文件发送到NameNode节点上
    (5)NameNode将从SecondaryNameNode接收到的新的FsImage替换旧的FsImage文件,同时将edit.new替换EditLog文件,通过这个过程EditLog就变小了

    工作流程图:


    DataNode:数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发送自己所存储的块的列表

    即HDFS需要实现的方面:
    1.兼容廉价的硬件设备
    2.流数据读写
    3.大数据集
    4.简单的文件模型
    5.强大的跨平台兼容性
    但这样面临的局限性:
    1.不适合低延迟数据访问
    2.无法高效存储大量小文件
    3.不支持多用户写入及任意修改文件
     

    展开全文
  • Appium自动化中,有个方法可以获取这个一个父节点下面的所有兄弟节点,可以根据这个父节点找到同等级的兄弟节点。我知道方法是UiSelector.childSelector或UiObject.getChild方法,但是有一个问题就是,为什么我定义...
  • 当pxc所有节点都突然挂了,或者使用单节点的容器隔离搭建的集群,突然出现故障导致集群无法自动重启 此时你就需要重启集群了,在启动之前需要删除或者重命名4个文件 需要找数据库存放数据的目录,一般用docker都会...

    当pxc所有节点都突然挂了,或者使用单节点的容器隔离搭建的集群,突然出现故障导致集群无法自动重启

    此时你就需要重启集群了,在启动之前需要删除或者重命名4个文件

    需要找数据库存放数据的目录,一般用docker都会创建数据卷,进入数据卷的_data目录进行重命名


    cd /var/lib/docker/volumes/v1/_data

     备份

    mv grastate.dat grastate.dat.back
    mv galera.cache galera.cache.back
    mv grastate.dat grastate.dat.back

    如果是Ubuntu则将ubuntu.pid重命名或者删除

    mv ubuntu.pid ubuntu.pid.back

    然后启动第一个节点  需要自己修改对应参数  比如数据卷、root密码、集群加入密码、节点名

    docker run -d -e MYSQL_ROOT_PASSWORD=123456 \
          -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 \
          -v v1:/var/lib/mysql -v backup:/data \
          --privileged --name=node1 --network=host  --restart=always pxc

    后面两个节点不用和节点一一样删除4个文件,pxc集群只要有一个节点存在都运行动态加入节点 

    接着启动第二个节点

    docker run -d -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=192.168.117.230 -v v2:/var/lib/mysql -v backup:/data --privileged --name=node2 --net=host --restart=always pxc

     接着启动第三个节点

    docker run -d -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=192.168.117.230 -v v3:/var/lib/mysql -v backup:/data --privileged --name=node3 --net=host --restart=always pxc

     

    展开全文
  • 比特币网络是一个P2P的网络,网络中不同节点互为对等关系,每个节点可能具有不同的功能。一共分为四个部分:节点路由、区块链数据库、挖矿、钱包服务。 四个功能:节点路由、区块链数据库、挖矿、钱包服务 节点...
  • JS获取子节点、父节点和兄弟节点的若干种方式

    万次阅读 多人点赞 2017-07-22 16:50:49
    一、js获取子节点的方式1.通过获取dom方式直接获取子节点其中test的父标签id的值,div为标签的名字。getElementsByTagName是一个方法。返回的是一个数组。在访问的时候要按数组的形式访问。var a = document....
  • 在一个单链表中,若删除p指向节点的后继节点,则执行的操作为:( ) A.q=p->next; p->next=p->next->next; free(q) B.p=p->next; q=p->next;p=q->next; free(q) C.q=p->next->next; p=p-...
  • 如上所示 某一个xml文件中存在如上类似的节点内容,这个节点内容上面有不确定多少个父节点, SelectNodes("book"); 是无法定位到此节点下的子节点集合的, 有什么方法或者能精确定位到所有book节点内所有子节点...
  • 关于原生JS获取节点,一直是个头疼的问题,而且调用方法的名字又贼长了,所以我选择用JQ,好像跑题了-- 话不多说看代码 获取父节点 及 父节点下所有子节点(兄弟节点) &lt;ul&gt; &lt;li&gt...
  • HDFS新增节点与删除节点

    万次阅读 2019-11-06 21:47:56
    准备工作: ...1.1 在主节点创建dfs.hosts文件 在node01也就是namenode所在的机器的/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目录下 添加如下主机名称(包含新服役的节点) [root@node01 Hadoo...
  • k8s节点STATUS始终为NoReady的解决方法

    万次阅读 2020-09-16 16:51:15
    这里先讲一下我遇到的情况 我使用的是Vmware的克隆功能,...因此再次启动集群的时候由于k8s-node1节点中/etc/hostname文件内容和集群名同名(或者和集群中节点主机同名),导致该节点加入不了集群中,解决办法 永久修
  • 节点变成了文件夹的图标 但是新增的节点没有出来 ``` if (editingId != undefined){ $('#tg').treegrid('select', editingId); return; } var rows = $('#tg').treegrid('getChildren'); editingId = ...
  • jQuery获取节点和子节点文本

    千次阅读 2014-07-20 22:53:20
    获取节点文本$('#id').text()
  • 一,js 获取元素(父节点,子节点,兄弟节点)  var test = document.getElementById("test");  var parent = test.parentNode; // 父节点  var chils = test.childNodes; // 全部子节点  var first = test....
  • 如何 使二级节点 不允许拖拽到一级节点? 刚接触vue Element,求大神告知 ![图片说明](https://img-ask.csdn.net/upload/201808/09/1533796305_717885.png)
  • <span @click="getClickInfo(event)"> </span> getClickInfo: function (e) { let clickDom = e.currentTarget; // currentTarget 获取绑定点击事件的节点 ...
  • 元素节点 元素标记名/节点名称, 相当于tagName .属性节点 属性节点返回属性名, 文本节点 文本节点返回#text。nodeName,是只读的。 2 .nodeType 1,元素节点; 2,属性节点; 3,文本节点。nodeType是...
  • 当我点击1-3这个父节点 查找子节点下pk_ID 关联的表 hv_PartsInputSub mainID 的所有数据 (不用精确到子节点 【场地】点击 才根据 mainid 查询到数据) ![图片说明]...
  • 节点,子节点,叶节点

    千次阅读 2019-04-22 23:44:30
    节点:树的最顶端的节点节点:除根节点之外,并且本身下面还连接有节点节点节点:本身下面不再连接有节点节点,即末端
  • 今天在做一个项目拿兄弟节点的事,刚开始拿不到,后来网上查了一下,于是 便找到方法了,下面把我的问题写出来,话不多说直接上问题, 遇到的问题是我要通过点击删除按钮删除这一行数据,后端给的接口要传的参数...
  • 节点父、子和同胞 节点树中的节点彼此拥有层级关系。 ...父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。...在节点树中,顶端节点被称为根(root)每个节点都有父节点、除
  • jquery 获取元素(父节点,子节点,兄弟节点)

    万次阅读 多人点赞 2019-05-10 15:33:01
    费话不多说,直接上代码 ... // 父节点 $("#test1").parents(); // 全部父节点 $("#test1").parents(".mui-content");//返回class为mui-content的父节点 $("#test").children(); // 全部子节点 $("#test").children(...
  • 获取父节点、祖先节点: 1. parents([selector]) 本方法用于选择给定 jQuery 对象中包含的 DOM 元素或者 DOM 元素集的祖先节点,并将这些节点包装成 jQuery 对象返回,返回的节点集是以从里到外的顺序排序的。同时...
  • //该方法会删除当前节点下的所有子节点,请注意当前节点不会 被删除 $().remove(); //该方法会删除当前节点下的所有子节点,请注意 当前节点会 被删除 $().append('something') //该方法在当前节点的末尾 ...
  • HDFS主要节点讲解(一)节点功能

    千次阅读 2014-05-27 16:08:59
    简单明了的介绍下HDFS几个节点
  • 我们这里所说的获取元素节点的所有子节点包含元素子节点和文本节点两种。还是拿上一篇博文的代码实例进行 分析: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
  • ## 获取了当前获得焦点的节点,怎么着它的父节点比较简单呢。 求大神来两句代码。利用 parentNode 这个属性获取的是一个 TreeListNode对象,为什么里面找不出父节点的参数值呢
  • 1、removeChild() 用来删除父节点的一个子节点。 parent.removeChild(childNode); 如下: 这是一个段落 第二个段落 var box=document.getElementById("box"); //找到父元素

空空如也

1 2 3 4 5 ... 20
收藏数 598,369
精华内容 239,347
关键字:

节点