zoukankan      html  css  js  c++  java
  • Hadoop-HDFS的伪分布式和完全分布式集群搭建

    Hadoop-HDFS
    HDFS伪分布式集群搭建步骤
    一、配置免密登录

    ssh-keygen -t rsa
    1
    一句话回车到底

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
    1
    跟随提示进行,一般需要yes确认之后输入一次密码就成功了
    如果没配置免密登录的话,会出现登录和退出HDFS时,所有节点都需要输一遍密码。(本人亲身实践,虽然还是启动成功了)

    二、上传jdk和hadoop压缩包
    可以使用ftp或者使用命令rz

    yum install lrzsz -y
    1
    三、解压jdk和hadoop压缩包
    建议可以解压到统一的目录下
    tar -zxvf 压缩包名
    四、配置环境变量

    export JAVA_HOME=/opt/software/jdk1.8.0_121
    export PATH=$PATH:$JAVA_HOME/bin
    1
    2
    必须让环境变量生效,代码如下:

    source /etc/profile
    1
    PS:用户变量 .bashrc
    系统变量 /etc/profile
    系统操作命令(文件的增删改查) bin
    系统管理命令(集群的启动、关闭) sbin
    hadoop配置信息 etc/hadoop
    五、修改配置文件
    ① slaves配置Datanode节点
    ② 修改hdfs-site.xml

    //设置备份个数
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    //secondaryNamenode
    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node01:50090</value>
    </property>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ③ 修改core-site.xml

    //namenode
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node01:9000</value>
    </property>
    //namenode启动后产生的信息
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/var/abc/hadoop/local</value>
    </property>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ④ 把*-env.sh的文件内部所有的java路径改为绝对路径
    六、格式化
    让所有文件生效,此命令在/opt/software/hadoop/bin目录下

    hdfs namenode -format
    1
    七、启动命令
    此命令在/opt/software/hadoop/sbin目录下

    ./start-dfs.sh
    1
    八、配置hadoop的环境变量
    配置完这两条环境变量之后,可以在任意目录下启动Hadoop集群

    export HADOOP_HOME=/opt/software/hadoop-2.6.5
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    1
    2
    九、操作HDFS文件系统
    创建根目录,首先要写换到hadoop的bin目录下

    ./hdfs dfs -mkdir -p /user/root
    1
    通过命令hdfs dfs -put 文件名或目录名,上传文件

    十、本人在配置时出现的一些问题
    /etc/hosts中的网络映射信息必须配置对
    配置完环境变量后必须使用source /ect/profile使它生效

    HDFS完全分布式集群配置
    我是这么做的:
    先克隆一台虚拟机,进行一下操作
    一、修改hdfs-site.xml配置文件
    value的数量不能超过节点数
    第二个property标签配置的是secondarynamenode,节点要和主节点Namenode不同

    <property>
    <name>dfs.replication</name>
    <value>3</value>
    </property>
    <property>

    <name>dfs.namenode.secondary.http-address</name>
    <value>node02:50090</value>
    </property>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    二、修改core-site.xml配置文件
    第一个property标签是配置主节点Namenode
    第二个property标签是配置集群启动时产生的信息

    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node01:9000</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/var/abc/hadoop/cluster</value>
    </property>
    1
    2
    3
    4
    5
    6
    7
    8
    三、修改slaves配置文件
    修改主节点的slaves配置文件如下

    node02
    node03
    node04
    1
    2
    3
    进行完这三个操作后再克隆三台虚拟机,然后配置各自的网络
    四、配置网络

    (之后补充)大概就是修改/ect/sysconfig/network的主机名,修改/ect/sysconfig/network-scripts/ifcfg-eth0中的IP地址,IPADDR修改为此虚拟机的IP,GATEWAY和DNS1为虚拟机的网关,DNS2随意,如下图也行,
    修改完成后使用命令service network restart重启网卡,如果还有问题就删掉第二行和地四行,删掉之后若还有问题,请自行百度

    ,删除rm -rf /etc/udev/rules.d/70-persistent-net.rules文件,重要的事情说三遍!
    重启虚拟机!!!!!!!!!!!!!!
    重启虚拟机!!!!!!!!!!!!!!
    重启虚拟机!!!!!!!!!!!!!!

    在各自的/ect/hosts目录下配置四台虚拟机的网络映射
    代码可以参照如下:
    注意:IP不可以冲突,必须每台虚拟机都配置

    192.168.145.131 node01
    192.168.145.132 node02
    192.168.145.133 node03
    192.168.145.134 node04
    1
    2
    3
    4
    五、格式化
    让所有文件生效,此命令在/opt/software/hadoop/bin目录下

    hdfs namenode -format
    1
    六、启动命令
    此命令在主节点/opt/software/hadoop/sbin目录下

    ./start-dfs.sh
    1

    ---------------------

  • 相关阅读:
    android openGL ES2 一切从绘制纹理開始
    HTML5 界面元素 Canvas 參考手冊
    python进阶十_正則表達式(一)
    HDU 3016 Man Down(线段树)
    android 自己定义dialog并实现失去焦点(背景透明)的功能
    上海传智程序员携手设计狮美女雨中烧烤!!
    vim visual操作备忘
    MySQl Study学习之--MySQl二进制日志管理
    Android View measure (三) 经常用法
    Analyze提示:Value stored to &quot;***&quot;is never read
  • 原文地址:https://www.cnblogs.com/ly570/p/11091183.html
Copyright © 2011-2022 走看看