Hadoop 安装手册
-
软件准备
-
a) CentOS6.2 b4bit ,需要安装 DEV 包,分区采用基本分区方式、关闭防
火墙、关闭 SELinux
-
b) Oracle Javase 1.6.37 64bit(JDK)
-
c) Hadoop1.0.4,从 http://hadoop.apache.org 下载
-
-
硬件规划
-
a) NameNode 采用高可靠性 X86 64 服务器,内存建议 64G 以上,CPU
4core 以上,支持 HT,采用冗余电源,磁盘做 Raid1
-
b) DataNode 采用终端硬件,内存建议在 32G 以上,CPU 4Core 以上,支
持 HT,使用 SATA 硬盘即可
扫描二维码关注公众号,回复: 621266 查看本文章
-
-
规划角色
主机名 |
角色 |
master |
NameNode、Jobtracker |
secondmaster |
Secondary NameNode |
slave01 |
Datanode、Tasktracker |
slave02 |
Datanode、Tasktracker |
slave03 |
Datanode、Tasktracker |
slave04 |
Datanode、Tasktracker |
slave05 |
Datanode、Tasktracker |
-
规划目录
-
创建帐号
# useradd hadoop # passwd hadoop -
配置环境变量 # 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
...
-
SSH 互信配置
例在 master 节点上执行$ ssh-keygen (说明:一路回车)
$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys $ scp –r ~/.ssh secondmaster:.
$ scp –r ~/.ssh slave01:.
... -
配置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 帐号执行