搭建伪分布式hadoop系统
一、搭建思路
- 软件准备
- 基础平台环境搭建
- Hadoop环境搭建
- Hadoop环境测试
- 问题解决
二、软件准备
选择在虚拟机中搭建伪分布式hadoop集群系统,首先确定要使用哪些环境软件,使用软件准备如下(其他版本软件也可以尝试使用):
- VMware Workstation Pro 虚拟机,云盘链接:https://pan.baidu.com/s/1-fTvQ_MSN0o9xT9VqXToOw 提取码:4bbj
- CentOS-7-x86_64-Everything-1908 服务器系统,云盘链接:https://pan.baidu.com/s/12Xl2R-PAlJGPr9Hq410l1g 提取码:p4qd
- jdk-8u231-linux-x64.tar Java jdk环境安装包,云盘链接:https://pan.baidu.com/s/1h6qrNM10B6Vl-3p06lLpEg 提取码:j071
- hadoop-2.8.3.tar Hadoop文件安装包,云盘链接:https://pan.baidu.com/s/14EsLaoY1rPMYwTehDhxdvQ 提取码:mfo3
- MobaXterm_Installer_v11.1远程登陆辅助工具,云盘链接:https://pan.baidu.com/s/1F43kT3ejIZ8PLZT9KqWlDw 提取码:kqjj
- WinSCPPortable ftp 客户端文件上传工具,云盘链接:https://pan.baidu.com/s/1LfZoDopgf7FvbUrCJ1tu4g 提取码:8hbi
三、基础平台环境搭建
1、VMware Workstation Pro 虚拟机安装调试
(1)解压安装包后,双击应用程序
(2)弹出对话框,单击下一步
(3)弹出对话框,勾选同意并单击下一步
(4)根据自己需要更改安装位置(可以不修改),并单击下一步
(5)可以不检查、不晚上,单击下一步
(6)单击下一步
(7)单击完成安装
(8)单击需课程,将下载文本文件中的需课程复制进来
(9)输入永久产品许可证**
(10)点击输入并完成安装
(11)桌面出现图标,表示完成安装
(12)虚拟机环境设置
为便于搭建的环境适用于不同的局域网环境,我将虚拟机设置为通过NAT访问外部网络,将虚拟机内部所有系统做成一个单独的局域网环境,并关闭DHCP动态配置,规划设计网段为192.168.150.0/24,网关设置为192.168.150.2。
(13)双击打开虚拟机桌面
(14)打开虚拟网络编辑器
(15)更改设置
(16)点击设置NAT配置
(17)修改网关IP地址,并确认
(18)修改本地虚拟网络地址vmnet8地址为手工
2、CentOS-7-x86_64-Everything-1908 服务器系统安装调试
(1)新安装的操作系统,地址规划为192.168.150.100/24, 网关地址规划为192.168.150.2;用户名:root;密码[email protected]
(2)双击打开桌面虚拟机
(3)点击创建虚拟机,其它选择默认,并单击下一步
(4)选择稍后安装系统,并单价下一步
(5)选择Linux Cetos 64位操作系统并单击下一步
(6)修改虚拟机名称为伪分布式Hadoop系统,并修改位置为指定位置,单击下一步,本步骤可以全部默认
(7)修改容量大小,实际盘中不需要完全对应起来,单击下一步
(8)自定义硬件
(9)定义内存
(10)重新定义处理器
(11)定义系统ISO镜像文件路径
(12)关闭并完成
(13)开启虚拟机
(14)直接安装Centos 7
(15)选择中文继续
(16)设置安装信息
(17)软件选择
(18)安装位置
(19)设置网络
(20)开始安装
(21)点击root密码配置
(22)配置root密码为[email protected]
(23)需要15分钟左右完成后重启
(24)点击未接受许可证
(25)勾选我同意,完成
(26)完成配置
(27)弹出来的对话框一直前进继续下一步,并配置计算机名称为node1
(28)弹出对话框输入密码[email protected]
(29)系统设置完成,在虚拟机按钮下找到tools安装点击安装
(30)桌面右击打开终端,测试网络连通性
(31)查看地址,测试网关
使用命令:ifconfig
使用命令:ping 192.168.150.2
注意:如果不通信,重新修改网络信息
使用命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33
添加如下信息:
IPADDR="192.168.150.100"
PREFIX="24"
GATEWAY="192.168.150.2"
DNS1="8.8.8.8"
按i键盘,进入编辑模式,编写如下网卡信息,完成按esc退出编辑模拟,打”:wq!”完成保存并强制退出
重启网卡:service network start
3、MobaXterm_Installer_v11.1远程登陆安装调试
(1)解压文件
(2)双击文件,一直采用默认方式下一步安装软件
(3)双击打开软件,通过设置地址192.168.150.100,用户名:root;登录到Cetos 7操作系统中
(4)输入密码:[email protected]
(5)Enter进入系统中
4、WinSCPPortable 文件上传工具安装调试
(1)上传工具为免安装工具,解压既可以使用
(2)解压后软件
(3)设置软件上传路径
(4)更新保存路径
(5)完成路径设置
四、Hadoop环境搭建
1、在Cetos 系统上为Hadoop的安装创建3个独立目标:分别是软件存放目录/opt/software,Hadoop平台的安装目录/opt/hadoop,测试文件存放目录/opt/test
(1) 使用命令: cd /opt 进入opt目录
(2)使用命令:mkdir software和mkdir hadoop 和mkdir test创建目录
(3)使用命令:ls 查看创建文件夹
2、将软件上传到对应目录
(1)打开WinSCP上传jdk,Hadoop软件
(2)上传成功
(3)也可以通过命令行查看已经上传成功
使用命令:ls /opt/software/
3、jdk-8u231-linux-x64.tar Java jdk环境安装调试
(1)解压缩安装jdk
使用命令:tar zxvf jdk-8u231-linux-x64.tar.gz -C /opt/hadoop/
查看已经成功安装解压,使用命令:ls
(2)重命名文件夹,便于后面调用编写
使用命令:mv jdk1.8.0_231/ jdk1.8
重命名生效
(3)设置JAVA_HOME
将jdk环境路径插入到目录最下方,使用命令:
vi /etc/profile
export JAVA_HOME=/opt/hadoop/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(4)应用变量
使用命令:source /etc/profile
(5)查看使用版本情况
使用命令:java -version
4、hadoop-2.8.3.tar Hadoop 环境安装调试
(1)解压缩安装Hadoop
使用命令:tar zxvf /opt/software/hadoop-2.8.3.tar.gz -C /opt/hadoop/
(2)查看已经完成解压缩
(3)重命名文件夹
使用命令:mv hadoop-2.8.3/ hadoop
已经重命名
(4)设置Hadoop环境变量
使用命令:vi /etc/profile
export HADOOP_HOME=/opt/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5、配置hadoop文件
(1)进入配置目录配置文件
使用命令:cd /opt/hadoop/hadoop/etc/hadoop/
(2)配置 Core-site.xml
使用命令:vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoop/data/full/tmp</value>
</property>
</configuration>
(3)配置Hdfs-site.xml
使用命令:vi hdfs-site.xml
<configuration>
<!-- 设置dfs副本数,不设置默认是3个 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(4)mapred-site.xml
由于Hadoop文件中没有携带mapred-site.xml文件,但是可以有mapred-site.xml.template复制过来
使用命令: cp mapred-site.xml.template mapred-site.xml
使用命令:vi mapred-site.xml
配置文件
<configuration>
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)yarn-site.xml
使用命令:vi yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value> localhost:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value> localhost:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value> localhost:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value> localhost:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value> localhost:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
</configuration>
(6)设置hadoop-env.sh环境变量
使用命令:vi hadoop-env.sh
export JAVA_HOME=/opt/hadooo/jdk1.8
. hadoop-env.sh 应用变量
(7)设置yarn-env.sh环境变量
使用命令:vi yarn-env.sh
export JAVA_HOME=/opt/hadooo/jdk1.8
. yarn-env.sh 应用变量
(8)设置mapred-env.sh环境变量
使用命令:vi mapred-env.sh
export JAVA_HOME=/opt/hadooo/jdk1.8
. mapred-env.sh 应用变量
(9)如果集群是第一次启动,需要格式化namenode
使用命令:hdfs namenode -format
必须看到成功
(10)启动hadoop服务
可以一次性全部启动
使用命令:start-all.sh
可以单独一个个服务启动
使用命令:
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start secondarynamenode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
各个服务显示已经启动成功
(11)查看java进程状态命令
使用命令: jps
(12)查看接口服务情况
使用命令:ss -tnl
五、Hadoop环境测试
1、Web 登陆
(1)打开虚拟机中服务器浏览器
(2)输入地址http://192.168.150.100:50070
(3)路径下面目前并没有任何数据
(4)通过命令也能看到HDFS主目录下面是空信息
使用命令:hdfs dfs -ls /
(5)在Hadoop平台上创建测试用文件夹
使用命令:hdfs dfs -mkdir /hdfstest
已经创建成功
(6)在本地/opt/test目录中编辑文件
使用命令:vi mp01_01.txt
已经文件
(7)将本地编辑文件上传到hdfs中/hdfstest目录中,查看效果
使用命令:hdfs dfs -put mp01_01.txt /hdfstest
(8)查看已经上传成功
使用命令:hdfs dfs -cat /hdfstest/mp01_01.txt
(9)通过web界面也能看到已有文件存在
六、问题解决
本次实验在启动hadoop服务的时候出现了问题,下面是解决过程,在整个Hadoop的搭建过程中,基本问题都会出现在环境变量上面,重点考虑的排错思路。
1、开启所有服务的时候报错
(1)问题1:hadoop-env.sh 没有修改
(2)问题2:改成绝对路径