Hadoop 安装手册

Hadoop 安装手册

  1. 软件准备

    1. a)  CentOS6.2 b4bit ,需要安装 DEV 包,分区采用基本分区方式、关闭防

      火墙、关闭 SELinux

    2. b)  Oracle Javase 1.6.37 64bit(JDK)

    3. c)  Hadoop1.0.4,从 http://hadoop.apache.org 下载

  2. 硬件规划

    1. a)  NameNode 采用高可靠性 X86 64 服务器,内存建议 64G 以上,CPU

      4core 以上,支持 HT,采用冗余电源,磁盘做 Raid1

    2. b)  DataNode 采用终端硬件,内存建议在 32G 以上,CPU 4Core 以上,支

      HT,使用 SATA 硬盘即可

      扫描二维码关注公众号,回复: 621266 查看本文章
  3. 规划角色

主机名

角色

master

NameNodeJobtracker

secondmaster

Secondary NameNode

slave01

DatanodeTasktracker

slave02

DatanodeTasktracker

slave03

DatanodeTasktracker

slave04

DatanodeTasktracker

slave05

DatanodeTasktracker

  1. 规划目录

  2. 创建帐号
    # useradd hadoop # passwd hadoop

  3. 配置环境变量 # su – hadoop

    $ vi ~/.bash_profile

    文件尾增加如下内容

    export JAVA_HOME=/opt/jdk
    export JAVA_BIN=$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar export HADOOP_HOME=~/hadoop
    export HADOOP_BIN=$HADOOP_HOME/bin
    export PATH=.:$JAVA_BIN:$HADOOP_BIN:$PATH
    $source ~/.bash_profile

目录

说明

/home/hadoop/data/nn

Namenode 元数据

/home/hadoop/data/snn

Secondary Namenode 元数据

/home/hadoop/data/dn

Datanode 数据

/opt/jdk

Oracle Java

7. 配置主机名及IP映射
# vi /etc/sysconfig/network

例,Namenode 角色节点变更如下

HOSTNAME=master

  其它节点根据角色,根据上面第三点进行设置主机名称

# reboot

# vi /etc/hosts
master
节点中文件内容形如,IP 地址仅是样例,需要根据实际情况规划 IP 地址
127.0.0.1
192.168.0.10
192.168.0.11
192.168.0.12
192.168.0.13
192.168.0.14
192.168.0.15
192.168.0.16
配置好后,将此文件分发到其它几点上
# scp /etc/hosts secondmaster:/etc/hosts
# scp /etc/hosts slave01:/etc/hosts
...

  1. SSH 互信配置
    例在
    master 节点上执行

    $ ssh-keygen (说明:一路回车)
    $ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys $ scp –r ~/.ssh secondmaster:.
    $ scp –r ~/.ssh slave01:.
    ...

  2. 配置Hadoop
    前提把 hadoop-1.0.4.tar.gz 分发到所有节点上的/home/hadoop 目录下 $ tar –zxvf ~/hadoop-1.0.4.tar.gz
    $ ln –s hadoop-1.0.4 hadoop
    所有节点均执行此操作

    hadoop 配置文件均在$HADOOP_HOME/conf 目录下

    配置 core-site.xml <configuration>

    <property> <name>fs.default.name</name> <value>hdfs://master:9000</value>

localhost

master secondmaster

slave01 slave02 slave03 slave04 slave05

<description>NN listening port</description> </property>

<property>
<name>fs.checkpoint.dir</name> <value>/home/hadoop/data/snn</value> <description>2nd NN metadata folder</description>

</property> </configuration>

配置 hdfs-site.xml <configuration>

<property>
<name>dfs.name.dir</name> <value>/home/hadoop/data/nn</value> <description>NN metadata folder</description>

</property> <property>

<name>dfs.data.dir</name> <value>/home/hadoop/data/dn</value> <description>DN file data folder</description>

</property> <property>

<name>dfs.replication</name>
<value>3</value>
<description>data replica copy number</description>

</property> </configuration>

配置 mapred-site.xml <configuration>

<property>
<name>mapred.job.tracker</name> <value>master:9001</value> <description>JobTracker listening port</description>

</property> </configuration>

配置 masters secondmaster

配置 slaves slave01 slave02 slave03

slave04 slave05

所有节点的配置文件均相同 10. 配置 NTP 服务

master 上配置服务端
# vi /etc/ntp.conf
内容形如:
restrict default nomodify notrap noquery
restrict 127.0.0.1 restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap server 0.asia.pool.ntp.org

server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org server 127.127.1.0

fudge 127.127.1.0 stratum 10

# /etc/init.d/ntpd restart

在其它节点执行

# crontab –e
*/15 * * * * ntpdate master

11. 格式化 HDFS
$ hadoop namenode –format

12. Hadoop 服务启动、停止 启动服务

$ start-all.sh

停止服务

$ stop-all.sh

13. Hadoop WEB UI http://master:50070 HDFS UI http://master:50030 MapReduce UI

14. 测试 Hadoop 集群

$hadoop jar tsinput
$ hadoop jar tsoutput

teragen 100 $HADOOP_HOME/hadoop-examples-*.jar terasort tsinput

$HADOOP_HOME/hadoop-examples-*.jar

$ hadoop fs -ls tsoutput
$ hadoop fs -cat tsoutput/part-00000

正常执行完成,即说明 Hadoop 集群运行正常 15. 备注

提示符“#”代表以 root 帐号执行

提示符“$”代表以 hadoop 帐号执行 

猜你喜欢

转载自marsorp.iteye.com/blog/1843860