Hadoop的三种安装模式: 1. Stand Alone Mode, 所有Hadoop实例都在一个jvm里面运行 2. Psuedo Distributed Mode 所有Hadoop实例运行在不同的jvm(本课程) 3. Fully Distributed Mode 每个实例都运行在各自机器上 1. Installation Overview a) 安装前提 i. 使
Hadoop的三种安装模式:
1. Stand Alone Mode, 所有Hadoop实例都在一个jvm里面运行
2. Psuedo Distributed Mode 所有Hadoop实例运行在不同的jvm(本课程)
3. Fully Distributed Mode 每个实例都运行在各自机器上
1. Installation Overview
a) 安装前提
i. 使用SSH来完成主从机器的沟通。所以本过程至少要两台机器(或者一台机器中的虚拟机也行)。然后两台机器上安装ssh,这样可以从主机登录到客户机器上(该教程花了很长时间处理ssh免输入密码登录)。这里我们把Hadoop 的NameNode 和 Data Node都装到一台机器上,另外一台机器只是用于登录。所以理论上讲,如果不想登录的话,一台ubuntu机器就可以了,可以直接忽略这一步。(如图所示)
ii. 两个机器上都装有JRE6.0或以上。因为Hadoop运行在jvm中
b) 安装Hadoop
i. 下载安装Hadoop
ii. 添加环境变量
iii. 配置Hadoop环境:包括指定jre运行环境,和关闭ipv6。
iv. 配置Name Node和Job Tracker的xml文件
v. 运行hadoop
2. Install Hadoop
第一步:在主机上安装ssh,这里的主机名HNClient
sudo apt-get install openshh-server
第二步:连接到Name Node上(也就是我们的hadoop安装的机器,HNName)
ssh hnname
输入密码后可以登录。 (当然,你的客户机上面也要装好ssh,不然怎么登录?)
第三步:在HNName上面生成一个新密码,空密码,这样可以以后从HNClient登录时候不需要输入密码了。
输入 ssh-keygen,密码会保存在 ~/.ssh/id_rsa里面,直接回车生成一个空密码
这时候可以试验一下登录本机:ssh localhost,仍然要输入密码,但是直接回车就行了,因为我们刚刚设置了一个空密码
把这个密码保存到认真密码的文件中 cat ~/.ssh/id_rsa.pub >> ~/.ssh authorized_keys
现在再试试登录,ssh localhost 不需要输入密码了
现在把这个秘钥拷贝到HNClient上面,这样登录HNClient就不需要密码认证了。Ssh-copy-id -i ~/.ssh/id_rsa.pub nuggetuser@hnclient
试验一下ssh hnclient 不需要密码了
第四步:安装JRE环境
在NHName上安装,这里安装了open jdk环境
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
输入 java -version检查环境
第五步:下载Hadoop
http://hadoop.apache.org/releases.html
找一个合适的稳定版下载,这里下载了Hadoop1.2.0-bin.tar-gz
第六步:解压缩 tar -zxvf hadoop-1.2.0-bin.tar.gz
第七部:把解压的文件夹放到合适的位置sudo cp - r hadoop-1.2.0 /usr/local/hadoop
第八步:配置.bashrc
在后面添加上:
export HADOOP_HOME = /usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME
然后exec bash来应用,可以用$PATH来查看是不是成功了
第九步:配置Hadoop
进入Hadoop根目录,打开/conf/hadoop-env.sh
解除其中的两行注释并添加一些代码,结果如下图
基本上就是配置了jre环境为刚刚安装的Open JDK,然后禁用了ipv6,
你也可以安装上面白色框中的代码直接在系统中禁用ipv6,这样hadoop这一步就不需要配置了
第十步:配置Name Node和Job Tracker
配置Name Node : 打开core-site.xml并输入如下内容
第一个配置了一个Name Node, 第二个配置了一个临时文件夹用于存储临时数据
记得新建上面配置的tmp文件夹
sudo mkdir /usr/local/hadoop/tmp
sudo chown nuggerster /usr/local/hadoop/tmp
改变这个文件夹的所属用户
配置Job Tracker: 打开mapred-site.xml并输入如下内容:
这里配置了一个job tracker
第十一步:格式化Name Node: hadoop namenode -format
第十二步:完成了,可以启动hadoop了:运行start-all.sh 可以输入jps来查看是不是运行了。
有没有人成功了?呵呵
关闭Hadoop: stop-all.sh
或者单独启动Name Node, Data Node: hadoop-daemons.sh start namenode
这些命令都在/hadoop/bin里面
3. Hadoop Demons & Stuff
从Web UI登录name Node:
hnname:50070
登录job tracker
hnname:50030
登录tast tracker
hnname:50060
在浏览器中输入上面的地址,可以看到web UI。
总结来说,其实安装Hadoop到一台机器上并不复杂,核心步骤就是下载Hadoop,解压,然后配置环境变量,配置jre运行环境,禁用ipv6,配置Name Node,配置Job Tracker。
其他的步骤,比如安装ssh和配置ssh,安装jre都属于前提条件。Hadoop的另外两种安装模式这个视频里面还没讲,以后如果讲到的话再补充吧。