将前文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本文没有用到,可以忽略。
同时在所有相关系统的/etc/hosts文件中添加下面一段配置:
#hdfs cluster 192.168.1.71 namenode 192.168.1.72 resourcemanager 192.168.1.73 datanode1 192.168.1.74 datanode2 192.168.1.75 datanode3
现在设置namenode,用hduser登录后,修改/usr/local/hadoop/etc/hadoop/core-site.xml文件如下:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://namenode:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> </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。
好,现在配置namenode上的hdfs-site.xml,参考官方文档:
Configurations for NameNode:
Parameter | Value | Notes |
---|---|---|
dfs.namenode.name.dir | Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently. | If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy. |
dfs.namenode.hosts /dfs.namenode.hosts.exclude | List of permitted/excluded DataNodes. | If necessary, use these files to control the list of allowable datanodes. |
dfs.blocksize | 268435456 | HDFS blocksize of 256MB for large file-systems. |
dfs.namenode.handler.count | 100 | More NameNode server threads to handle RPCs from large number of DataNodes. |
我的配置如下:
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hduser/mydata/hdfs/namenode</value> </property> <property> <name>dfs.namenode.hosts</name> <value>datanode1,datanode2,datanode3</value> </property> <property> <name>dfs.blocksize</name> <value>268435456</value> </property> <property> <name>dfs.namenode.handler.count</name> <value>100</value> </property> </configuration>
说明:
1. 第一个是文件复制的数目,有3份拷贝,这是默认值,写在这里只是为了说明
2. 第二个是namenode元数据文件存放目录
当然要确保目录已经创建:
mkdir -p /home/hduser/mydata/hdfs/namenode3. 第三个是datanode的hostname列表。
4. 第四个是block大小,适合大文件
5. 第五个是namenode的RPC服务的线程数目
好,配置完namenode后,开始配置三个datanode server,在使用了相同的/etc/hosts中的配置后,使用了相同的core-site.xml文件配置后,现在配置hdfs-site.xml文件
mkdir -p /home/hduser/mydata/hdfs/datanode
<configuration> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hduser/mydata/hdfs/datanode</value> </property> </configuration>
hdfs namenode -format启动namenode service
hduser@namenode:~$ hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start namenode starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-namenode.out
hduser@datanode1:~$ hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanode starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-datanode1.out
hduser@datanode2:~$ hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanode starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-datanode2.out
hduser@datanode3:~$ hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanode starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-datanode3.out
Ubuntu上使用Hadoop 2.x 六 HDFS cluster搭建,布布扣,bubuko.com
Ubuntu上使用Hadoop 2.x 六 HDFS cluster搭建
原文:http://blog.csdn.net/csfreebird/article/details/20801281