hadoop2.2.0集群安装
说明:目前官方hadoop2.2只有32位的版本,安装到64位肯定有问题,比如执行jar包会提示没有本地库。。。。。。。。。如果要安装64位的,需要自己编译,这里不做阐述,一下都以32位说明。
环境:试验使用的虚拟机ubuntu12.04(32位)。Jdk使用的1.7(1.6也可以)。网络配置好,相互可以ping通,java环境安装完毕。
第一部分 Hadoop 2.2 下载
Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2。官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独下载src 源码自行编译(这里使用的32位)。
下载地址: http://apache.claz.org/hadoop/common/hadoop-2.2.0/
如下图所示,下载红色标记部分即可。如果要自行编译则下载src.tar.gz.
第二部分 Hadoop 2.2 安装准备
2.1java配置
第三部分 Hadoop 2.2 安装
3.1集群环境
172.72.103.230 master
172.72.103.231 node1 172.72.103.231 node2 172.72.103.231 node3
3.1.1修改主机名
Vi /etc/hostname,直接修改即可
3.1.2修改/etc/hosts
172.72.103.230 master
172.72.103.231 node1
172.72.103.232 node2
172.72.103.233 node3
3.1.3 master无密登录node节点和本身
在master节点上安装完成后会在~目录(当前用户主目录,即这里的/home/hadoop)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。
具体步骤如下:
1、进入.ssh文件夹
2、 ssh-keygen -t rsa 之后一路回车(产生秘钥)
3、把id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)
4、重启 SSH 服务命令使其生效 :service ssh restart
此时已经可以进行ssh localhost的无密码登陆
【注意】:以上操作在每台机器上面都要进行。(node节点无密登录自身不是必须的,可以省去,但是安装ssh与.ssh文件必须要有)
设置远程无密码登陆
这里只有master是master,如果有多个namenode,或者rm的话则需要打通所有master都其他剩余节点的免密码登陆。(将master的authorized_keys追加到所有node的authorized_keys后面)
3 .2 解压hadoop 文件
在每台机器上建立/opt(一定使用你要安装hadoop的用户操作,总之保证安装包都是hadoop用户所有即可)将hadoop包放入解压
3.3创建hadoop 的需要文件(元数据目录)
在master上的/home/hadoop下创建如下目录
~/dfs/name
~/dfs/data
~/temp
这些目录是根据下面的配置文件里自己所写的路径创建,可以自己决定名称与路径
3.4配置文件
这里要涉及到的配置文件有7个:
~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
~/hadoop-2.2.0/etc/hadoop/yarn-env.sh
~/hadoop-2.2.0/etc/hadoop/slaves
~/hadoop-2.2.0/etc/hadoop/core-site.xml
~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
~/hadoop-2.2.0/etc/hadoop/mapred-site.xml
~/hadoop-2.2.0/etc/hadoop/yarn-site.xml
以上个别文件默认不存在的,可以复制相应的template文件获得。
配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java/jdk1.7.0_40)
配置文件2:yarn-env.sh
修改JAVA_HOME值(exportJAVA_HOME=/usr/java/jdk1.7.0_40)
配置文件3:slaves (这个文件里面保存所有slave节点)
写入以下内容:
node1
node2
Node3
配置文件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/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.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>
<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>
以上配置在每个机器上都相同,也可以在一台配置后复制到其他节点。
3.5 启动验证
进入安装目录: cd /opt/hadoop-2.2.0/
格式化namenode:./bin/hdfs namenode –format
启动hdfs: ./sbin/start-dfs.sh
此时在master上面运行的进程有:namenode secondarynamenode
各个node上面运行的进程有:datanode
启动yarn: ./sbin/start-yarn.sh
此时在master上面运行的进程有:namenode secondarynamenoderesourcemanager
各个node上面运行的进程有:datanode nodemanaget
在master上:
查看集群状态:./bin/hdfs dfsadmin –report
查看文件块组成: ./bin/hdfsfsck / -files -blocks
查看HDFS: http://172.72.103.230:50070
查看RM: http:// 172.72.103.230:8088