Hadoop学习环境搭建
Apache Hadoop3.1.1虚拟机环境搭建
最近想学习一下大数据相关的知识,都说Hadoop是目前学习大数据必不可少的,所以那就先从Hadoop开始吧。第一步就是搭建一个Hadoop的环境,我选择的是用VirtualBox虚拟机搭建一个简单的Hadoop环境,Hadoop的版本是3.1.1。
工具准备
- 虚拟机工具:VIrtualBox
- 操作系统:CentOS7.5
- Hadoop-3.1.1
安装虚拟机
利用VirtualBox搭建虚拟机环境,一共安装三台虚拟机,一台作为namenode,两台作为datanode,三台虚拟机只有hostname和ip不同,其他相同,所以只演示一台的安装过程:
- 新建虚拟机,名称为hadoop001,操作系统选择Linux,版本选择Red Hat (64-bit),点击【下一步】 ;
- 设置内存和硬盘保存位置及大小,我是设置的2G内存和100G硬盘;
- 创建完成后,设置存储为下载的CentOS安装ISO文件,设置网络为桥接网卡,然后点击启动,开始安装操作系统;
- 安装操作系统不多赘述,正常安装即可,需要注意一点,安装过程中直接设置好hostname和IP地址;
- hadoop001安装完成,,hostname:hadoop001,ip:192.168.0.181。由于安装的是Minal模式,所以需要通过yum安装net-tools等工具。具体工具可百度。同时需要安装Java环境,简单说来就是下载jdk,然后解压到指定目录后,设置环境变量即可,此处不再具体叙述 ,可百度。连接linux和传输文件的工具可以用XShell和XFtp。
# Java environment
export JAVA_HOME=/usr/lib/java/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
- 按照hadoop001的方式安装完成hadoop002(hostname:hadoop002, ip:192.168.0.182),hadoop003(hostname:hadoop003, ip:192.168.0.183);此处的IP地址根据你自己的网络环境进行设置。按照hadoop001的方式安装完成hadoop002(hostname:hadoop002, ip:192.168.0.182),hadoop003(hostname:hadoop003, ip:192.168.0.183);此处的IP地址根据你自己的网络环境进行设置。
到此为止,虚拟机环境安装完成,接下来就是Hadoop的安装和配置过程
Hadoop安装和配置
- 第一步配置三台虚拟机之间能互相不用用户名密码访问
- 配置Hadoop
- 启动Hadoop
配置Hadoop001、Hadoop002、Hadoop003互相访问
- 虚拟机中设置host文件
vim /etc/hosts
三台机器做一样的设置
192.168.0.181 hadoop001
192.168.0.182 hadoop002
192.168.0.183 hadoop003
保证三台机器都能互相ping通
- 虚拟机hadoop001中生成ssh密钥
ssh-keygen -t rsa -P ''
hadoop002与hadoop003做同样的操作,完成后可以通过命令查看密钥对是否生成成功
ls /root/.ssh/
然后合并hadoop001、hadoop002、hadoop003的id_rsa.pub文件内容到authorized_keys文件中:
首先看一下三台机器中的id_rsa.pub内容
hadoop001
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4X22DpQ8VYtLZsz0bmd8M4DvU6Ixf6YuZ1ss7Y+gJPIL4X/X2bYIk14rRTPY3/N2lG758mh0OJL0ET1c4J+48g/YZ3gXvbeo4WxIfNaVF/5Qk64hTQjrDpT8BmOB0U/rzt3TDndnkKiOLuHsbaCSthkCZEN2Hrn1IcLVYIj5BxlS5Gtb3eFhKElNfFoFsnoIulMirxuqOld0UhSYNNBOcnZoTll/GUdHufDorlR0ADwM1AxbVo4uVPnDk4i1heVEXyL5iySxM5+Z+qYqywGyKHCBNEIBx0TpnCqnBofv0fd+pDNDbNHYbulAMLZbio85WlsSzhpL5Wws8M3LcGWFD root@hadoop001
hadoop002
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0MB7PUJYdVwEr9fKgJ1b8xaODbq4ZX0G/+YrLEj6e6/TNHo/M6U/bEPWkClT14PjI2SKXqVtHgMLD