请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群

Windows 10构建基于Linux环境的Hadoop集群

软件版本
安装VMware
----安装虚机
----配置网络
----配置主机与IP地址映射
----关闭防火墙
-----配置SSH免密登录
安装JDK
----解压JDK
----设置环境变量
安装Hadoop
----安装
----配置Hadoop
----启动Hadoop
访问Hadoop集群信息
测实验证
----上传测试文件
-----运转hadoop示例程序
Windows 10构建基于Linux环境的Hadoop集群

软件版本

VMvare运用收费的开发版本Download VMware Workstation Player | VMware | CN
Centos-7和JDK镜像可以从华为云下载,速度快点https://repo.huaweicloud.com/
Hadoop直接从官网下载即可。
MobaXterm是一款比较好用的终端工具,可以方便地经过ssh访问虚机和资源拷贝,直接从官网下载收费版。

  • 操作系统 Windows10
  • VMware WorkStation Pro12
  • CentOS-7-x86_64-DVD-2009.iso
  • openjdk-15.0.2_linux-x64_bin.tar.gz
  • hadoop-3.3.0.tar.gz
  • MobaXterm_Personal_21.1
安装VMware

安装虚机

安装过程,直接选用典型安装即可,按导游一步一步执行,需求提早下载好CentOS的镜像,并指定镜像的目录。

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-1.jpg


一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-2.jpg

配置网络

刚装完的虚机无法衔接网络,无法停止yum安装,所以需求先配置网络。
配置要求:

  • 虚机之间互相ping通
  • 虚机和宿主机之前互通ping通,经过宿主机ssh可以访问虚机
  • 虚机可以访问公网
设置wlan网络共享

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-3.jpg

设置wlan网络共享

配置虚拟网络,设置nat形式,子网和网关设置成与宿主机上设置的分歧。比如子网都是192.168.137.0,
网关都是192.168.137.2。

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-4.jpg

查看宿主机设置的虚机子网和网关


一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-5.jpg

设置虚机的子网和网关

配置每个虚机的静态地址,由于不希望地址每次变来变去,这里设置成静态地址
配置vi /etc/sysconfig/network-srcipts/ifcfg-ens33修正配置后执行service network restart重启网络服务即可。

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-6.jpg

配置虚机的静态地址

虚机可以ping通公网

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-7.jpg

虚机访问公网

虚机之间互通ping通,虚机可以ping通宿主机

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-8.jpg

虚机互访

宿主机可以ping通讯机

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-9.jpg

宿主机访问虚机

由于在VMware上访问虚机很不方便,需求和宿主机之间不断切换,可以安装MobaXterm访问虚机,如下:

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-10.jpg

经过终端工具MobaXterm访问虚机

至此,虚机1可以访问公网,虚机之间互通,虚机和宿主机之间可以互通。
配置主机与IP地址映射

配置主机和IP地址的映射可以经过主机名访问主机
配置/etc/hosts如下:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.137.10 master192.168.137.11 slave1192.168.137.12 slave2设置后,可以经过主机名互通

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-11.jpg

经过主机名访问主机

其他节点也一样设置即可。
关闭防火墙

firewall-cmd --statesystemctl stop firewalld.servicesystemctl disable firewalld.service配置SSH免密登录

在NameNode节点上生成密钥

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-12.jpg

生成ssh密钥


分别拷贝到三台机器上

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-13.jpg

验证免密登录

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-14.jpg

验证ssh免密登录

至此安装hadoop的后期三台虚机的安装,网络配置,ssh配置,防火墙配置等都曾经完成,下面就末尾进入到安装环节。
安装JDK

解压JDK

把紧缩包拖到linux目录下:

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-15.jpg

拷贝JDK紧缩包

拷贝到/usr/local/目录下并解压:
cp openjdk-15.0.2_linux-x64_bin.tar.gz /usr/local/tar -zxvf openjdk-15.0.2_linux-x64_bin.tar.gz设置环境变量

在/etc/profile配置文件最后加上:
export JAVA_HOME=/usr/local/software/jdk-15.0.2export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH执行source /etc/profile即可。
经过java --version验证能否失效。

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-16.jpg

验证JDK

安装Hadoop

安装

将紧缩文件分别拷贝到/usr/local/software/目录下解压tar -zxvf hadoop-3.3.0.tar.gz即可。

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-17.jpg

设置环境变量后执行source /etc/profile
export JAVA_HOME=/usr/local/software/jdk-15.0.2export HADOOP_HOME=/usr/local/software/hadoop-3.3.0export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin配置Hadoop

配置hadoop-env.sh
配置jdk的途径:
export JAVA_HOME=/usr/local/software/jdk-15.0.2配置core-site.xml
<configuration>    <property>        <name>fs.defaultFS</name>        <value>hdfs://master:9000</value>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>/usr/local/software/hadoop-3.3.0/tmp</value>    </property></configuration>配置hdfs-site.xml
<configuration>    <!-- 设置namenode的http通讯地址 -->    <property>        <name>dfs.namenode.http-address</name>        <value>master:50070</value>    </property>    <!-- 设置secondarynamenode的http通讯地址 -->    <property>        <name>dfs.namenode.secondary.http-address</name>        <value>slave1:50090</value>    </property>    <!-- 设置namenode存放的途径 -->    <property>        <name>dfs.namenode.name.dir</name>        <value>/usr/local/software/hadoop-3.3.0/name</value>    </property>    <!-- 设置hdfs副本数量 -->    <property>        <name>dfs.replication</name>        <value>3</value>    </property>    <!-- 设置datanode存放的途径 -->    <property>        <name>dfs.datanode.data.dir</name>        <value>/usr/local/software/hadoop-3.3.0/data</value>    </property></configuration>配置mapred-site.xml
<configuration>    <!-- 告诉框架MR运用YARN -->    <property>        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property>        <property>        <name>yarn.application.classpath</name>        <value>        /usr/local/software/hadoop-3.3.0/etc/hadoop,        /usr/local/software/hadoop-3.3.0/share/hadoop/common/lib/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/common/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/hdfs,        /usr/local/software/hadoop-3.3.0/share/hadoop/hdfs/lib/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/hdfs/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/mapreduce/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/yarn,        /usr/local/software/hadoop-3.3.0/share/hadoop/yarn/lib/*,        </value>    </property></configuration>配置yarn-site.xml
<configuration>    <!-- 设置 resourcemanager 在哪个节点-->    <property>        <name>yarn.resourcemanager.hostname</name>        <value>master</value>    </property>    <!-- reducer取数据的方式是mapreduce_shuffle -->    <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.application.classpath</name>        <value>        /usr/local/software/hadoop-3.3.0/etc/hadoop,        /usr/local/software/hadoop-3.3.0/share/hadoop/common/lib/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/common/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/hdfs,        /usr/local/software/hadoop-3.3.0/share/hadoop/hdfs/lib/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/hdfs/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/mapreduce/*,        /usr/local/software/hadoop-3.3.0/share/hadoop/yarn,        /usr/local/software/hadoop-3.3.0/share/hadoop/yarn/lib/*,        </value>    </property></configuration>配置workers
指定工作节点
masterslave1slave2启动Hadoop

格式化namenode
[root@master bin]# ./hdfs namenode -format启动失败,缘由是经过root创建的时分,要配置hdfs和yarn的root账户:

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-18.jpg

在start-dfs.sh和stop-dfs.sh末尾添加如下配置
HDFS_DATANODE_USER=rootHADOOP_SECURE_DN_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root在start-yarn.sh和stop-yarn.sh末尾的地方添加如下配置
YARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=root重新启动
[root@master sbin]# ./start-all.sh
一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-19.jpg

一键启动集群

查看启动状况,三个虚机的hadoop各组件已正常启动
master

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-20.jpg

NameNode启动结果

slave1

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-21.jpg

Slave1启动结果

slave2

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-22.jpg

Slave2启动结果

访问Hadoop集群信息

可以看到一个NameNode和三个DataNode节点

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-23.jpg


一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-24.jpg

经过网页访问集群信息

测实验证

上传测试文件

[root@master mapreduce]# hadoop fs -mkdir /input[root@master mapreduce]# hadoop fs -put /home/lulu/test.txt /input
一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-25.jpg

上传测试文件.txt外面存储英文单词

运转hadoop示例程序

运转过程如下:

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-26.jpg

运转wordcount Hadoop程序

可以看到在hdfs上曾经生成了输入out文件

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-27.jpg

查看hdfs输入文件



查看运转的结果如下,可以看出来wordcount程序已正确运转并输入。

一同大数据吧-Windows 10构建基于Linux环境的Hadoop集群-28.jpg

查看hdfs的文件输入结果

至此,一个残缺的linux环境下的Hadoop集群环境就搭建和运转完成了,后续可以在这个环境停止学习会更贴合实践的部署的环境,也可以基于这个环境去做一些demo验证或参数调测等。
回复

使用道具 举报

大神点评4

Tomarctus 2021-6-10 16:34:44 显示全部楼层
毛用
回复

使用道具 举报

渡她一生shine 2021-6-11 12:47:38 来自手机 显示全部楼层
楼主永远支持你,无论怎样
回复

使用道具 举报

漫游斩神剑 2021-6-12 10:19:30 显示全部楼层
纯粹路过,没任何兴趣,仅仅是看在老用户份上回复一下
回复

使用道具 举报

狼飞天地 2021-6-13 11:20:37 显示全部楼层
有点兴趣,要有详细介绍就好啦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册