HDFS集群搭建

一、机器准备

假设我们已经准备好了6台,内存100G,硬盘2T容量的机器。

生产中我们最好不要使用全部的磁盘作为datanode的存储空间,以备不时之需。

计算NameNode内存占用量

前提:保守估计需要为每1百万个数据块分配1G内存

上面的集群为6个节点,每个节点的使用1.5T磁盘空间,数据块大小为128M,复本数为3的话,则约有2万个数据块(6 * 1500000(MB)/(128MB * 3)),内存占用不到1G,但是为了充分利用内存我们分配5G足够使用。

二、前置条件

  1. java 1.7或1.8 安装
  2. 各个机器间ssh打通(无密码免密码登陆)
    • 在每台机器上运行 ssh-keygen 命令
    • 将其他机器的 ~/.ssh/id_rsa.pub 文件内容添加到本机 ~/.ssh/authorized_keys 文件中

三、重要配置

环境相关

etc/hadoop/hadoop-env.sh 文件

hadoop-env.sh

.bash_profile文件

.bash_profile

通用配置

etc/hadoop/core-site.xml文件

core-site.xml

HDFS配置

etc/hadoop/hdfs-site.xml文件

hdfs-site.xml

DataNode机器列表

etc/hadoop/slaves文件

将六台机器的hostname添加进去即可

四、安装步骤

  1. 下载

  2. 配置文件准备

    • 安装上面的配置项,修改hadoop的配置文件即可
  3. 格式化namenode

    • $HADOOP_HOME/bin/hdfs namenode -format clusterName
  4. 启动HDFS

    • $HADOOP_HOME/sbin/start-dfs.sh

    • 脚本做的事情:

      • 在每台机器上启动一个namenode,这些机器由执行 hdfs getconf -namenodes得到的返回值确定
      • 在slaves文件列举的每台机器上启动一个datanode
      • 在每台机器上启动一个secondarynamenode,这些机器由执行 hdfs getconf -secondarynamenodes 得到的返回值确定
  5. Web页面

    • http://namenode:8411/

停止HDFS命令 $HADOOP_HOME/sbin/stop-dfs.sh

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看到题目有没有一种高大上的感觉?毛线,当前是个人、是个公司都在说自己搞大数据,每天没有几个PB的数据入库,每天没有...
    丁小晶的晶小丁阅读 9,988评论 0 50
  • 首先,我们在使用前先看看HDFS是什麽?这将有助于我们是以后的运维使用和故障排除思路的获得。 HDFS采用mast...
    W_Bousquet阅读 9,739评论 0 2
  • 首先 先看一篇已经非常完备的阿里云搭建hadoop集群的文章,我也是参考这篇文章来的。 我们前期在阿里云的机器一...
    Helen_Cat阅读 9,866评论 0 4
  • 一晃两三年、匆匆又冬天、冬天将至的夜、总是那么安详、街上的人群渐渐散去、冰冷的空气在身边肆意掠过、路灯依旧安静的工...
    陈琳琳阅读 975评论 0 0
  • 最近医院开年会,要求每个人都要按时到达,按时离场,每个部门都要出表演节目。本以为部门里的妹子多,可自行解决,轮不到...
    疾风如沙阅读 3,826评论 0 0