快速配置hadoop集群环境

环境以下:

 

Ubuntu 12.04.2 LTS 
hadoop-1.0.3

一、        安装jdk

sudo apt-get install openjdk-7-jdk

二、        环境变量配置      

vi /etc/hostname 设置java

namenode:       hadoop-namenode
datanode:        hadoop-datanode1

以此类推node

 

vi /etc/profile ,添加shell

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_HOME=/home/sfuser/hadoop
export PATH=$PATH:/home/sfuser/hadoop/bin:/home/sfuser/hbase/bin:/home/sfuser/flume/bin:/home/sfuser/lib/grails-2.1.0/bin:/usr/lib/jvm/java-7-openjdk

三、        vi /etc/hosts ,设置并复制到每一台机器

127.0.0.1       localhost
10.6.115.8      hadoop-secondnamenode
10.6.115.9      hadoop-namenode
10.6.115.10     hadoop-datanode1
10.6.115.11     hadoop-datanode2
10.6.115.12     hadoop-datanode3
10.6.115.13     hadoop-datanode4

5                   master机器安装hadoop,个人路径是: /home/sfuser/hadoop

6                   修改hadoop的配置文件

编辑conf/hadoop-env.sh ,请自行忽略我这里hbase的部分.apache

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HBASE_HOME=/home/sfuser/hbase
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/hbase-0.94.1.jar:$HBASE_HOME/lib/zookeeper-3.4.3.jar:$HBASE_HOME/lib/protobuf-java-2.4.0a.jar:$HBASE_HOME/lib/guava-11.0.2.jar:$HBASE_HOME/lib:$HBASE_HOME/conf
export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true
export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS"
export HADOOP_SECONDARYNAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS"
export HADOOP_DATANODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS"
export HADOOP_BALANCER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS"
export HADOOP_JOBTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS"
export HADOOP_PID_DIR=/tmp/

 

编辑conf/mapred-site.xml设置app

 

<?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>hadoop-namenode:54311</value>
  </property>
  <property>
    <name>mapred.child.java.opts</name>
    <value>-Xmx1024m</value>
  </property>
</configuration>

 

编辑conf/hdfs-site.xml设置jvm

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 
<!-- Put site-specific property overrides in this file. -->
 
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
    <name>dfs.support.append</name>
    <value>true</value>
  </property>
  <property>
       <name>dfs.datanode.max.xcievers</name>
       <value>65535</value>
  </property>
</configuration>

 

编辑conf/core-site.xml设置ide

<?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://hadoop-namenode:54310</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/sfuser/hadoop/dir</value>
  </property>
 
</configuration>

 

编辑conf/masters设置oop

hadoop-namenode

编辑conf/slaves设置this

hadoop-datanode1
hadoop-datanode2
hadoop-datanode3
hadoop-datanode4

7         masterhadoop拷贝到slave

scp -r hadoop  hadoop-datanode1:/home/sfuser/hadoop
scp -r hadoop  hadoop-datanode2:/home/sfuser/hadoop
scp -r hadoop  hadoop-datanode3:/home/sfuser/hadoop
scp -r hadoop  hadoop-datanode4:/home/sfuser/hadoop

 

8         master上格式化HDFS

hadoop namenode –format

9         启动节点

master上执行:spa

hadoop/bin/start-all.sh

master上执行jps命令,显示以下

14745 Jps
11214 SecondaryNameNode
10903 NameNode
11316 JobTracker

 

slave上执行jps命令,显示以下

 

29543 Jps
18606 TaskTracker
18382 DataNode

 

配置结束后,能够查看http://hadoop-namenode:50070   显示节点信息

 

 

 

http://hadoop-namenode:50030 显示任务信息

 

10      关闭各节点

master上执行:

hadoop/bin/stop-all.sh

 

我常遇到的问题:

1Namenode in safe mode

解决方法

hadoop dfsadmin -safemode leave

2、没法启动datanode的状况

查看current version是否一致,改为一致便可。

新作的环境,能够直接删除各节点< hadoop.tmp.dir >下的文件,再格式化namenode便可

一般遇到ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times 的问题,也多是由于这个版本问题

相关文章
相关标签/搜索