Hadoop HDFS 搭建

本文详细介绍了如何搭建Hadoop的HDFS,包括安装JDK、配置环境变量、安装Hadoop、设置SSH免密登录、修改机器名和IP映射、配置Hadoop文件、格式化HDFS、启动和验证HDFS服务,以及解决启动警告的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:
     ( 1) 1个文件会被拆分成多个(默认3份)Block,每个Block 默认128M
     (2) 
        a. NameNode:负责客户端请求的响应、负责元数据(文件的名称、副本系数、Block存放的DN)的管理
        b.DataNode:存储用户的文件对应的数据块(Block)、要定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况
步骤:
【1】安装jdk
     下载 并解压到app目录:tar -zxvf jdk-8u171-linux-x64.tar.gz -C /www/instl
   配置到系统环境变量(/etc/profile)中

  export JAVA_HOME=/www/instl/jdk/jdk1.8.0_171
  export PATH=$JAVA_HOME/bin:$PATH

   生效   source /etc/profile
   验证安装是否成功:java -version

【2】 下载并解压Hadoop到/www/instl/hadoop/hadoop-2.6.0-cdh5.7.0
        地址: http://archive.cloudera.com/cdh5/cdh/5/     版本: 2.6.0-cdh5.7.0

[root@dnsdomainname /]#  tar -zxvf  hadoop-2.6.0-cdh5.7.0.tar.gz  -C  /www/instl/hadoop/
    配置到系统环境变量(/etc/profile)中

  export HADOOP_HOME=/www/instl/hadoop/hadoop-2.6.0-cdh5.7.0
  export PATH=$ HADOOP_HOME /bin:$PATH
    生效   source /etc/profile
【3】安装ssh并免密码登录(一路回车)
  [root@dnsdomainname /]#  sudo yum install ssh
  [root@dnsdomainname /]#  ssh-keygen -t rsa
  [root@dnsdomainname /]# cp ~/.ssh/id_rsa.pub  ~/.ssh/authorized_keys  
【4】机器参数设置 hostname: hadoop000
    
        a. 修改机器名: /etc/sysconfig/network  

NETWORKING=yes
HOSTNAME=hadoop000
        b. 设置ip和hostname的映射关系: /etc/hosts    
172.21.0.16  hadoop000
127.0.0.1 localhost
       source 使之生效

【6】Hadoop配置文件修改:  /www/instl/hadoop/hadoop-2.6.0-cdh5.7.0/etc/hadoop
  
     hadoop-env.sh
 export JAVA_HOME=/www/instl/jdk/jdk1.8.0_171
    core-site.xml
<property>
       <name>fs.defaultFS</name>
       <value> hdfs:// hadoop000 :8020</value>
</property>
<property>
       <name>hadoop.tmp.dir</name>
        <value>/www/instl/hadoop/tmp</value>
</property>    
hdfs-site.xml
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
<property>
        <name>dfs.permissions</name>
        <value>false</value>
</property>
【7】格式化HDFS
     注意:这一步操作,只是在第一次时执行,每次如果都格式化的话,那么HDFS上的数据就会被清空。在/www/instl/hadoop/hadoop-2.6.0-cdh5.7.0/bin 下
 [root@dnsdomainname bin]# ./hdfs namenode -format
【8】启动HDFS。
        在 /www/instl/hadoop/hadoop-2.6.0-cdh5.7.0/sbin 下
 [root@dnsdomainname sbin]# ./start-dfs.sh
 【9】 验证是否启动成功: 
       (1)方式1:命令 : jps  。
        存在三个节点进程即成功DataNode、 SecondaryNameNode、 NameNode
        (2)方式2:  浏览器: http://hadoop000:50070/


【10】停止HDFS
    /www/instl/hadoop/hadoop-2.6.0-cdh5.7.0/sbin 下

[root@dnsdomainname sbin]#   ./stop-dfs.sh

三、Yarn 服务
        参考 Hadoop YARN 搭建

三、版本配置引入

    安装hadoop启动之后总有警告:Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
原因1: Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。(该警告可忽略)
解决方法步骤:
     1、首先找到对应自己hadoop版本的64位的lib包,可以自己手动去编译,但比较麻烦,也可以去网上找,好多都有已经编译好了的。
     2、可以去网站: http://dl.bintray.com/sequenceiq/sequenceiq-bin/   下载对应的编译版本
     3、将准备好的64位的lib包解压到已经安装好的hadoop安装目录的lib/native 和 lib目录下:
     4、    

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native  
 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

  原因2:warning解决产生这个warning的原因是apache hadoop2.7需要使用2.1.4的glibc而我们云主机操作系统的lib是2.1.2
 解决方法步骤:
    1.    # ll /lib64/libc.so.6    //查看当前系统glibc版本
            $ export HADOOP_ROOT_LOGGER=DEBUG,console
            hadoop fs -ls /
            此事会输出debug信息,看到warning找出hadoop需要的glibc版本
    2. 找到对应版本的glibc,下载对应版本的glibc安装
            下载地址: http://ftp.gnu.org/gnu/glibc/
    3、配置命令

[root@node1 ~]# export CFLAGS="-g -O2"
[root@node1 ~]# ./glibc-2.14.1/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@node1 ~]# make
[root@node1 ~]# make install



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野狼e族

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值