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

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

  • 相关阅读:
    【西瓜书】周志华《机器学习》学习笔记与习题探讨(一)
    01-线性回归算法
    NumPy 字符串函数
    Numpy函数分类
    Excel一对多查询(index+small+if)
    支付机构MRC模
    数据分析方法论
    窗口函数/解析函数
    数据分析
    底层逻辑
  • 原文地址:https://www.cnblogs.com/ly570/p/11091183.html
Copyright © 2011-2022 走看看