zoukankan      html  css  js  c++  java
  • Maven私服和机架感知黑白名单

    Maven: 构建工具(build):打包,导包,版本控制

    mvn clean: 删除target文件夹
    compile: 编译
    package: 打包
    mvn archetype:generate //生成项目骨架

    maven的三级定位:
    groupId //org.apache.hadoop
    artifactId //hadoop-client(包名后缀) project名称
    version //2.7.3


    settings.xml //maven的conf文件

    maven的仓库:jar包汇总
    1、中央仓库 //apache官方仓库 repo.maven.apache.org
    2、镜像仓库 //同步官方仓库的仓库 maven.aliyun.com
    3、私服 //私人仓库服务器 localhost:8080/nexus
    4、本地仓库 // 通过磁盘进行传输

    仓库的优缺点: 1、中央仓库 //jar最全 访问下载速度慢 (默认) 2、镜像仓库 //jar比中央仓库少 访问下载速度快 3、私服 //jar最少 访问下载速度极快(局域网) 可以自定义jar


    配置settings.xml,手动设置本地仓库位置
    第53行: localRepository从注释中拷贝出来,并配置成用户自定义路径,并将其放在C:/users/.m2文件夹里

    <localRepository>E:/Program/apache-maven-3.3.9/repository</localRepository>



    配置maven私服:
      1、配置tomcat:解压并配置环境变量
      CATALINA_HOME=
      PATH=
      2、cmd下输入startup.bat

      3、关闭tomcat:shutdown.bat/ctrl+c

      4、将nexus.war放置在tomcat家目录的webapps下

      5、启动tomcat令其部署,直到输入localhost:8080/nexus成功即可关闭tomcat

      6、删除nexus.war文件,避免开启tomcat自动部署

    7、修改nexus配置文件
      tomcat家目录的webapps exusWEB-INFclasses exus.properties

    修改:
      nexus-work=E:/Program/apache-tomcat-8.5.15/nexus/

    8、移动${user.home}/sonatype-works/nexus到上一部修改的目录下

    9、在central仓库中添加文件
      E:Programapache-tomcat-8.5.15 exusstoragecentral
      将本地仓库所有文件剪切到此目录

    10、启动tomcat,并输入网址,查看仓库文件是否存在


    11、将tomcat安装为windows服务
      service.bat install

    12、在服务中设置开机启动即可


    配置maven使用私服:

    节点的退役和服役: slaves文件起到通过ssh命令启动某进程的作用

    所以通过黑白名单的方式可以指定datanode节点属于哪个集群

    dfs.hosts //白名单:指定某主机可以连接namenode
    dfs.hosts.exclude //黑名单:指定某主机不可以连接namenode

    //修改hdfs-site.xml
    <property>
    <name>dfs.hosts</name>
    <value>/soft/hadoop/etc/hadoop/hosts_allow</value>
    </property>

    <property>
    <name>dfs.hosts.exclude</name>
    <value>/soft/hadoop/etc/hadoop/hosts_deny</value>
    </property>

    //创建配置文件制定的两个文件,并自定义主机名配置

    //修改完成后在s101刷新节点配置
    hdfs dfsadmin -refreshNodes


    include exclude
    102 yes yes //处于退役状态(和其他节点同步数据)
    103 yes no //正常
    104 no yes //进程会关闭
    105 no no //若slave文件指定主机名,则能正常启动


    hdfs的机架感知:

    网络拓扑距离:ip被转发的距离

    distance(/d1/r1/n1, /d1/r1/n1)=0 //同一节点进程
    distance(/d1/r1/n1, /d1/r1/n2)=2 //同一机架不同节点
    distance(/d1/r1/n1, /d1/r2/n3)=4 //不同机架不同节点
    distance(/d1/r1/n1, /d2/r3/n4)=6 //不同数据中心的节点


    datanode的副本放置策略:
      客户端在本地机架存放第一个副本
      第二个机架一个节点存放第二个副本
      第二个机架另一个节点存放第三个副本


    s101-s103: /rack1/s101,/rack1/s102,/rack1/s103
    s104-s105: /rack2/s104,/rack2/s105

    //修改core-site.xml
    <property>
    <name>net.topology.node.switch.mapping.impl</name>
    <value>com.oldboy.hdfs.RackAware</value>
    </property>


    验证方式:
      0、使用四个datanode
      1、使用jar或者将代码打成jar,放在s101的/soft/hadoop/share/hadoop/common/lib
      2、使用脚本同步文件到其他节点
        xsync.sh /soft/hadoop/share/hadoop/common/lib/myhadoop-1.0-SNAPSHOT.jar
      3、配置core-site.xml
        <property>
        <name>net.topology.node.switch.mapping.impl</name>
        <value>com.oldboy.hdfs.RackAware</value>
        </property>
    4、启动hdfs

  • 相关阅读:
    一些用位运算解决的方法
    代码之美中的二分搜索算法Java版
    Connection listeners: accepting TCP connections 翻译
    Android网络编程1
    HelloWorldForU 九度Online Judge
    Ubuntu下设置默认java
    分享一个libevent server——cliserver
    编程原则
    hive迁移hadoop namenode时遇到的问题
    python for语句
  • 原文地址:https://www.cnblogs.com/zyde/p/8899967.html
Copyright © 2011-2022 走看看