hadoop 1.0.1集群安装及配置

时间:2022-11-08 16:31:58

1.hadoop下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/core/

2.下载java6软件包,分别在三台安装

3、三台虚拟机,一台作为master,另外两台作为slave,分别配置/etc/hosts

172.16.130.84   server14
    172.16.130.85  server15
    172.16.130.86  server16

4、在三台主机/etc/profile设置环境变量 可查看当前的环境变量如果已经配置忽略(env)
export JAVA_HOME=/usr/java/jdk1.6.0_13
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export HADOOP_HOME=/home/hduser/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH

5、在三台机器上建立hadoop用户和组
    groupadd hadoop
    useradd -g hadoop hduser

6、在masternode节点创建SSH安全认证也可参考(

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/

)
 $ ssh-keygen -t rsa -P ""
 $cd .ssh
 $ cat id_rsa.pub>>authorized_keys
 $ssh masternode
 $ssh slavenode1
 $ssh slavenode2
将授权的文件分别拷贝到slavenode1和slavenode2,检查ssh登陆主机是否需要密码。

7、上传hadoop软件包到hadoop用户目录下解压
  tar xvf hadoop*.gz
 
8、添加$HADOOP_HOME/conf/hadoop-env.sh
   export JAVA_HOME=/usr/java/jdk1.6.0_13

9、编辑$HADOOP_HOME/conf/core-site.xml
<configuration>
 <property>
   <name>hadoop.tmp.dir</name>
   <value>/home/hduser/hadoop/tmp</value> //hadoop临时文件存放位置
   <description>.</description>
 </property>
 <property>
   <name>fs.default.name</name>
   <value>hdfs://server14:9000</value>//hadoopmaster
   <description> </description>
 </property>
</configuration>

10、编辑$HADOOP_HOME/conf/mapred-site.xml
<configuration>
<property>
  <name>mapred.job.tracker</name>
  <value>hdfs://server14:9001</value>
  <description>.  </description>
  </property>

<property>

<name>mapred.tasktracker.map.tasks.maximum</name>    //每台机器map任务的个数

<value>11</value>

</property>

<property>

<name>mapred.tasktracker.reduce.tasks.maximum</name>  //每台机器reduce任务的个数

<value>4</value>

</property>

</configuration>

11.修改hadoop-env.sh 文件

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/

export HADOOP_HEAPSIZE=5000   //守护进程的堆大小,一般设为总内存的四分之一

export HADOOP_LOG_DIR=/home/hadoop0/hadoop_logs

export HADOOP_PID_DIR=/home/hadoop0/hadoop_pids

12.修改 hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>  //数据的冗余

</property>

<property>

<name>dfs.permissions</name>

<value>false</value> //文件的用户权限检查

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop0/hadoop_root/name/,/home/hadoop1/hadoop_root/name/</value>  //namenode的本地目录

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop0/hadoop_root/data/,/home/hadoop1/hadoop_root/data/,/home/hadoop2/hadoop_root/data/,/home/hadoop3/hadoop_root/data/</value>   //datanode的本地目录

</property>

<property>

<name>dfs.datanode.max.xcievers</name>

<value>4096</value>

</property>

//该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256高负载下, 在put数据的时候会报 could not read from stream 的 Exception。为了提高hbase性能,所以设置此参数

<property>

<name>dfs.support.append</name>

<value>true</value>

</property> //支持hbase的log能够append

</configuration>

13.编辑$HADOOP_HOME/conf/masters
 masternode

14、编辑$HADOOP_HOME/conf/slaves
slavenode1
slavenode2

15、在所有机器上创建/home/hduser/hadoop/tmp

16、拷贝masternode上$HADOOP_HOME文件拷贝到各个节点上

17、在masternode进行格式化
 hadoop -namenode -format

18、启动
  start-all.sh
  jps命令查看

19、访问masternode http://server14:50030
       访问slavenode http://server14:50060

文件访问http://server14:50070/dfshealth.jsp