hadoop1.1.2集群详细安装实例(二)

2014-06-04
  • 803
  • 0
为要选择使用hadoop1,可以去看看51cto向磊的博客http://slaytanic.blog.51cto.com/2057708/1397396,就是因为产品比较成熟,稳定。

开始安装:

[root@master opt]# ls
hadoop-1.1.2.tar.gz 
hbase-0.96.1.1-hadoop1-bin.tar.gz 
zookeeper-3.4.5-1374045102000.tar.gz
#将需要的文件与安装包上传,hbase要与hadoop版本一致,在hbase/lib/hadoop-core-1.1.2.jar,为正确。
[root@master opt]# mkdir -p /opt/modules/hadoop/
[root@master hadoop]# chown -R hadoop:hadoop /opt/modules/hadoop/*
[root@master hadoop]# ll
total 148232
-rwxrwxrwx 1 hadoop hadoop 61927560 Oct 29 11:16 hadoop-1.1.2.tar.gz
-rwxrwxrwx 1 hadoop hadoop 73285670 Mar 24 12:57 hbase-0.96.1.1-hadoop1-bin.tar.gz
-rwxrwxrwx 1 hadoop hadoop 16402010 Mar 24 12:57 zookeeper-3.4.5-1374045102000.tar.gz
#新建/opt/modules/hadoop/文件夹,把需要的软件包都复制到文件夹下,将文件夹的权限使用者配置为hadoop用户组和hadoop用户,其实这一步可以最后来做。
[root@master hadoop]# tar -zxvf hadoop-1.1.2.tar.gz
#解压hadoop-1.1.2.tar.gz文件
[root@master hadoop]# cat /etc/profile.d/java_hadoop.sh
export JAVA_HOME=/usr/java/jdk1.7.0_45/
export HADOOP_HOME=/opt/modules/hadoop/hadoop-1.1.2/
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
#使用vi,新建一下HADOOP_HOME的变量,名称不能自定义(不然会很麻烦)。
[root@master opt]# source /etc/profile
#更新环境变量。
[root@master hadoop]# echo $HADOOP_HOME
/opt/modules/hadoop/hadoop-1.1.2
#打印一下$HADOOP_HOME,就输出了我们的地址。
 
[hadoop@master conf]$ vi /opt/modules/hadoop/hadoop-1.1.2/conf/hadoop-env.sh
export HADOOP_HEAPSIZE=64 
#这里是内存大少的配置,我的虚拟机配置为64m。
[root@master conf]# mkdir -p /data/
#新建一下data文件夹,准备将所有的数据,存放在这个文件夹下。
[root@master conf]# mkdir -p /data/hadoop/hdfs/data
[root@master conf]# mkdir -p /data/hadoop/hdfs/name
[root@master conf]# mkdir -p /data/hadoop/hdfs/namesecondary/
[hadoop@master bin]$ mkdir -p /data/hadoop/mapred/mrlocal
[hadoop@master bin]$ mkdir -p /data/hadoop/mapred/mrsystem
[root@master conf]#su
#切换到root用户,不然是不可以修改权限的。
[root@master conf]# chown -R hadoop:hadoop /data/
#将data文件夹的权限使用者配置为hadoop用户组和hadoop用户
[root@master conf]# su hadoop
#切换到hadoop用户
[hadoop@master conf]$ chmod go-w /data/hadoop/hdfs/data/
#这里步非常重要,就是去除其他用户写入hdfs数据,可以配置为755
[hadoop@master conf]$ ll /data/hadoop/hdfs/
drwxr-xr-x 2 hadoop hadoop 4096 Mar 24 13:21 data
drwxrwxr-x 2 hadoop hadoop 4096 Mar 24 13:21 name
drwxrwxr-x 2 hadoop hadoop 4096 Mar 24 13:20 namesecondary

接下来就配置xml文件:

[hadoop@master conf]$ cd /opt/modules/hadoop/hadoop-1.1.2/conf
[hadoop@master conf]$ vi core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
   <property>
    <name>fs.default.name</name>
  <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>fs.checkpoint.dir</name>
    <value>/data/hadoop/hdfs/namesecondary</value>
  </property>
  <property>
    <name>fs.checkpoint.period</name>
  <value>1800</value>
  </property>
  <property>
    <name>fs.checkpoint.size</name>
  <value>33554432</value>
  </property>
  <property>
    <name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache
.hadoop.io.compress.BZip2Codec</value>
  </property>
  <property>
    <name>fs.trash.interval</name>
    <value>1440</value>
  </property>
</configuration>
[hadoop@master conf]$ vi hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
    <property>
        <name>dfs.name.dir</name>
    <value>/data/hadoop/hdfs/name</value>
  </property>
  <property>
    <name>dfs.data.dir</name>
  <value>/data/hadoop/hdfs/data</value>
    <description> </description>
  </property>
  <property>
    <name>dfs.http.address</name>
  <value>master:50070</value>
  </property>
  <property>
    <name>dfs.secondary.http.address</name>
  <value>node1:50090</value>
  </property>
  <property>
    <name>dfs.replication</name>
  <value>3</value>
  </property>
  <property>
    <name>dfs.datanode.du.reserved</name>
  <value>873741824</value>
  </property>
  <property>
    <name>dfs.block.size</name>
  <value>134217728</value>
  </property>
  <property>
    <name>dfs.permissions</name>
  <value>false</value>
  </property>
</configuration>
[hadoop@master conf]$ vi mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
     <property>
    <name>mapred.job.tracker</name>
  <value>master:9001</value>
  </property>
  <property>
    <name>mapred.local.dir</name>
  <value>/data/hadoop/mapred/mrlocal</value>
    <final>true</final>
  </property> 
  <property>
    <name>mapred.system.dir</name>
    <value>/data/hadoop/mapred/mrsystem</value>
  <final>true</final>
  </property> 
  <property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
  <value>2</value>
  <final>true</final>
  </property> 
  <property>
    <name>mapred.tasktracker.reduce.tasks.maximum</name>
  <value>1</value>
  <final>true</final>
  </property>
  <property>
    <name>io.sort.mb</name>
    <value>32</value>
  <final>true</final>
  </property>
  <property>
    <name>mapred.child.java.opts</name>
  <value>-Xmx128M</value>
  </property>
  <property>
    <name>mapred.compress.map.output</name>
  <value>true</value>
  </property>
</configuration>
#配置文件完成
#切换到master主机,开启
[root@master hadoop]# vi/opt/modules/hadoop/hadoop-1.1.2/conf/masters
node1
node2
[root@master hadoop]# vi/opt/modules/hadoop/hadoop-1.1.2/conf/slaves
master
node1
node2
#节点配置,这里很重要,masters文件不需要把masters加入