zoukankan      html  css  js  c++  java
  • 搭建HDFS集群

    hdfs集群组成结构:

    安装hdfs集群的具体步骤:

    1、学习阶段,用虚拟机即可!

    先准备4台虚拟机:1namenode节点  + 3 datanode 节点

    2、修改各台机器的主机名和ip地址

    主机名:hdp-01  对应的ip地址:192.168.33.61

    主机名:hdp-02  对应的ip地址:192.168.33.62

    主机名:hdp-03  对应的ip地址:192.168.33.63

    主机名:hdp-04  对应的ip地址:192.168.33.64

     

    Vi /etc/udev/rules.d/70-persistent-net.rules

    Vi /etc/sysconfig/network-scripts/ifcfg-eth0

    Vi /etc/sysconfig/network

    IPADDR=192.168.133.1X

    GATWAY=192.168.133.1

    NETMASK=255.255.255.0

    DNS1=192.168.133.1

    3、windows中用CRT软件进行远程连接

    windows中将各台linux机器的主机名配置到的windows的本地域名映射文件中:

    c:/windows/system32/drivers/etc/hosts

    192.168.33.61 hdp-01

    192.168.33.62 hdp-02

    192.168.33.63 hdp-03

    192.168.33.64 hdp-04

    4、配置linux服务器的基础软件环境

    防火墙

    关闭防火墙:service iptables stop  

    关闭防火墙自启: chkconfig iptables off

    安装jdk:(hadoop体系中的各软件都是java开发的)

    1) 利用alt+p 打开sftp窗口,然后将jdk压缩包拖入sftp窗口

    2) 然后在linux中将jdk压缩包解压到/root/apps

    3) 配置环境变量:JAVA_HOME   PATH

    vi /etc/profile   在文件的最后,加入:

    export JAVA_HOME=/root/apps/jdk1.8.0_60

    export PATH=$PATH:$JAVA_HOME/bin

    1) 修改完成后,记得 source /etc/profile使配置生效

    2) 检验:在任意目录下输入命令: java -version 看是否成功执行

    3) 将安装好的jdk目录用scp命令拷贝到其他机器

    /etc/profile配置文件也用scp命令拷贝到其他机器并分别执行source命令

    集群内主机的域名映射配置

    hdp-01上,vi /etc/hosts

     

    192.168.33.61   hdp-01

     

    192.168.33.62   hdp-02

     

    192.168.33.63   hdp-03

     

    192.168.33.64   hdp-04

    然后,将hosts文件拷贝到集群中的所有其他机器上

    scp /etc/hosts hdp-02:/etc/

    scp /etc/hosts hdp-03:/etc/

    scp /etc/hosts hdp-04:/etc/

    5、安装HDFS集群

    1)上传HADOOP到hdp-01

    2)修改配置文件

    核心配置参数:

    1) 指定hadoop的默认文件系统为:hdfs

    2) 指定hdfsnamenode节点为哪台机器

    3) 指定namenode软件存储元数据的本地目录

    4)指定datanode软件存放文件块的本地目录

    hadoop的配置文件在:/root/apps/hadoop安装目录/etc/hadoop/

    1) 修改hadoop-env.sh

    export JAVA_HOME=/root/apps/jdk1.8.0_60

    2) 修改core-site.xml

    <configuration>

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://hdp-01:9000</value>

    </property>

    </configuration>

    3) 修改hdfs-site.xml

    <configuration>

    <property>

    <name>dfs.namenode.name.dir</name>

    <value>/root/hdpdata/name/</value>

    </property>

     

    <property>

    <name>dfs.datanode.data.dir</name>

    <value>/root/hdpdata/data</value>

    </property>

     

    <property>

    <name>dfs.namenode.secondary.http-address</name>

    <value>hdp-02:50090</value>

    </property>

     

    </configuration>

    4) 拷贝整个hadoop安装目录到其他机器

    scp -r /root/apps/hadoop-2.8.1  hdp-02:/root/apps/

    scp -r /root/apps/hadoop-2.8.1  hdp-03:/root/apps/

    scp -r /root/apps/hadoop-2.8.1  hdp-04:/root/apps/

    5) 启动HDFS

    所谓的启动HDFS,就是在对的机器上启动对的软件

     

    要运行hadoop的命令,需要在linux环境中配置HADOOP_HOMEPATH环境变量

     

    vi /etc/profile

    export JAVA_HOME=/root/apps/jdk1.8.0_60

    export HADOOP_HOME=/root/apps/hadoop-2.8.1

    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    首先,初始化namenode的元数据目录

    要在hdp-01上执行hadoop的一个命令来初始化namenode的元数据存储目录

    hadoop namenode -format

    创建一个全新的元数据存储目录

    生成记录元数据的文件fsimage

    生成集群的相关标识:如:集群id——clusterID

     

    然后,启动namenode进程(在hdp-01上)

     

    hadoop-daemon.sh start namenode

     

    启动完后,首先用jps查看一下namenode的进程是否存在

     

     

     

    然后,在windows中用浏览器访问namenode提供的web端口:50070

     

    http://hdp-01:50070

     

     

     

    然后,启动众datanode们(在任意地方)

     

    hadoop-daemon.sh start datanode

    6) 用自动批量启动脚本来启动HDFS

    1) 先配置hdp-01到集群中所有机器(包含自己)的免密登陆

    2) 配完免密后,可以执行一次  ssh 0.0.0.0

    3)修改hadoop安装目录中/etc/hadoop/slaves(把需要启动datanode进程的节点列入)

    hdp-01

    hdp-02

    hdp-03

    hdp-04

    4) hdp-01上用脚本:start-dfs.sh 来自动启动整个集群

    5) 如果要停止,则用脚本:stop-dfs.sh

     

     

     

  • 相关阅读:
    webclassify 用于网页分类的python工具包
    基于Web 开发模式的信息抽取
    携梦远行 » curl 抓取跳转内容
    CharField cannot have a "max_length" greater than 255 when using "unique=True" Google Groups
    并发编程利器Eventlet
    ANSI colored Python logging — Gist
    Fabulous — fabulous v0.1.5 documentation
    让你的博客支持MetaWeblog离线发布_维护记录 站点功能_DangJian's Blog
    Plumber Jack: Colourising logging output in terminals
    ajax客户端与服务端传输字符串
  • 原文地址:https://www.cnblogs.com/djh222/p/11155211.html
Copyright © 2011-2022 走看看