hadoop集群安装
一、环境说明:
VMware-workstation-full-10.0.3.exe
rhel-server-6.2-i386-dvd.iso
jdk-6u30-linux-i586-rpm.iso
hadoop-0.20.2.tar.gz
二、环境配置
redhat linux 切换到命令行
vi /etc/inittab id:5:initdefault: 把这一句里面的5改成3就可是以命令行登录了
2.修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
使BOOTPROTO = “static”
3.修改配置/etc/sysconfig/network
使HOSTNAME=master(用户名自己设定)
4.使用页面登录config-network图形下配置ip地址
如何获取本机中的文件
cd /mnt/hgfs/共享目录
- 1. hosts配置
准备机器:一台master,若干台slave,配置每台机器的/etc/hosts保证各台机器之间通过机器名可以互访,例如:
在所有机器上配置/etc/hosts文件
192.168.0.100 master
192.168.0.101 slave1
192.168.0.102 slave2
机器名IP地址作用
Node 192.168.0.100 NameNode、JobTracker
Node 192.168.0.101 DataNode、TaskTracker
Node 192.168.0.102 DataNode、TaskTracker
2.关闭防火墙
(1)重启后永久性生效:
开启:chkconfig iptables on
关闭:chkconfig iptables off
(2)即时生效,重启后失效:
开启:service iptables start
关闭:service iptables stop
3.安装java
在所有机器上安装java
cd /usr/local
mkdir java
cd /mnt/hgfs/*
cp jdk* /usr/local/java
sh jdk*
4.配置环境变量
5.建立hadoop组和hadoop用户
在所有机器上
groupadd hadoop
useradd -g hadoop grid
passwd hduser
6.禁用IPv6
在所有机器上
vi /etc/modprobe.d/anaconda.conf添加下列行
install ipv6 /bin/true
7.ssh
登录新建用户grid 在/home/grid下执行创建目录mkdir .ssh
执行命令在每个主机上:ssh-keygen –t rsa 一路回车
在.ssh 目录下生成 .pub 文件
将文件内容导入到cat id_rsa.pub >authorized_keys
把多台主机上的id_rsa.pub汇总到一个authorized_keys在分发到每个主机/home/grid/.ssh目录实现SSH免密码登录
8.hadoop安装配置
chgrp grid hadoop-0.20.2.tar.gz
chown grid hadoop-0.20.2.tar.gz
把 hadoop-0.20.2.tar.gz 复制到 /home/grid下
tar –xzvf hadoop-0.20.2.tar.gz
在hadoop-0.20.2下建立目录
mkdir data
修改core-site.xml,如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.0.100:9000</value>
</property>
</configuration>
修改hdfs-site.xml,如下:
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/root/software/hadoop-0.20.2/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
修改mapred-site.xml,如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.0.100:9001</value>
</property>
</configuration>
masters里写入作为namenode节点机器的名称,我们这里是:
master
slaves里写入作为datanode节点的机器名,这里是:
master
slave
slave1
scp –r hadoop-0.20.2 slave1:/home/grid
scp –r hadoop-0.20.2 slave2:/home/grid
到此基本配置已经完成,在namenode端cd到hadoop文件夹下,格式化分布式文件系统:
$ bin/hadoop namenode -format
下面接着在namenode端启动hadoop进程:
$ bin/start-all.sh
如果没有其它差错的话,hadoop可以正常启动,并能够看到如下结果:
在namenode端用jps命令查看启动情况,如下:
root@master:~/hadoop-0.20.2$ jps
xxxx Jps
xxxx Namenode
xxxx Secondarynamenode
xxxx JobTracker
在datanode端用jps查看启动情况,如下:
root@slave:~/hadoop-0.20.2$ jps
xxxx Jps
xxxx DataNode
xxxx TaskTracker
root@slave1:~/hadoop-0.20.2$ jps
xxxx Jps
xxxx DataNode
xxxx TaskTracker