鉴于部分网友在搭建hadoop2.2.0过程中遇到各种各样的问题,特记录本人搭建集群环境,以作参考。
1、虚拟机:VMware® Workstation,版本:10.0.0
2、操作系统:ubuntu-13.10
3、hadoop版本:hadoop-2.2.0下载地址
4、jdk1.6.0_45
5、本文所用两台机器分工如下:
hostname | user | ip | functions |
master | hadoop | 192.168.234.128 | NameNode/SecondaryNameNode/ResouceManager |
slave1 | hadoop | 192.168.234.129 | DataNode/NodeManager |
6、登陆工具:SecureCRT Version 6.2.0
7、开发工具:eclipse-kepler
在此,虚拟机中ubuntu操作系统的安装以及设置不再赘述。
vi /etc/profile
加入下列几行(本文java安装路径为:/usr/local/java/):
export JAVA_HOME=/usr/local/java/jdk1.6.0_45 export CLASSPATH=.:$JAVA_HOME/lib/lib.tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH
保存后输入:source /etc/profile 以使其生效。
验证:输入:java -version
sudo apt-get install ssh
设置local无密码登陆
安装完成后会在当前用户主目录,即这里的/home/hadoop下产生一个隐藏文件夹.ssh(ll 或者ls -a 命令可以查看隐藏文件)。如果没有这个文件,自己新建即可,命令为:mkdir .ssh。
具体步骤如下:
2.1、 进入.ssh文件夹
2.2、 ssh-keygen -t rsa 之后一路回 车(产生秘钥)
2.3、 把id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)
2.4、 重启 SSH 服 务命令使其生效 :service ssh restart
此时已经可以进行ssh localhost的无密码登陆
现在可以用SecureCRT登录了,SecureCRT的会话设置如下图:
3.1、vi /etc/hostname
改为:master
3.2、vi /etc/hosts
如下图所示:
ufw disable
~/dfs/name
~/dfs/data
~/temp
1)hadoop-env.sh
修改JAVA_HOME值:
export JAVA_HOME=/usr/local/java/jdk1.6.0_45
2)、yarn-env.sh
修改JAVA_HOME值:
export JAVA_HOME=/usr/local/java/jdk1.6.0_45
3)、slaves
加入:slave1
4)、core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/temp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property> </configuration>
5)、hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
6)、mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> </configuration>
7)、yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> </configuration>
hadoop集群中每个机器上面的配置基本相同,所以我们先在namenode上面进行配置部署,然后再复制到其他机器,然后稍作修改即可。
修改slave1的hostname:slave1
7.1 启动hadoop
进入安装目录: cd ~/hadoop-2.2.0/
格式化namenode:./bin/hdfs namenode –format
启动hdfs: ./sbin/start-dfs.sh
查看java进程命令:jps
此时在master上面运行的进程有:
namenode
secondarynamenode
slave1上面运行的进程有:datanode
启动yarn: ./sbin/start-yarn.sh
此时在master上面运行的进程有:
namenode
secondarynamenode
resourcemanager
slave1上面运行的进程有:
datanode
nodemanager
或者使用命令./sbin/start-all.sh
查看集群状态:./bin/hdfs dfsadmin –report
查看文件块组成: ./bin/hdfs fsck / -files -blocks
查看HDFS: http://master:50070
本文是在windows环境下安装eclipse,然后连接hadoop
配置hadoop路径
打开Map/Reduce视图:
新建并编辑hadoop参数:
3、配置完之后的eclipse: