虚拟机下的hadoop集群环境搭建。

1、准备必要的软件,vmware与centos,jdk-6u24-linux-i586与hadoop-1.0.4.tar。

2、安装好vmware虚拟机后,直接打开centos,用来做namenode节点。

3、拷贝centos三份,用来做datanode节点。

4、安装jdk

  1)、在各虚拟机上机器上,把jdk-6u24-linux-i586放在/home目录上

  2)、解压# ./jdk-6u24-linux-i586 ,并重命名#mv jdk-6u24-linux-i586.bin jdk

  3)、配置JAVA_HOME环境变量。#vi /etc/profile 

    在文件末尾添加 

    export JAVA_HOME=/home/jdk

    export PATH=$JAVA_HOME/bin:$PATH

  退出事,执行#source /etc/profile 验证jdk配置是否成功 #java -version

5、各服务器的网络配置

  1)、网络名及ip地址配置

    #vi /etc/sysconfig/network 在该文件中添加如下内容

    hostname=网络名

    退出执行source /etc/sysconfig/network

  2)、修改/etc/hosts文件内容,#vi /etc/hosts

    在文件里添加 各虚拟机ip地址 网络名

  3)、修改/etc/sysconfig/network-scripts/相应的网络配置

    参考:

      ifcfg-eth0文件参考:

      DEVICE="eth0"

      BOOTPROTO="static"

      ONBOOT="yes"

      TYPE="Ethernet"

      IPADDR=192.168.1.240(不同的虚拟机,ip地址是不同的)

      PREFIX=24

      GATEWAY=192.168.1.1

  

6、关闭防火墙

  执行命令#chkconfig iptables off关闭自动启动#service iptables stop停掉防火墙 验证#service iptables status

7、面ssh密码登录

  1)、在各机器上执行 #ssh-keygen -b 1024 -t rsa 一路回车,在~/.ssh下会产生id_rsa  id_rsa.pub文件。

  2)、在namenode虚拟机上执行#cd ~/.ssh

  3)、#scp id_rsa.pub root@<各nodenameip地址>:/home 即把id_rsa.pub传到各datanode虚拟机节点的/home目录下

  4)、在各机器上执行

      #cd /home/

      #cat id_rsa.pub >>/root/.ssh/authorized_keys

    这样ssh免密码登录就配置完成,验证,ssh root@<各节点的Ip地址或者主机名>:/home 若不需要输入密码则配置完成,或者配置失败。

8、在namenode上开始安装hadoop

  1)、把 hadoop-1.0.4.tar.gz 放到/home目录地下

  2)、解压hadoop-1.0.4.tar.gz ,即执行#cd /home 

    #tar -zxvf hadoop-1.0.4.tar.gz

    #mv hadoop-1.0.4 hadoop

  3)、修改/etc/profile

    #vi /etc/profile

    export JAVA_HOME=/home/java

    export HADOOP_HOME=/home/hadoop

    export PATH=$JAVA_HOME/bin:$PATH::$HADOOP_HOME/bin

    保存退出

    #source /etc/profile

  4)、hadooop配置文件的修改

    cd /home/hadoop/conf 进入到配置文件目录下

    《1》、修改conf/hadoop-env.sh

        export JAVA_HOME=/home/java

        export HADOOP_HEAPSIZE=1024

        export HADOOP_PID_DIR=/home/hadoop/pids

        保存退出

    《2》、配置conf/core-site.xml,增加以下内容

      <property>

        <name>fs.default.name</name>

        <value>hdfs://hadoop0:9000</value><!--hadoop0对于的网络名-->

      </property>

      <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/hadoop/tmp</value>

      </property>

    《3》、配置conf/hdfs-site.xml

      <property>

        <name>dfs.replication</name>

        <value>2</value>

      </property>

      <property>

        <name>dfs.hosts.exclude</name>

        <value>/home/hadoop/conf/excludes</value>

     </property>

    《4》、配置conf/mapred-site.xml

    <property>

      <name>mapred.job.tracker</name>

      <value>hdfs://hadoop0:9001/</value><!--hadoop0对于的网络名-->

    </property>

    《5》配置conf/masters

        hadoop0<!--namenode网络名-->

      配置conf/slaves

        hadoop1<!--datanode网络名-->

        hadoop2<!--datanode网络名-->

        hadoop3<!--datanode网络名-->

   5)、把hadoop目录复制到其他虚拟机上

      #cd $HADOOP_HOME/..

      #scp -r hadoop hadoop1:/home

      #scp -r hadoop hadoop2:/home

      #scp -r hadoop hadoop3:/home

9、启动/停止hadoop集群

  在hadoop0上

  第一次启动Hadoop,必须先格式化namenode

  #cd $HADOOP_HOME /bin

  #hadoop namenode –format

  启动Hadoop

  #cd $HADOOP_HOME/bin

  #./start-all.sh

  如果启动过程,报错safemode相关的Exception

  执行命令

  # hadoop dfsadmin -safemode leave

  然后再启动Hadoop

  停止Hadoop

  cd $HADOOP_HOME/bin

  #./stop-all.sh

原文地址:https://www.cnblogs.com/chengAddress/p/4550882.html