Hadoop大数据集群搭建(超详细)

使用了几个学期的实验手册,应该没有啥大问题了,现在分享给大家,希望对你学习hadoop有用

实验环境: Vmware workstation + CentOS 7 + Hadoop 3.1.3

目录

第一步:安装虚拟机

第二步:虚拟机克隆

第三步:网络配置

第四步:ssh服务配置

第五步:安装JDK

第六步:安装Hadoop

第七步:Hadoop集群配置

第八步:格式化文件系统

第九步:启动和关闭hadoop集群

第十步:通过UI界面查看hadoop运行状态

第十一步:hadoop集群初体验


第一步:安装虚拟机

下载地址:下载 VMware Workstation Pro | CNHadoop大数据集群搭建(超详细)_第1张图片

Hadoop大数据集群搭建(超详细)_第2张图片

Hadoop大数据集群搭建(超详细)_第3张图片

Hadoop大数据集群搭建(超详细)_第4张图片

Hadoop大数据集群搭建(超详细)_第5张图片

点击自定义硬件,如果点击弹框有问题,就先点击完成,然后在外边点击自定义硬件(见第二个图)

Hadoop大数据集群搭建(超详细)_第6张图片

Hadoop大数据集群搭建(超详细)_第7张图片Hadoop大数据集群搭建(超详细)_第8张图片Hadoop大数据集群搭建(超详细)_第9张图片Hadoop大数据集群搭建(超详细)_第10张图片Hadoop大数据集群搭建(超详细)_第11张图片

Hadoop大数据集群搭建(超详细)_第12张图片Hadoop大数据集群搭建(超详细)_第13张图片Hadoop大数据集群搭建(超详细)_第14张图片Hadoop大数据集群搭建(超详细)_第15张图片Hadoop大数据集群搭建(超详细)_第16张图片

Hadoop大数据集群搭建(超详细)_第17张图片Hadoop大数据集群搭建(超详细)_第18张图片

Hadoop大数据集群搭建(超详细)_第19张图片Hadoop大数据集群搭建(超详细)_第20张图片

以上就完成虚拟机的安装了

进去后,创建文件夹

mkdir -p /export/data

mkdir -p /export/servers

mkdir -p /export/software

Hadoop大数据集群搭建(超详细)_第21张图片

第二步:虚拟机克隆

搭建集群需要3个虚拟机,hadoop01,hadoop02,hadoop03,已经安装了hadoop01,剩下两个需要用到虚拟机克隆

Hadoop大数据集群搭建(超详细)_第22张图片

Hadoop大数据集群搭建(超详细)_第23张图片

Hadoop大数据集群搭建(超详细)_第24张图片

Hadoop大数据集群搭建(超详细)_第25张图片Hadoop大数据集群搭建(超详细)_第26张图片

相同的方法克隆hadoop03

第三步:网络配置

三个虚拟机的ip分别为

192.168.121.134 hadoop01

192.168.121.135 hadoop02

192.168.121.136 hadoop03

1.配置网络的准备工作

编辑-虚拟网络编辑器

Hadoop大数据集群搭建(超详细)_第27张图片Hadoop大数据集群搭建(超详细)_第28张图片

Hadoop大数据集群搭建(超详细)_第29张图片

Hadoop大数据集群搭建(超详细)_第30张图片

Hadoop大数据集群搭建(超详细)_第31张图片

Hadoop大数据集群搭建(超详细)_第32张图片

然后点击确定,再点确定

设置本机网络(win10举例)

Hadoop大数据集群搭建(超详细)_第33张图片

Hadoop大数据集群搭建(超详细)_第34张图片

Hadoop大数据集群搭建(超详细)_第35张图片

Hadoop大数据集群搭建(超详细)_第36张图片

2. 开启3台虚拟机, 配置主机名

vi /etc/hostname       

修改hadoop02和hadoop03的hostname为 hadoop02 和 hadoop03

(注:这是CentOS7的修改方法,CentOS6修改/etc/sysconfig/network)

3. 配置ip映射

vi /etc/hosts

在文件末尾添加以下3行

192.168.121.134 hadoop01

192.168.121.135 hadoop02

192.168.121.136 hadoop03

Hadoop大数据集群搭建(超详细)_第37张图片同时修改hadoop02和hadoop03

4. 修改静态ip

在hadoop01上(如果文件中的参数都没有引号“”,则需要去掉)

vi  /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO="static"

ONBOOT="yes"

新增以下ip设置

IPADDR="192.168.121.134"

NETMASK="255.255.255.0"

GATEWAY="192.168.121.2"

DNS1="114.114.114.114"

Hadoop大数据集群搭建(超详细)_第38张图片

然后在hadoop02和hadoop03上分别设置成121.135和121.136

5. 重启虚拟机

reboot

完成重启后测试下网络是否OK,命令ping www.baidu.comHadoop大数据集群搭建(超详细)_第39张图片

第四步:ssh服务配置

1. 确认ssh服务已开启(默认已开启)

ps -e | grep sshd

2. 三台机器生成公钥和私钥

ssh-keygen -t rsa

执行该命令,按3下回车

3. 拷贝公钥到另外两台机器

在hadoop01,hadoop02和hadoop03上分别执行以下三行

ssh-copy-id hadoop01

ssh-copy-id hadoop02

ssh-copy-id hadoop03

Hadoop大数据集群搭建(超详细)_第40张图片都执行完毕后,三台机器就可以使用ssh连接而无需输入密码了

测试一下:

在hadoop02上输入ssh hadoop03,能够免密登录

然后exit退出回来hadoop02

==========================   快照    ==================================

Hadoop大数据集群搭建(超详细)_第41张图片

Hadoop大数据集群搭建(超详细)_第42张图片

第五步:安装JDK

1. 下载JDK

在jave网站上下载

Java Archive Downloads - Java SE 8

jdk-8u161-linux-x64.tar.gz(网站上下载需要注册,可以从群共享里获取)

2. 安装JDK

上传JDK到linux(SecureCRT工具里使用SecureFXPortable,MobaxTerm里使用自带的tftp功能,注意上传位置,是 /export/software/)

使用MobaxTerm里使用自带的tftp功能

Hadoop大数据集群搭建(超详细)_第43张图片执行解压缩操作:解压到 /export/servers

cd /export/software/

tar -zxvf jdk-8u161-linux-x64.tar.gz -C /export/servers/

cd /export/servers/

重命名为jdk

mv jdk1.8.0_161/ jdk

Hadoop大数据集群搭建(超详细)_第44张图片

3. 配置JDK环境变量

vim /etc/profile

添加如下内容

export JAVA_HOME=/export/servers/jdk

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

Hadoop大数据集群搭建(超详细)_第45张图片修改完成之后记得使用命令source /etc/profile,使修改生效

4. JDK环境验证

java -version

第六步:安装Hadoop

1. 下载Hadoop 3.1.3

Index of /dist/hadoop/common

Hadoop大数据集群搭建(超详细)_第46张图片

2. 安装Hadoop

同样通过mobaxterm的上的SFTP功能(或其他工具)上传到/export/software目录下,然后解压到/export/servers目录下

cd /export/software

mobaxterm的上的SFTP功能

Hadoop大数据集群搭建(超详细)_第47张图片

tar -zxvf hadoop-3.1.3.tar.gz -C /export/servers/

Hadoop大数据集群搭建(超详细)_第48张图片

3. 配置Hadoop系统环境变量

vim /etc/profile

配置环境变量

export HADOOP_HOME=/export/servers/hadoop-3.1.3

export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

同时添加hadoop为root用户,否则启动的HDFS的时候可能会报错

export HDFS_NAMENODE_USER=root

export HDFS_DATANODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

Hadoop大数据集群搭建(超详细)_第49张图片

执行source /etc/profile命令,让配置生效

4. 验证Hadoop环境

hadoop version

==========================   快照    ==================================

第七步:Hadoop集群配置

集群配置如下:

Hadoop大数据集群搭建(超详细)_第50张图片

1、配置Hadoop集群主节点

(1)修改hadoop-env.sh文件

cd /export/servers/hadoop-3.1.3/etc/hadoop

vim hadoop-env.sh

找到export JAVA_HOME的位置修改

export JAVA_HOME=/export/servers/jdk

Hadoop大数据集群搭建(超详细)_第51张图片

(2)修改core-site.xml文件

主要是配置主进程NameNode的运行主机和运行生成数据的临时目录

vim core-site.xml

写入以下内容

      

              fs.defaultFS

              hdfs://hadoop01:9000

      

   

              hadoop.tmp.dir

              /export/servers/hadoop-3.1.3/tmp

      

Hadoop大数据集群搭建(超详细)_第52张图片

(3)修改hdfs-site.xml文件

设置HDFS数据块的副本数量以及second namenode的地址

vim hdfs-site.xml

写入以下内容

      

              dfs.replication

              3

      

      

              dfs.namenode.secondary.http-address

              hadoop02:50090

      

Hadoop大数据集群搭建(超详细)_第53张图片

(4)修改mapred-site.xml文件

设置MapReduce的运行时框架

vim mapred-site.xml

写入以下内容

      

              mapreduce.framework.name

              yarn

      

Hadoop大数据集群搭建(超详细)_第54张图片

(5)修改yarn-site.xml文件

设置yarn集群的管理者

vim yarn-site.xml

写入以下内容

  

              yarn.resourcemanager.hostname

              hadoop01

      

   

              yarn.nodemanager.aux-services

              mapreduce_shuffle

   

Hadoop大数据集群搭建(超详细)_第55张图片

(6)修改workers文件

该文件用来记录从节点的主机名(hadoop 2.x中为slaves文件)

打开该配置文件,先删除里面的内容(默认localhost),然后配置如下内容。

vim workers

删除默认内容,添加以下内容

hadoop01

hadoop02

hadoop03

Hadoop大数据集群搭建(超详细)_第56张图片

2、将集群主节点的配置文件分发到其他子节点

完成Hadoop集群主节点hadoop01的配置后,还需要将系统环境配置文件、JDK安装目录和Hadoop安装目录分发到其他子节点hadoop02和hadoop03上,具体指令:

 scp /etc/profile hadoop02:/etc/profile

 scp /etc/profile hadoop03:/etc/profile

 scp -r /export/ hadoop02:/

 scp -r /export/ hadoop03:/

传完之后要在hadoop02和hadoop03上分别执行 source /etc/profile 命令,来刷新配置文件

如果使用scp时需要输入密码,请重新检查ssh配置!

第八步:格式化文件系统

初次启动HDFS集群时,必须对主节点进行格式化处理。在hadoop01上执行

格式化文件系统指令如下:

hdfs namenode -format

Hadoop大数据集群搭建(超详细)_第57张图片

 不要多次格式化主节点!

第九步:启动和关闭hadoop集群

脚本一键启动:

hadoop01主节点上执行:

start-dfs.sh

Hadoop大数据集群搭建(超详细)_第58张图片

可以通过jps看到

Hadoop大数据集群搭建(超详细)_第59张图片Hadoop大数据集群搭建(超详细)_第60张图片

Hadoop大数据集群搭建(超详细)_第61张图片

在主节点上执行

start-yarn.sh

Hadoop大数据集群搭建(超详细)_第62张图片

Hadoop大数据集群搭建(超详细)_第63张图片Hadoop大数据集群搭建(超详细)_第64张图片

如果想要关闭,输入stop-dfs.sh即可(不要执行)

第十步:通过UI界面查看hadoop运行状态

1. 关闭防火墙功能

3虚拟机上均执行以下命令

本次临时关闭防火墙、永久关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

2. 修改windows下ip映射

打开C:\Windows\System32\drivers\etc下的hosts文件,添加以下内容(注:如果没有notepad++这类软件,可以通过记事本保存在其他位置,然后拖动到该文件夹下)

192.168.121.134 hadoop01

192.168.121.135 hadoop02

192.168.121.136 hadoop03

Hadoop大数据集群搭建(超详细)_第65张图片

在浏览器输入

http://hadoop01:9870

http://hadoop01:8088

即可访问HDFS和Yarn

Hadoop大数据集群搭建(超详细)_第66张图片

 Hadoop大数据集群搭建(超详细)_第67张图片

 

==========================   快照    ==================================

第十一步:hadoop集群初体验

统计word.txt中各单词出现的次数

在Hadoop01创建如下目录,并添加测试文件

mkdir -p /export/data

cd /export/data

vi word.txt

写入下列内容

hello world

hello hadoop

hello students

Hadoop大数据集群搭建(超详细)_第68张图片

在HDFS上创建 /wordcount/input目录

hadoop fs -mkdir -p /wordcount/input

创建完成后可以在HDFS的网站上看到

Hadoop大数据集群搭建(超详细)_第69张图片 

Hadoop大数据集群搭建(超详细)_第70张图片

将word.txt上传到该目录下

hadoop fs -put /export/data/word.txt /wordcount/input

Hadoop大数据集群搭建(超详细)_第71张图片

 

执行该程序(参考下文中可能遇到的问题,问题1、2为必现问题,建议直接修改)

cd /export/servers/hadoop-3.1.3/share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-3.1.3.jar wordcount /wordcount/input /wordcount/output

Hadoop大数据集群搭建(超详细)_第72张图片 

查看结果如下:

Hadoop大数据集群搭建(超详细)_第73张图片

 

 

注意:

可能遇到的问题1:

找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

解决方法:

输入 hadoop classpath

复制返回的信息

修改yarn-site.xml

cd /export/servers/hadoop-3.1.3/etc/hadoop

vim yarn-site.xml

新增以下内容

        yarn.application.classpath

        输入刚才返回的Hadoop classpath路径

 

Hadoop大数据集群搭建(超详细)_第74张图片

 

可能遇到的问题2:

Container killed on request. Exit code is 143

解决方法:

cd /export/servers/hadoop-3.1.3/etc/hadoop

vim mapred-site.xml

    mapreduce.map.memory.mb

    2048

    maps的资源限制scription>

    mapreduce.reduce.memory.mb

    2048

    reduces的资源限制

Hadoop大数据集群搭建(超详细)_第75张图片 

可能遇到的问题3:

无法找到路由

解决方法:

关闭hadoop02和hadoop03的防火墙

可能遇到的问题4

A JNI error has occured,please check your installation and try again

解决方法

Hadoop的JAVA_HOME版本设置未更改,例如未去掉注释等,三台虚拟机全都改好后重启hdfs和yarn

cd /export/servers/hadoop-3.1.3/etc/hadoop

vim hadoop-env.sh

可能遇到的问题5

part-r-00000 下载不成功

解决方法:

windows下ip映射有问题

可能遇到的问题6

ERROR: Cannot set priority of namenode process XXXXXX

解决方法:

仔细检查xml文件,一般是前边第七步的xml文件写错了,或者修改了hadoop01没有同时修改hadoop02/03导致的

你可能感兴趣的:(大数据Hadoop,hadoop)