hadoop安装

cluster setup, 参考官方安装文档,这里仅作记录。

准备三台机器,作为三个节点,假设ip为192.168.1.11, 192.168.1.12,192.168.1.13,192.168.1.14,以下仅使用ip末尾数表示节点编号

下载hadoop安装文件,并解压为hadoop-2.8.0

通常来说,使用一个节点作为NameNode,使用另一个节点作为ResourceManager,这两个节点都为masters,其余节点为DateNode和NodeManager,即,slaves

配置

有两类重要的配置文件

只读default配置:core-default.xmlhdfs-default.xmlyarn-default.xml and mapred-default.xml (当然这些文件我现在还没找到在哪里  -_-!)

site-specific配置:etc/hadoop/core-site.xmletc/hadoop/hdfs-site.xmletc/hadoop/yarn-site.xml and etc/hadoop/mapred-site.xml

HDFS守护进程(Daemons)是NameNode,SecondaryNameNode以及DataNode, YARN守护进程是ResourceManager,NodeManager以及WebAppProxy,如果还使用了MapReduce,那么MapReduce Job History Server 也需要运行。如果安装大型集群,这些都需要安装在不同的hosts中

使用Hadoop守护进程配置环境(Environment)

一些环境变量的配置参见官方说明

通常习惯在/etc/profile.d目录下新建一个文件比如hadoop.sh,在其他添加如下内容,然后通过scp复制到集群其他node

export HADOOP_HOME=/root/hadoop-2.8.0
export PATH=$HADOOP_HOME/bin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

配置hadoop守护进程

配置etc/hadoop/core-site.xml文件:

<configuration>

  <configuration>

<property>
<name>fs.defaultFS</name> <value>hdfs://192.168.10.14:11111</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/root/hadoop-2.8.0/tmp</value> </property> </configuration>

其中,fs.defaultFS指明文件系统的访问入口,让所有DataNode知道NameNode的所在

配置etc/hadoop/hdfs-site.xml:

<configuration>
<!-- for namenode --> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.1.11:50090</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/root/hadoop-2.8.0/hdfs/name</value> </property>

<!-- for datanode --> <property> <name>dfs.datanode.data.dir</name> <value>/root/hadoop-2.8.0/hdfs/data</value> </property> </configuration>

配置etc/hadoop/yarn-site.xml

 

<configuration>

<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.acl.enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>192.168.10.14:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>192.168.10.14:8088</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.10.14:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>192.168.10.14:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.10.14:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.aux-services</name>
    <value>mapreduce-shuffle</value>
  </property>
  <property>
    <name>yarn.resourcemanager.rm.container-allocation.expiry-interval-ms</name>
    <value>100000000</value>
  </property>
</configuration>

配置etc/hadoop/mapred-site.xml:

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>192.168.10.14:10030</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>192.168.10.14:19899</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.intermediate-done-dir</name>
    <value>/root/hadoop-2.8.0/hdfs/mr-history/tmp</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.done-dir</name>
    <value>/root/hadoop-2.8.0/hdfs/mr-history/done</value>
  </property>
</configuration>

根据以上配置,创建相应的目录,如下

mkdir /root/hadoop-2.8.0/tmp
mkdir /root/hadoop-2.8.0/hdfs cd /root/hadoop-2.8.0/hdfs mkdir name data mr-history cd mr-history mkdir tmp done

配置etc/hadoop/slaves文件

在slaves中添加如下内容

192.168.1.12
192.168.1.13

每一行为一个slave节点IP

配置好之后,将/root/hadoop-2.8.0目录以及内部文件和子目录copy到集群的其他节点上,保持路径不变

scp -r $HADOOP_HOME root@192.168.1.11:/root/

 

hadoop startup

需要分别启动HDFS和YARN集群

第一次启动HDFS需要格式化,使用如下命令

$HADOOP_HOME/bin/hdfs namenode -format cluster_v0

其中cluster_v0为集群名称

配置ssh信任访问(无密码访问)

启动HDFS

$HADOOP_HOME/sbin/start-dfs.sh

启动YARN

$HADOOP_HOME/sbin/start-yarn.sh

或者使用下面这个命令同时执行以上两条命令

$HADOOP_HOME/sbin/start-all.sh

如果出现 error: JAVA_HOME is not set and could not be found的错误

则需要将etc/hadoop/hadoop-env.sh文件中的JAVA_HOME重新设置为绝对路径

 

关闭hadoop可使用如下命令

$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh

or just
$HADOOP_HOME/sbin/stop-all.sh

 如此,就部署好一个hadoop集群,

可以通过浏览器输入地址192.168.1.14:8088 (对应yarn)浏览集群状态

通过192.168.1.14:50070访问hdfs集群状态

posted @ 2017-04-22 15:02  gaoshoufenmu  阅读(210)  评论(0编辑  收藏  举报