将当前用户切换到hadoop用户,如果集群内机器的环境完全一样,可以在一台机器上配置好,然后把配置好的软件即hadoop-0.20.203整个文件夹拷贝到其他机器的相同位置即可。 可以将Master上的Hadoop通过scp拷贝到每一个Slave相同的目录下,同时根据每一个Slave的Java_HOME 的不同修改其hadoop-env.sh 。
5.1配置conf/hadoop-env.sh文件
切换到hadoop-1.2.1/conf目录下,添加JAVA_HOME路径
5.2配置/conf/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"href="https://www.linuxidc.com/configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://node1:49000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop_home/var</value>
</property>
</configuration>
fs.default.name是NameNode的URI。hdfs://主机名:端口/
hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。
5.3配置/conf/mapred-site.xml
<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl" href="https://www.linuxidc.com/configuration.xsl"?>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>node1:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/hadoop/hadoop_home/var</value>
</property>
</configuration>
mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。其中/home/hadoop/hadoop_home/var目录需要提前创建,并且注意用chown -R 命令来修改目录权限
5.4配置/conf/hdfs-site.xml
<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl" href="https://www.linuxidc.com/configuration.xsl"?>
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/name1</value> #hadoop的name目录路径
<description> </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/data1</value>
<description> </description>
</property>
<property>
<name>dfs.replication</name>
<!-- 我们的集群又两个结点,所以rep两份 -->
<value>2</value>
</property>
</configuration>
dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。
此处的name1和data1等目录不能提前创建,如果提前创建会出问题
5.5配置master和slaves主从节点
配置conf/masters和conf/slaves来设置主从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。
vi masters:
输入:
node1
vi slaves:
输入:
node2
node3
配置结束,把配置好的hadoop文件夹拷贝到其他集群的机器中,并且保证上面的配置对于其他机器而言正确,
scp -r /home/hadoop/hadoop-1.2.1 root@node2:/home/hadoop/ #输入node2的root密码即可传输,如果java安装路径不一样,需要修改conf/hadoop-env.sh
安装结束