3.2分布式搭建 hostname 角色 登录用户 IP 网关 hapmaster 主控master hadoop 210.31.181.211 210.31.181.1 hapslave1 附属slave hadoop 210.31.181.216 210.31.181.1 hapslave2 附属slave hadoop 210.31.181.217 210.31.181.1 hapslave3 附属slave hadoop 2
hostname |
角色 |
登录用户 |
IP |
网关 |
hapmaster |
主控master |
hadoop |
210.31.181.211 |
210.31.181.1 |
hapslave1 |
附属slave |
hadoop |
210.31.181.216 |
210.31.181.1 |
hapslave2 |
附属slave |
hadoop |
210.31.181.217 |
210.31.181.1 |
hapslave3 |
附属slave |
hadoop |
210.31.181.218 |
210.31.181.1 |
hapslave4 |
附属slave |
hadoop |
210.31.181.219 |
210.31.181.1 |
表3-1 集群网络配置
1.安装ubuntu12.04 系统,更新源,初始化root用户,关闭防火墙,按表3-1中个节点的配置修改IP,更改hostname和hosts,重启电脑使更改生效。
a.更新源()
b.初始化root用户
打开终端输入:sudo passwd
Password: <--- 输入你当前用户的密码
Enter new UNIX password: <--- 新的Root用户密码
Retype new UNIX password: <--- 重复新的Root用户密码
sudo ufw disable
d.配置修改IP
用鼠标点右上角的网络设置进行修改,最好不要直接修改/etc/network/interfaces)
e.更改hostname和hosts
sudo vi /etc/hostname
f.编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面分别添加"hadoop ALL=(ALL) ALL",然后保存退出。2.安装SSH ,并检查是否安装成功。
sodu apt-get install ssh,如果不成功检查一下是否做过更新源。
3. 安装JDK,修改环境变量,使更改生效,查看java版本。
a.JDK要下载1.6.0版本的,最好安装到/home/hadoop下。
b.修改环境变量sudo gedit /etc/profile
export JAVA_HOME=/hadoop/jdk1.6.0_41
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
c.使更改生效sudo source /etc/profiled.查看java版本java -version
4. 安装Hadoop(下载地址http://pan.baidu.com/s/1o62oUeA),配置环境变量,重载 source /etc/profile,查看hadoop版本,赋予用户对hadoop安装目录可写的权限。
a.安装
sudo tar -zxvf hadoop-2.3.0.tar.gz -C /home/hadoop
b.配置环境变量
在export PATH=/hadoop/hadoop-2.3.0/sbin:/hadoop/hadoop-2.3.0/bin:$JAVA_HOME/bin:$PATH$
c.重载
source /etc/profile
d.查看hadoop版本
hadoop version
e.赋予用户对hadoop安装目录可写的权限
sudo chown -hR hadoop/hadoop-2.3.0/
5. Hadoop集群配置
配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/home/hadoop/jdk1.6.0_41)
配置文件2:yarn-env.sh
修改JAVA_HOME值(exportJAVA_HOME=/home/hadoop/jdk1.6.0_41)
配置文件3:slaves,这个文件里面保存所有slave节点的hostname。
hapslave1
hapslave2
hapslave3
hapslave4
配置文件5:hdfs-site.xml
配置文件6:mapred-site.xml
6. 使用将hapmaster的所有文件及配置复制到hapslave,修改IP和hostname;
7. 生成新公钥,并复制到其他节点,重启SSH服务命令使其生效,并登陆。
8.启动hadoop集群,查看集群状态。
start-all.sh
9. 测试WordCount在本地新建文件夹input,内有两文本文件,内容为单词。上传输入文件到HDFS,运行WordCount ,运行如下图所示
查看结果 ./bin/hadoop fs -cat /output/part-r-00000
停止,运行情况如下图所示。
4 开发平台的配置
4.1 Eclipse安装
1. 进入安装包所在的文件夹,并解压安装包到hadoop用户文件夹下。
tar -zxvf eclipse-standard-luna-M2-linux-gtk.tar.gz -C /home/hadoop/
4.2 在eclipse上安装hadoop插件
1. 复制hadoop-eclipse-plugin-2.3.0.jar到eclipse安装目录/plugins/下(下载地址http://pan.baidu.com/s/1jGC60KY,重命名为hadoop-eclipse-plugin-2.3.0.ja)。
2. 重启eclipse,配置hadoop installation directory。
打开Window-->Preferens,选择Hadoop Map/Reduce选项,在这个选项里配置Hadoop installationdirectory。配置完成后退出。
3. 配置Map/Reduce Locations。
在Window-->Show View中打开Map/Reduce Locations。
在Map/Reduce Locations中新建一个Hadoop Location。在这个View中,右键-->New Hadoop Location。在弹出的对话框中配置Location name为Hadoop,Map/Reduce Master Host为210.31.181.211,Port为10020;DFS Master Port为9000.
4. 新建Map/Reduce项目,验证hadoop插件是否安装成功。
File-->New-->Other-->Map/Reduce Project项目名取为WordCount。 复制hadoop-2.3.0-src/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/WordCount.java到workspace刚刚新建的的项目文件夹下。
5. 上传模拟数据文件夹。
在DFS Locations下的文件夹处点击右键,选择上传一个文件夹。在弹出的窗口中填入要上传的文件夹的路径。
6. 用Eclipse运行WordCount。
在新建的项目下,点击WordCount.java,右键-->Run As-->RunConfigurations。
在弹出的Run Configurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount。
配置运行参数,点Arguments,在Program arguments中输入hdfs://210.31.181.211:9000/input/hdfs://210.31.181.211:9000/output。
配置VM arguments为-Xms512m -Xmx1024m-XX:MaxPermSize=256m。
点击Run as-> Run on Hadoop,运行程序。
7. 查看运行结果
在DFS Location处点击鼠标右键->Refresh
在part-r-00000处点击右键->View,查看运行结果。
4.3 添加HIPI接口
把hipi-dev.tar.gz(下载地址http://pan.baidu.com/s/1eQFwzFc)中3rdparty中的metadata-extractor-2.3.1.jar导入的到项目中去。
将junit-4.11.jar导入到项目中。
由于现在HIPI还有一些BUG,所以把hipi-dev.tar.gz中src的源码和experiments源码引入到eclipse的jar项目中,一方面便于学习源码,另一方面便于修改其中的问题。