随着网上课程开启,所有课程中大数据老师最为负责,讲课最为生动,勾起了学习欲望,开始搭建吧~
1、导入虚拟机
课程开始前,老师给了三个包,分别是master,slave1,slave2,用的系统是centos7,网上说centos更加专业一点,符合企业实战,ubuntu更加轻量级,但是呢,既然老师已经搭建好就用它吧!
首先呢,去年已经安装好了VM,所以省去了安装虚拟机环节,这个安装资料网上一大堆,没有实际困难。
Step 1:
将虚拟机包放到合适位置,觉得应该跟安装别的软件一样,可以放到D盘,如果放到桌面的话,后期万一移动,很可能因为位置改变打不开
Step 2:
老师给的centos适用于VM16版的,如果版本相同可以跳过,如果不同需要修改,版本查看方法
若版本不兼容直接导入的话报错:
无法获得 VMCI 驱动程序的版本: 句柄无效。 驱动程序“vmci.sys”的版本不正确。请尝试重新安装 VMware Workstation。 模块“DevicePowerOn”启动失败。
Step 3:修改配置文件版本型号
Step 4:导入到虚拟机
2、xshell下载安装,连接虚拟机
Step 1:下载官网xshell
参考Xshell 官方免费版下载流程,选择家庭版,填写邮箱,给我们发送下载链接
Step 2:登录虚拟机获取IP
登录虚拟机的用户名和密码,老师已经给了,都是root,输入ipconfig获取IP
Step 3:回到Xshell连接虚拟机
新建一个窗口,xshell默认最多创建5个窗口
输入虚拟机IP,SSH,默认端口22
如果不行,再次双击上面箭头所指的新建会话,以此填入用户名和密码
显示如下则连接成功,同理依次连接slave1,slave2
3 JDK安装与配置
Step 1: 下载JDK
关键词:
JDK:Java Development Kit Java开发工具包
JRE:Java Runtime Environment Java运行环境
官网安装的JDK中已包含JRE
下载包官网链接
将安装包放到喜欢的位置,安装JDK
Step 2:配置环境变量
要是没有配置环境变量的话,cmd中,无法显示版本号什么的
此电脑→(右键)属性→高级系统变量→环境变量→新建,新建环境变量,然后把jdk安装路径复制进去,路径截止到bin目录,最新版不需要配置%JAVA_HOME%什么的,也不需要配置classpath,只需要把安装路径添加到path就行,还有就是点确定保存后再去cmd验证,cmd若一直报错,需要重启。java jdk14 超简单环境变量配置教程 ,JDK安装教程
4 下载安装eclipse
官网链接
下载完安装包也就50多M,打开安装第一个组件for java developer那个。eclipse新建java项目
5 修改/etc/hosts(三台虚拟机都要操作)
5.1 修改 vim /etc/hosts文件
5.2 点击i进入编辑模式,加入三台机器的参数,:wq 保存退出
5.3 检查三台虚拟机是否ping通,以master为例,都能ping通
6 下载xftp6
与xshell同属一个公司,非商业版免费,注册邮箱获取下载链接官网链接
链接master,slave 1,slave 2,我没有更改主机模式和本地以太网什么的,cmd验证完能够ping通的话,直接在xftp新建会话输入虚拟机IP,用户名和密码就行
还是不要直接在centos命令行模式下配置文件,因为最简单的粘贴复制都需要配置,而xshell远程操作不存在这个问题
7 参数确定(IP地址,主机名称)(三台虚拟机都要操作)
7.1 分别在三台虚拟机查看三台虚拟机的ip地址,ifconfig即可
7.2 分别在三台虚拟机查看机器名称,并修改,主机改成master
7.3 重复上面步骤检查3台虚拟机IP地址和名称,可以更改自己所想改的.三台机器具体参数如下:
192.168.119.135 master
192.168.119.132 slave1
192.168.119.134 slave2
8 修改/etc/hosts(三台虚拟机都要操作)
8.1 修改 vim /etc/hosts文件
8.2 点击i进入编辑模式,加入三台机器的参数,:wq 保存退出(复制别人得图像,ip和名字参考自己得)
8.3 检查三台虚拟机是否ping通,以master为例,都能ping通.
9 给3台虚拟机配置密钥(老师已经配好了)
10 测试ssh无密码登陆
10.1 测试slave1,将图片得slave改成slave1
10.2 exit 退出(必须退出,否正其余的操作实在别的虚拟机上)
10.3 测试slave2
10.4 exit 退出(必须退出,否则其余的操作都是在别的虚拟机上进行的)
安装Hadoop
此处已经不需要安装JDK了,因为克隆时候主机已经安装JDK,所以三台虚拟机已经有JDK了
1 安装hadoop
1.1 新建hadoo文件夹(三台虚拟机都需要新建hadoop文件夹)
1.2 把下载好的Hadoop依次拖进三台虚拟机的/usr/hadoop文件夹里
1.3 分别在三台虚拟机对应的hadoop文件夹下压缩Hadoop文件(三台虚拟机都需要操作)
cd /usr/hadoop 切换到制定目录
tar -zxvf hadoop-2.7.3 解压文件
查看如下图:
在另外两台子机上进行如上操作
2 新建几个文件夹(只在master上操作即可)![在这里插入图片描述](https://img-blog.csdnimg.cn/20200409113309977.png)
3 修改Hadoop配置文件(只在master上操作即可,除了3.2三台虚拟机都要操作)
修改etc/hadoop目录下部分文件
3.1 修改core-site.xml,在节点内加入配置(通过vim > i > 输入内容 > esc > :wq ,)
路径: /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
3.2 修改hadoop-env.sh(三台都需要操作)
路径: /usr/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
将export JAVA_HOME=${JAVA_HOME}改成下面的红框jdk路径(这个jdk路径就是之前安装jdk的路径),老师安装得jdk路径为/export/servers/jdk
3.3 修改hdfs-site.xml,在节点内加入配置(通过vim > i > 输入内容 > esc > :wq ,)
路径: /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>true</value>
<description>need not permissions</description>
</property>
3.4 新建并且修改mapred-site.xml,在节点内加入配置(通过vim > i > 输入内容 > esc > :wq ,),原来没有mapred-site.xml,这个是自己新建得
路径: /usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template
<property>
<name>mapred.job.tracker</name>
<value>master:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.5 修改slaves(通过vim > i > 输入内容 > esc > :wq ,)
路径: /usr/hadoop/hadoop-2.7.3/etc/hadoop/slaves文件,将里面的localhost删除,添加如下内容:将图片里得slave,slave1,换成自己得slave1,slave2
3.6 修改yarn-site.xml文件,在节点内加入配置(通过vim > i > 输入内容 > esc > :wq ,)
路径: /usr/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<description>The https adddress of the RM web application.</description>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
<discription>每个节点可用内存,单位MB,默认8182MB</discription>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
启动Hadoop
1 初始化
进入到master这台机器的/usr/hadoop/hadoop-2.7.3/bin目录
cd /usr/hadoop/hadoop-2.7.3/bin 切换到指定目录
./hadoop namenode -format 执行命令
格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件
2 启动hadoop
进入到master这台机器的/usr/hadoop/hadoop-2.7.3/sbin目录,
cd /usr/hadoop/hadoop-2.7.3/sbin 切换到指定目录
./start-all.sh 执行命令
测试Hadoop
1 执行命令,关闭防火墙,CentOS7下,命令是:
2 在本地浏览器里访问如下地址: http://localhost:50070/ 自动跳转到了overview页面,这里得localhost就是master IP
3 在本地浏览器里访问如下地址: http://localhost:8088/自动跳转到了cluster页面