Hadoop1.x完全分布模式安装

我用了1台机器,win7操作系统,机器配置6G内存,i5处理器,固态硬盘。

使用VMware虚拟机,安装了4台linux虚拟机,Linux操作系统,使用的Ubuntu系统。

Hadoop版本,使用1.x,经过实验测试,完全兼容的hadoop版本。

可以去网盘下载:

hadoop-1.0.4.tar.gz

hBase-0.94.18.tar.gz

hive-0.12.0.tar.gz

sqoop-1.4.5.bin_hadoop-1.0.0.tar

zookeeper-3.3.6.tar

QQ截图20150320145613

1、安装虚拟机环境

? ? ?Vmware,收费产品,占内存较大。

? ? ?或

? ? ?Oracle的VirtualBox,开源产品,占内存较小,但安装ubuntu过程中,重启会出错。

而且在VirtualBox使用Nat方式联网时,和本地网络连接时,没有VMWare支持的好!

? ? ?我选Vmware。

VMware10下载地址: 链接: http://pan.baidu.com/s/1eQ1X8Ds 密码: jxkt

VMware10注册码: 链接: http://pan.baidu.com/s/1c0hIUI0 密码: 834r

 

2、安装操作系统

? ? ?Centos,红帽开源版,接近于生产环境

? ? ?Ubuntu,操作简单,方便,界面友好。可以用于实验环境。

? ? ?我选Ubuntu12.10.X 32位

 

3、安装一些常用的软件

? ? ?在每台linux虚拟机上,安装:vim,ssh

? ? ?sudo apt-get install vim

? ? ?sudo apt-get install ssh

? ? ?在客户端,也就是win7上,安装SecureCRT,Winscp或putty,这几个程序,都是依靠ssh服务来操作的,所以前提必须安装ssh服务。

? ? ?service ssh status? ?查看ssh状态。如果关闭使用

service ssh start ?开启服务。

? ? ?SecureCRT,可以通过ssh远程访问linux虚拟机。

? ? ?winSCP或putty,可以从win7向linux上传文件。

 

4、修改主机名和网络配置

? ? 主机名分别为:hostaa,hostbb,hostcc,hostdd。

? ? sudo vim /etc/hostname

? ? 网络配置,包括ip地址,子网掩码,DNS服务器。如上图所示。

 

5、修改/etc/hosts文件。

? ? 修改每台电脑的hosts文件。

? ? hosts文件和windows上的功能是一样的。存储主机名和ip地址的映射。

? ? 在每台linux上,sudo vim /etc/hosts 编写hosts文件。将主机名和ip地址的映射填写进去。编辑完后,结果如下:

QQ截图20150320140557

 

 

6、配置ssh,实现无密码登陆

? ? 无密码登陆,效果也就是在hostaa上,通过 ssh hostbb?或 ssh hostcc?或 ssh hostdd?就可以登陆到对方计算机上。而且不用输入密码。

? ? 四台虚拟机上,使用?

?ssh-keygen -t rsa ? ?

一路按回车就行了。

? ? 刚才都作甚了呢?主要是设置ssh的密钥和密钥的存放路径。 路径为~/.ssh下。

? ? 打开~/.ssh 下面有三个文件

? ? authorized_keys,已认证的keys

? ? id_rsa,私钥

? ? id_rsa.pub,公钥 ??三个文件。

? ? 下面就是关键的地方了,(我们要做ssh认证。进行下面操作前,可以先搜关于认证和加密区别以及各自的过程。)

? ? 在master上将公钥放到authorized_keys里。命令:

sudo cat id_rsa.pub >> authorized_keys

? ? 将master上的authorized_keys放到其他linux的~/.ssh目录下。

? ? ? ?命令:sudo scp authorized_keys hadoop@192.168.206.22:~/.ssh ? ? ??

? ? ? ? ? ? ? ?sudo scp authorized_keys 远程主机用户名@远程主机名或ip:存放路径。

? ? 修改authorized_keys权限,命令:chmod 644 authorized_keys

? ? 测试是否成功

? ? ? ?ssh hostbb 输入用户名密码,然后退出,再次ssh hostbb不用密码,直接进入系统。这就表示成功了。

 

7、上传jdk,并配置环境变量。

? ? 通过winSCP将文件上传到linux中。将文件放到/usr/lib/java中,四个linux都要操作。

? ? 解压缩:

tar -zxvf jdk1.7.0_21.tar

? ? 设置环境变量

sudo vim ~/.bashrc

? ? 在最下面添加:

? ? export JAVA_HOME = /usr/lib/java/jdk1.7.0_21

? ? export PATH = $JAVA_HOME/bin:$PATH

? ? 修改完后,用下面的命令让配置文件生效。

source ~/.bashrc

 

注意:关于环境变量的配置文件,有三种,上面这种是只作用于当前用户的。如果想针对于全部用户设置环境变量,请修改

sudo vim /etc/profile文件

 

8、上传hadoop,配置hadoop

? ? 通过winSCP,上传hadoop,到/usr/local/下,解压缩

tar -zxvf?hadoop-1.0.4.tar.gz

? ? 再重命名一下,

sudo?mv hadoop-1.0.4 hadoop?

? ? 这样目录就变成/usr/local/hadoop

 

? ? 修改环境变量,将hadoop加进去(最后四个linux都操作一次)

? ? sudo vim ~/.bashrc

? ? export HADOOP_HOME = /usr/local/hadoop

? ? export PATH = $JAVA_HOme/bin:$HADOOP_HOME/bin:$PATH

? ? 修改完后,用source ~/.bashrc让配置文件生效。

 

? ? 修改/usr/local/hadoop/conf下配置文件

? ? hadoop-env.sh,

? ? ?QQ截图20150320150727

(上面这张图片,有一些问题,只export JAVA_HOME进去就可以了,不用export HADOOP_HOME和PATH了 )

? ? core-site.xml,

? ??QQ截图20150320150541

? ? hdfs-site.xml,

? ??QQ截图20150320150824

? ? mapred-site.xml,

? ??QQ截图20150320151048

? ? master,

? ??QQ截图20150320151131

? ? slave,

? ??QQ截图20150320151206

? ? 上面的hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml,master,slave几个文件,在四台linux中都是一样的。

? ? 配置完一台电脑后,可以将hadoop包,直接拷贝到其他电脑上。

 

? ? 最后要记得,将hadoop的用户加进去,命令为

? ? ? sudo chown -R hadoop:hadoop hadoop?

? ? ? sudo chown -R 用户名@用户组 目录名

 

? ? 让hadoop配置生效

? ? ? source hadoop-env.sh

 

? ? 格式化namenode,只格式一次

? ? ? hadoop namenode -format

 

? ? 启动hadoop

? ? ? 切到/usr/local/hadoop/bin目录下,执行 start-all.sh启动所有程序

 

? ? 查看进程,是否启动

? ? ? ?jps

? ? ? hostaa,

? ? ??QQ截图20150320151536

? ? ? hostbb,hostcc,hostdd都是同样的显示结果:

? ? ??QQ截图20150320151717

? ? ??

14 comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注