搭建hadoop2.6.0开发环境
前言:因为没有实体机做测试,要学习hadoop搭建环境,在本地笔记本做3台linux虚拟机是个蛮不错的选择。安装一个VMware,准备3台一样的linux虚拟机. Linux虚拟机ISO:
虚拟机平台服务器版本:
PS:关于软件,软件描述如下所示:
本地笔记本:T420,8G内存,64位操作系统,配置如下:
1.安装虚拟机
1.1安装VMware-workstation,一路下一步即可,导入Centos,使用ISO方式搭建linux虚拟机
2.安装linux虚拟机
2.1安装VMware-workstation完成后,选择新建虚拟机,导入Centos,使用ISO方式搭建linux虚拟机
选择路径
选择多核
选择2G内存
选择桥连接的方式
选择磁盘I/O方式
创建全新的虚拟机
选择磁盘类型
虚拟机文件存储方式
设置虚拟机文件存放路径
完成打开,报错如下:
Could not prepare the install disc at E:\\software\\wmware\\CentOS-6.5-x86_64-bin-DVD1.iso. Make sure that you are using a valid Linux install disc. If the error persists,you may need to reinstall VMware Workstation.
原因是笔记本没有开启虚拟机功能选项,重启电脑,然后按住F1键,进入BIOS设置,找到Virtual选项,设置成enable,然后保存退出。
打开报错:EDD: Error 8000 reading sector 2073976
原因是:VMware Workstation 9,版本太老,升级到10版本,就OK了。
设置虚拟机网络连接(固定IP) 设置连接方式为NAT模式
看下是否能上外网,左键点击笔记本右下角无线图标,再点击打开网络与共享中心,关闭VMnet01,只保留VMnet08,然后使用默认的IPv4的ip地址192.168.52.1
克隆另外一台完全一模一样的虚拟机
在虚拟机name02上右键弹出菜单里点击”管理(M)”,然后点击右边下拉菜单”克隆(C)”,如下所示:
继续下一步
选择创建完成克隆(F)
设置好名称和位置,点击完成
开始复制,时间较长,耐心等待,如下
点击关闭按钮,完成本次clone。
在使用同样的办法,clone另外一台data02出来,如下图所示:
OK,最后3台一模一样配置的虚拟机全部搭建完成,可以去搭建hadoop环境,可以开始大数据学习之旅了。
3.安装JDK7
3.1下载JDK安装包
安装版本:jdk-7u60-linux-x64.gz
查看最新:http://www.oracle.com/technetwork/java/javase/downloads/index.html
3.2解压安装
我们把JDK安装到这个路径:/usr/lib/jvm 如果没有这个目录,我们就新建一个目录 cd /usr/lib
sudo mkdir jvm
将jdk-7u60-linux-x64.tar.gz复制到linux桌面 tar zxvf jdk-7u60-linux-x64.tar.gz -C /usr/lib/jvm
3.3配置环境变量
(1)只对当前用户生效 vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60 export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
保存退出,然后输入下面的命令来使之生效
source ~/.bashrc
(2)对所有用户生效(root用户登录) vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60 export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
保存退出,然后输入下面的命令来使之生效 source /etc/profile
3.4配置默认JDK(一般情况下这一步都可以省略)
由于一些Linux的发行版中已经存在默认的JDK,如OpenJDK等。所以为了使得我们刚才安装好的JDK版本能成为默认的JDK版本,我们还要进行下面的配置。 执行下面的命令:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_60/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_60/bin/javac 300 注意:如果以上两个命令出现找不到路径问题,只要重启一下机器在重复上面两行代码就OK了。
执行下面的代码可以看到当前各种JDK版本和配置: sudo update-alternatives --config java
3.5测试
在linux命令行,使用java -version来查看java版本,显示结果如下:
4安装hadoop2.6.0
4.1系统架构
集群角色:
主机名 ip地址 角色
name01 192.168.85.128 NameNode、ResourceManager(JobTracker) data01 192.168.85.129 DataNode、NodeManager(TaskTracker) data02 192.168.85.130 DataNode、NodeManager(TaskTracker) 系统环境:
centos6.5 x64 vmware vpc
硬盘:30G 内存:2G
4.2环境准备
a. 系统设置: 关闭iptables:
/sbin/service iptables stop /sbin/chkconfig iptables off 关闭selinux: setenforce 0
sed \
vi /etc/hosts
#localhost.localdomain=data01 #或者name01,data02 192.168.52.128 name01 192.168.52.129 data01 192.168.52.130 data02
hostname name01; hostname data01; hostname data02; 设置节点名称,所有节点执行
b. 用户目录创建 :
创建hadoop运行账户:
使用root登陆所有机器后,所有的机器都创建hadoop用户 useradd hadoop //添加用户 passwd hadoop //修改密码
#sudo useradd –s /bin/bash –d /home/hadoop –m hadoop –g hadoop –G admin //添加一个zhm用户,此用户属于hadoop用户组,且具有admin权限。 #su hadoop //切换到zhm用户中
c.创建hadoop相关目录:
定义需要数据及目录的存放路径,定义代码及工具存放的路径 mkdir -p /home/hadoop/src mkdir -p /home/hadoop/tools
chown -R hadoop.hadoop /home/hadoop/*
d. 定义数据节点存放的路径到跟目录下的hadoop文件夹, 这里是数据节点存放目录需要有足够的空间存放
mkdir -p /data/hadoop/hdfs mkdir -p /data/hadoop/tmp mkdir -p /var/logs/hadoop chmod -R 777 /data/hadoop
chown -R hadoop.hadoop /data/hadoop/* chown -R hadoop.hadoop /var/logs/hadoop