栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Hadoop3.2.0完全分布式搭建

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hadoop3.2.0完全分布式搭建

**

hadoop3.2.0完全分布式搭建

**

配置

1.Centos7镜像 (官网下) 教程:
2.Vmware16(白嫖)
3.jdk-8u321-linux-x64(官网应该有)
4.hadoop-3.2.0(忘记在哪里下了)

centos7安装教程:https://www.cnblogs.com/wendy-0901/p/12978534.html

一、单台虚拟机准备 1、设置虚拟机静态IP

打开终端(就是右键点击,打开终端)
输入cd /etc/sysconfig/network-scripts
再输入ls
找到类似于ifcfg-ensXX的文件,XX表示idcfg-ens后的数字,可能不一样

输入su进入超级管理者权限

输入vim /etc/sysconfig/network-scripts/ifcfg-ensXX
注意标红的地方,没有的项就加上,IPADDR就是你想静态的IP地址,GATWARE和DNS1一会儿编辑linux虚拟机的虚拟网络编辑器时说明。

vim使用:
编辑:输入“i
保存退出:点击Esc ,再输入“:wq”
不保存:点击Esc ,再输入“:q!”
复制快捷键: ctrl+shift+c
粘贴快捷键:ctrl+shift+v

关机

查看Linux虚拟机的虚拟网络编辑器,编辑->虚拟网络编辑器->VMnet8


点击更改设置

点击添加网络,确定。
再选择NAT模式。
子网IP设置为192.168.1.0,就直接将后面两个改成1和0。
再点击NAT设置网关设置静态IP地址时的DNS1一致。
再点击应用。


确定退出

查看Windows系统适配器VMware Network Adapter VMnet8的IP地址
位置在设置 --> 网络和Internet --> 更改适配器选项
右键点击VMnet8,再点击属性,再双击Internet协议版本4(TCP/IPV4)
确定默认网关与DNS服务器一致

以下所有步骤要进入超级管理者

2、修改该虚拟机主机名:

输入
vim /etc/hostname
直接删完,写你想要的主机名。
记得重启生效

3、配置主机映射:

输入
vim /etc/hosts

再后面添加格式:IP 主机名
假设有两台从节点,要加多少节点,就在后面加。
192.168.1.103 hadoop1
192.168.1.104 hadoop2

4、关闭防火墙

注:每次启动都要搞,有永久关闭的我搞不来
systemctl stop firewalld.service

5、创建atguigu用户

useradd atguigu
修改密码
passwd atguigu
重启
reboot
进入atguigu用户

打开终端
输入chmo 777 /etc/sudoers
再输入 vim /etc/sudoers
在图示位置输入 atguigu ALL =(ALL) ALL

保存退出
输入 chmod 444 /etc/sudoers ,将/etc/sudoers文件权限改回

退出root权限,输入exit

进入opt目录 输入 cd /opt
创建module文件 sudo mkdir module
创建software文件 sudo mkdir softaware
修改module、software文件夹的所有者cd :sudo chown atguigu:atguigu module/ software/

查看创建好没 ,输入 ll

6、安装JDK

1)、安装xshell,
获取下载地址
https://www.xshell.com/zh/free-for-home-school/
在该界面输入你的邮箱,获得下载链接

再打开你输入的邮箱,点击链接下载

安装
点击下一步
接受许可,下一步


点击浏览,选择你要安装的位置,再点击下一步

点击安装

点击完成


2)连接xshell
点击新建

填写名称,就链接的主机名
主机,就是链接的主机IP地址

再点击用户身份验证,输入用户名:auguigu,再输入密码.

点击连接
再点击接受并保存


就ok了。
进入opt文件 cd /opt

3)、卸载现有JDK
查询是否安装java软件 rpm -qa | grep java

除了tzdata-java-2020a-1.el7.noarch ,javapackages-tools-3.4.1-11.el7.noarch,其他全卸载
xshell里的复制快捷键: ctrl +insert
粘贴快捷键:shift+insert
sudo rpm -e --nodeps 文件名
结果:

在xshell中输入 rz 如果没有弹出选框,输入sudo yum -y install lrzsz

进入/opt/software文件目录 cd /opt/software
输入:rz
在选框中找到自己要用的文件,点击打开。
顺路将hadoop的压缩包传到虚拟机中
输入ll查看文件

将jdk压缩包解压到/opt/module文件目录下

tar -zxvf jdk-8u321-linux-x64.tar.gz -C /opt/module

进入/opt/module目录下

7、配置JDK环境变量

获取JDK路径 pwd
创建/etc/profile.d/env.sh文件
sudo vim /etc/profile
在最后写入

JAVA_HOME=/opt/module/jdk1.8.0_321
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

输入 source /etc/profile 使文件生效
输入 java -version

JDK配置完成

8、配置hadoop

进入/opt/software目录

将hadoop压缩包解压到/opt/module

tar -zxvf Hadoop-3.2.0.tar. gz -C /opt/module

进入/opt/module目录
查看

创建/etc/profile.d/env.sh文件
在里面输入

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

使文件生效

source /etc/profile.d/env.sh

查看hadoop版本
hadoop version

二、集群搭建

1、克隆两台虚拟机

点击下一页

选择完整克隆,下一页

选择你克隆机的位置和名字,点击完成

克隆两台吧,重复上述步骤。

2、修改克隆机的hostname
启动克隆机,进入终端,进入root权限
su
vim /etc/hostname

全部删了,改成克隆机的主机名
修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将103改成别的数字 ,范围1~255,不能重复

重启reboot

3、编写集群分发脚本
在master主机上写
在/home/atguigu目录上写

[atguigu@master ~]$ cd /home/atguigu
[atguigu@master ~]$ mkdir bin
[atguigu@master ~]$ cd /bin

输入vi xsync
新建xsync脚本文件

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
:
#4 获取当前用户名称
user=`whoami`

#5 循环   ,in后面加你的所有节点名。
for host in master hadoop1 hadoop2
do
    echo ------------------- $host --------------
    rsync -av $pdir/$fname $user@$host:$pdir
done

修改脚本 xsync 具有执行权限

chmod 777 xsync

调用脚本形式:xsync 文件名称

xsync /home/atguigu/bin
2、ssh免密登录配置

生成公钥和私钥
ssh-keygen -t rsa
然后敲三次回车

将公钥拷贝到要免密登录的目标机器

ssh-copy-id master

再输入目标机器的密码

再试一下免密登录
ssh master
输入exit退出(一定要记得)

记得要复制到你创建的所有虚拟机

3、集群部署规划

注意:NameNode和SecondaryNameNode不要安装在同一台服务器
注意:ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。

4、配置核心文件

1)配值core-site.xml
输入cd /opt/module/hadoop-3.2.0/etc/hadoop
输入vi core-site.xml
在该文件中 内编写如下配置

注意:第一个中的master是主节点的hostname,第二个记得要把自己的hadoop版本改一改。



		fs.defaultFS
      hdfs://master:9000    




		hadoop.tmp.dir
		/opt/module/hadoop-3.2.0/data/tmp

2)HDFS配置文件
配置hadoop-env.sh
在文本末尾添加

vi hadoop-env.sh

在该文件中 内编写如下配置
export JAVA_HOME=/opt/module/jdk1.8.0_321
配置hdfs-site.xml
其中第二个中的hadoop1是辅助节点的hostname


		dfs.replication
		1



      dfs.namenode.secondary.http-address
      hadoop2:50090

3)YARN配置文件
配置yarn-env.sh
输入vi yarn-env.sh
添加以下

export JAVA_HOME=/opt/module/jdk1.8.0_321

配置yarn-site.xml
输入 vi yarn-site.xml
在该文件中增加如下配置
注意:第二个中的hadoop1我ResourceManger的hostname



		yarn.nodemanager.aux-services
		mapreduce_shuffle




		yarn.resourcemanager.hostname
		hadoop1




    yarn.log-aggregation-enable
    true




    yarn.log-aggregation.retain-seconds
    604800

4)MapReduce配置文件
配置mapred-env.sh
输入vi mapred-env.sh
配置以下

export JAVA_HOME=/opt/module/jdk1.8.0_321

配置mapred-site.xml
输入vi mapred-site.xml
在该文件中增加如下配置
注:记得修改第二和第三处内的master



		mapreduce.framework.name
		yarn




    mapreduce.jobhistory.address
    master:10020




    mapreduce.jobhistory.webapp.address
    master:19888

5)slaves配置文件/opt/module/hadoop-3.2.0/etc/hadoop/workers
注:hadoop3.0版本前的是slaves
输入vi works
在文件中添加所有节点的hostname
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

5、分别在hadoop1、hadoop2的/opt目录下创建module文件夹,并修改所有者和所有者组为atguigu
[atguigu@hadoop1 opt]$ sudo mkdir module
[atguigu@hadoop1 opt]$ sudo chown atguigu:atguigu module/
[atguigu@hadoop2 opt]$ sudo mkdir module
[atguigu@hadoop2 opt]$ sudo chown atguigu:atguigu module/
6、在集群上分发配置好的etc/profile配置文件

在master主机上

sudo scp /etc/profile root@hadoop1:/etc/profile
sudo scp /etc/profile root@hadoop2:/etc/profile

在另外两台虚拟机中分别执行 source /etc/profile
[atguigu@hadoop1 module]$ source /etc/profile
[atguigu@hadoop2 module]$ source /etc/profile

三、启动集群 1、第一次启动需要格式化NameNode

进入hadoop-3.2.0/bin目录

cd /opt/module/hadoop-3.2.0/bin

进行格式化:

hdfs namenode -format

2、启动HDFS
在master上进行:进入sbin目录
cd /opt/module/hadoop-3.2.0/sbin
启动hdfs

./start-dfs.sh

在三台机子上输入jps,如果三台都出现datanode就行

在hadoop1上进行:进入sbin目录
cd /opt/module/hadoop-3.2.0/sbin
启动yarn

./start-yarn.sh

三台机子输入jps,都有Nodemanager就行。

结束。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/882087.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号