不分顺序
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,搞起来!躁动起来!!!!