三台centOS搭建hadoop集群系统,把我遇到的坑都写下来

不分顺序

1,按照网上资料博客等配置完各种文件之后,启动namenode报错

ulimit -a for user root

这里我们直接重新格式化namenode,然后启动namenode就可以了

 hadoop namenode -format  

2,当我们将三台虚拟机按照桥接的方式来进行网络连接时,要在windows以及linux中的hosts文件中加入IP与主机名的映射,这样操作起来更方便,我们就需要为linux设置静态IP。设置静态IP无法联网的坑,如我上一篇博客所示。
CentOS 手动设置静态IP之后无法联网的问题解决办法

3,搭建集群时,我们成功让第一台虚拟机启动了namenode 以及 datanode,通过scp命令发送hadoop文件到另外两台虚拟机,但是另外两台虚拟机无法启动datanode,同样也是报ulimit -a for user root这个错误,这时我们使用ulimit -n 65535来试试,无效。
最后将hadoop安装目录下的logs里面日志全部清空,在开启一下datanode,直接定位到错误信息,是host访问error。原来是我们的/etc/hosts文件中没有将本虚拟机及ip的映射添加进去。
最后成功开启datanode。

4,当我们修改了hosts文件之后,需要用/etc/init.d/network restart命令去让网络设置生效,注意,这里要用

su

获得root权限,该条命令才会生效。

这里写图片描述

终于看到三个datanode显示在列表里了。。。

接下来进行测试,在每台虚拟机上都使用

bin/hdfs dfs -mkdir -p /user/zt/data

命令来在集群上创建一个文件夹,
通过点击上面导航栏的Utilities 然后选择 Browse the file system 查看分布式文件系统,看到了咱们的文件夹
这里写图片描述

最后上传文件,通过如下命令上传文件

bin/hdfs dfs -put README.txt /user/zt/data/

这里写图片描述

大功告成,可以看到这里的HDFS 默认的块大小是256M

至此,HDFS的搭建就告一段落了,

下面把我配置的hadoop-2.7.0/etc/hadoop/中有设置参数的地方贴出来:

1,core-site.xml

<configuration>
    <property>
    //这里是namenode的URI
        <name>fs.defaultFS</name>
        <value>hdfs://bigdata1:9000</value>
    </property>

    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/modules/hadoop-2.7.0</value>
    </property>

    <property>
    //可以通过httpfs接口hdfs的ip地址限制
               <name>hadoop.proxyuser.kafka.hosts</name>
               <value>*</value>
     </property>
     <property>
     //通过httpfs接口访问的用户获得的群组身份
               <name>hadoop.proxyuser.kafka.groups</name>
               <value>*</value>
       </property>

</configuration>

2,几个文件中要加入JAVA_HOME地址

3,

<configuration>
    <property>
    //hdfs副本数
        <name>dfs.replication</name>
        <value>2</value>
    </property>

    <property>
            //创建的hdfs分布式文件系统的访问地址,其中bigdata1为我的namenode主机的hostname
          <name>dfs.http.address</name>
          <value>bigdata1:50070</value>
    </property>

    <property>
        //hdfs中磁盘块的大小,默认256M
        <name>dfs.blocksize</name>
        <value>268435456</value>
    </property>

    <property>
        //namenode能同时处理的线程数量,当扩展集群时可以加大这个数
        <name>dfs.namenode.handler.count</name>
        <value>100</value>
    </property>

    <property> 
        <name>dfs.namenode.secondary.https-address</name> 
        <value>bigdata1:50091</value> 
    </property> 

    <property>
                //namenode本地磁盘目录
                <name>dfs.namenode.name.dir</name>
                 <value>file:/opt/modules/hadoop-2.7.0/dfs/name</value> 

     </property>
     <property>
                  //datanode本地磁盘目录
                  <name>dfs.datanode.data.dir</name>
                   <value>file:/opt/modules/hadoop-2.7.0/dfs/data</value>
     </property>

    <property>
                  <name>dfs.kafka.enabled</name>
                  <value>true</value>
    </property>


</configuration>

暂时贴到这里,明天继续配置yarn,搞起来!躁动起来!!!!

猜你喜欢

转载自blog.csdn.net/scuzoutao/article/details/81546269