找回密码
 立即注册
搜索

一同大数据吧-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的镜像,并指定镜像的目录。




配置网络

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

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


设置wlan网络共享

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


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



设置虚机的子网和网关

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


配置虚机的静态地址

虚机可以ping通公网


虚机访问公网

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


虚机互访

宿主机可以ping通讯机


宿主机访问虚机

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


经过终端工具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设置后,可以经过主机名互通


经过主机名访问主机

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

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

在NameNode节点上生成密钥


生成ssh密钥


分别拷贝到三台机器上


验证免密登录


验证ssh免密登录

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

解压JDK

把紧缩包拖到linux目录下:


拷贝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验证能否失效。


验证JDK

安装Hadoop

安装

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


设置环境变量后执行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账户:


在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

一键启动集群

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


NameNode启动结果

slave1


Slave1启动结果

slave2


Slave2启动结果

访问Hadoop集群信息

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




经过网页访问集群信息

测实验证

上传测试文件

[root@master mapreduce]# hadoop fs -mkdir /input[root@master mapreduce]# hadoop fs -put /home/lulu/test.txt /input

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

运转hadoop示例程序

运转过程如下:


运转wordcount Hadoop程序

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


查看hdfs输入文件



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


查看hdfs的文件输入结果

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评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 显示全部楼层
有点兴趣,要有详细介绍就好啦。
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies