设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

Ubuntu上使用Hadoop 2.x 六 HDFS cluster搭建

2014-3-11 13:36| 发布者: 红黑魂| 查看: 2909| 评论: 0|来自: CSDN

摘要: 准备多个虚拟机将前文Ubuntu上使用Hadoop 2.x 四 Multi-node cluster 基本设置的hd1虚拟机hostname修改为namenode, IP: 192.168.1.71然后以此克隆出虚拟机hd2,hostname名为resourcemanager, IP: 192.168.1.72, 然后 ...

准备多个虚拟机

将前文Ubuntu上使用Hadoop 2.x 四 Multi-node cluster 基本设置的hd1虚拟机hostname修改为namenode, IP: 192.168.1.71

然后以此克隆出虚拟机hd2,hostname名为resourcemanager, IP: 192.168.1.72, 然后继续克隆出datanode1, datanode2和datanode3

resourcemanager本文没有用到,可以忽略。

VM name: hd1
hostname: namenode
IP: 192.168.1.71
VM name: hd2
hostname: resourcemanager
IP: 192.168.1.72
VM name: hd3
hostname: datanode1
IP: 192.168.1.73
VM name: hd4
hostname: datanode2
IP: 192.168.1.74
VM name: hd5
hostname: datanode3
IP: 192.168.1.75

配置/etc/hosts

同时在所有相关系统的/etc/hosts文件中添加下面一段配置:

  1. #hdfs cluster                                                                      
  2. 192.168.1.71 namenode  
  3. 192.168.1.72 resourcemanager  
  4. 192.168.1.73 datanode1  
  5. 192.168.1.74 datanode2  
  6. 192.168.1.75 datanode3  


设置namenode server

core-site.xml

现在设置namenode,用hduser登录后,修改/usr/local/hadoop/etc/hadoop/core-site.xml文件如下:

  1. <configuration>  
  2.   <property>  
  3.     <name>fs.default.namename>  
  4.     <value>hdfs://namenode:9000value>  
  5.   property>  
  6.   <property>  
  7.     <name>io.file.buffer.sizename>  
  8.     <value>131072value>  
  9.   property>  
  10. configuration>  

说明:

1. 分布式系统中必须用hostname而不是localhost来设置namenode的URI,就像上面第一个property的配置

namenode因为已经添加了/etc/hosts的那段配置,所以应该能够找到自己的IP: 192.168.1.71

2. io.file.buffer.size设置成比默认值4096字节(4K)大的131072(128K),也就是说每次传递的文件字节数多很多。适合于大型分布式HDFS系统,减少IO次数,提高传输效率。

3. core-site.xml的设置适用于所有5台server。


hdfs-site.xml

好,现在配置namenode上的hdfs-site.xml,参考官方文档:

Configurations for NameNode:

我的配置如下:

  1. <configuration>  
  2.   <property>  
  3.     <name>dfs.replicationname>  
  4.     <value>3value>  
  5.   property>  
  6.   <property>  
  7.     <name>dfs.namenode.name.dirname>  
  8.     <value>file:/home/hduser/mydata/hdfs/namenodevalue>  
  9.   property>  
  10.   <property>  
  11.     <name>dfs.namenode.hostsname>  
  12.     <value>datanode1,datanode2,datanode3value>  
  13.   property>  
  14.   <property>  
  15.     <name>dfs.blocksizename>  
  16.     <value>268435456value>  
  17.   property>  
  18.   <property>  
  19.     <name>dfs.namenode.handler.countname>  
  20.     <value>100value>  
  21.   property>  
  22. configuration>  

说明:

1. 第一个是文件复制的数目,有3份拷贝,这是默认值,写在这里只是为了说明

2. 第二个是namenode元数据文件存放目录

当然要确保目录已经创建:

  1. mkdir -p /home/hduser/mydata/hdfs/namenode  

3. 第三个是datanode的hostname列表。

4. 第四个是block大小,适合大文件

5. 第五个是namenode的RPC服务的线程数目

设置datanode server

好,配置完namenode后,开始配置三个datanode server,在使用了相同的/etc/hosts中的配置后,使用了相同的core-site.xml文件配置后,现在配置hdfs-site.xml文件

  1. mkdir -p /home/hduser/mydata/hdfs/datanode  

  1. <configuration>  
  2.   <property>  
  3.     <name>dfs.datanode.data.dirname>  
  4.     <value>file:/home/hduser/mydata/hdfs/datanodevalue>  
  5.   property>  
  6. configuration>  


启动server

首先在namenode上格式化文件系统
  1. hdfs namenode -format  
启动namenode service
  1. hduser@namenode:~$ hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start namenode  
  2. starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-namenode.out  

然后分别到每一个datanode server上执行命令启动datanode service
  1. hduser@datanode1:~$ hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanode  
  2. starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-datanode1.out  

  1. hduser@datanode2:~$ hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanode  
  2. starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-datanode2.out  

  1. hduser@datanode3:~$ hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanode  
  2. starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-datanode3.out  

好,目前一个namenode, 3个datanode全部已经启动。后面的文章将进行测试和优化。

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部