Hadoop集群的搭建与配置
1、软件需求与环境说明
(1)四台Linux服务器,分别安装64位的CentOS 5.4操作系统(CentOS-5.4-x86_64-bin-DVD.iso)
(2)Linux下的64位JDK(jdk-6u45-linux-x64-rpm.bin)
(3)Hadoop软件(hadoop-1.0.3.tar.gz)
2、服务器IP配置
Hadoop是主从结构,其中Master作为NameNode(名称节点),Slaver作为Datanode(数据节点),名称和IP对应如下:
192.168.100.1 namenode
192.168.100.2 datanode1
192.168.100.3 datanode2
192.168.100.4 datanode3
修改IP地址和网关的方法:编辑/etc/sysconfig/network-s/ifcfg-eth0 文件(注:eth0代表网卡一,lo代表127.0.0.1,即localhost;实际修改什么文件,要以ip记录在那块网卡为准):
DEVICE="eth0"
IPADDR=192.168.100.1 --IP地址
NETMASK=255.255.255.0
GATEWAY=192.168.100.10 --网关(根据实际的网络而定)
DNS1=192.168.100.10 --DNS
3、安装JDK
(1)把jdk-6u45-linux-x64-rpm.bin上传到/tmp目录下,使用如下命令进行安装:
./jdk-6u45-linux-x64-rpm.bin
安装完成后,系统会在/usr目录下生成java文件夹,JDK安装目录就在这个文件下。
(2)添加环境变量:打开/etc/profile文件,在文件最后添加如下配置:
#config java
JAVA_HOME=/usr/java/jdk1.6.0_45
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH
(3)让设置生效: source /etc/profile
4、修改主机名称,设置主从配置
在所有机器的/etc/hosts文件添加以下配置:
192.168.100.1 namenode
192.168.100.2 datanode1
192.168.100.3 datanode2
192.168.100.4 datanode3
修改完成后要重启机器
5、配置SSH (CentOS默认已经安装ssh)
(1)在NameNode下执行 ssh-keygen -t rsa
(2)在NameNode下分别执行
ssh-copy-id -i ~/.ssh/id_rsa.pub root@namenode
ssh-copy-id -i ~/.ssh/id_rsa.pub root@datanode1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@datanode2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@datanode3
执行完成后,实际上在NameNode节点的~/.ssh目录下生成了三个文件:
authorized_keys 、 id_rsa 、 id_rsa.pub,在DataNode节点下分别生成了authorized_keys文件,作为密钥实现无密码通信
6、安装Hadoop
(1)把hadoop-1.0.3.tar.gz 解压到/usr目录下,并重命名为hadoop
(2)设置hadoop环境变量
编辑/etc/profile增加如下内容
#config hadoop
export HADOOP_HOME=/usr/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
让设置生效: source /etc/profile
(3)修改各台机器 /usr/hadoop/conf目录下的masters和slaves 文件,其中:
Masters文件配置为:
namenode
Slavers文件配置为:
datanode1
datanode2
datanode3
(4)修改配置文件/usr/hadoop/conf/hadoop-env.sh把JAVA_HOME改为安装jdk的路径:
export JAVA_HOME=/usr/java/jdk1.6.0_45
(5)修改配置文件 /usr/hadoop/conf/core-site.xml内容如下:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://namenode:9000/</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp/</value> </property> </configuration>
(6)修改配置文件 hdfs-site.xml内容如下:
<configuration> <property> <name>dfs.replication</name> <value>3</value> #设置备份文件数 </property> </configuration>
(7)修改配置文件 mapred-site.xml内容如下:
<configuration> <property> <name>mapred.job.tracker</name> #一般jobtracker和namenode设置到同一台机器上,但是同样可以集群 <value>Namenode:9001</value> </property> </configuration>
(8)格式化HDFS: 在namenode下执行 ./hadoop namenode -format 进行格式化,格式化过程中如果出现ERROR字段,则格式化失败,否则就成功。
(9)启动Hadoop ./start-all.sh

浙公网安备 33010602011771号