之前搭建了伪分布的hadoop,也是在google、百度上找了很久了资源。很费时费力 遇到的问题又很多。现在 记录一下自己的搭建过程,同时也提供给有hadoop搭建需求的小伙伴些许的帮助。
环境
centos8
jdk1.8
win10 64位系统
VMware workstation15
3台虚拟机 1台master 另外两台slaver01、slaver02
- Hadoop全分布式搭建
- 一、Hadoop和jdk下载
- 二、Linux系统网络配置
- 1. 主机名和ip映射配置,
- 2. 网络参数配置
- 三、SSH服务配置
- 1.关闭防火墙
- 2. SSH远程登录配置
- 3. SSH免登录功能配置
- 四、Hadoop集群搭建
- 1. 配置环境变量并使之生效
- 2. 修改hadoop-env.sh 文件(配置Hadoop运行所需要的环境变量)
- 3. 修改配置文件core-site.xml(Hadoop核心布局配置文件)
- 4. 修改配置文件hdfs-site.xml(HDFS配置文件,继承core-site.xml文件)
- 5. 修改配置文件mapred-site.xml(MapReduce配置文件,继承core-site.xml文件)
- 6. 修改配置文件yarn-site.xml(YARN配置文件,继承core-site.xml文件)
- 7. 新建master文件(/opt/hadoop/etc/hadoop/)目录下
- 8. 新建workers文件(/opt/hadoop/etc/hadoop/)目录下
- 9. 新建tmp、name、data文件夹(/opt/hadoop/)目录下 因为配置文件中用到了这些文件夹
- 10. 将master机配置好的文件复制到slaver01、slaver02 上去
- 五、启动集群
- 1. 第一次启动需格式化,之后不需要了
- 2. 启动Hadoop进程
- 3. 查看进程
- 六、查看web界面
- 1.在浏览器中访问http://master:50070查看HDFS的web界面
- 2.在浏览器中访问http://master:8088查看YARN的web界面
- 七、总结
一、Hadoop和jdk下载
在清华镜像源网站获得hadoop和jdk的网址链接,然后在centos8中直接使用wget 链接 下载tar.gz的压缩包. 可在centos8终端直接使用下载:
hadoop使用wget下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
jdk使用wget下载
wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz
下载的链接
Hadoop-3.3.1 577M
openJDK8 98M
openjdk和jdk的区别可查看这篇文章
openjdk和jdk区别
下载速度挺快的
-
我放在hadoop用户的根目录下,没有hadoop用户的建议创建一个hadoop用户。下载完成后显示如下:
-
切换到root 用户解压到当前目录
使用 tar -zxvf filename解压tar.gz文件
-
将其移动到centos8的总根目录下的/opt/ 下
mv hadoop-3.3.1 /opt/ mv jdk8u282-b08 /opt/
一样的哈 之前装了jdk17 后来发现jdk17启动时会报错 出问题 于是改为了jdk8
- cd /opt/切换目录 ls 查看
使用vim /etc/hosts
(注意每台虚拟机的hostname 都要修改为对应的主机名 )
在每台虚拟机上分别执行hostnamectl set-hostname 主机名
设置对应的主机名
配置IP映射 需要明确目前虚拟机的IP地址和主机名
虚拟机的IP地址需设置在这个范围内
vim /etc/sysconfig/network-scripts/ifcfg-ens33
我的网卡是eth33 有些人的可能是eth0 根据个人情况更改这个名称即可.
IPADDR:虚拟机IP地址
GATEWAY:虚拟网关 一般是将ip地址最后一位数变为2
NETMASK:表示虚拟机子网掩码 配置为255.255.255.0
DNS1:表示域名解析器 此处用google提供的免费DNS服务器8.8.8.8(也可以设置为PC端计算机对应的DNS)
- 重启虚拟机,使当前配置生效reboot
关闭:systemctl stop firewalld.service暂时关闭
禁用:systemctl disable firewalld.service 永久关闭
查看:systemctl status firewalld.service
(1)在centos系统中查看当前机器是否安装了SSH服务使用rpm-qa | grep ssh
使用ps -e | grep sshd 查看SSH服务是否开启。Centos虚拟机已经默认安装并开启了SSH服务,不需要再进行额外的安装。如果未安装可使用 yum install openssh-server
(2) 登录到Xshell7 连接到虚拟机
其他几台从节点虚拟机类似
SSH免登录是通过配置公钥和私钥来实现的
切换到root用户
(1)生成公钥和私钥:ssh-keygen -t rsa 然后分别敲三个回车 就会生成两个文件id_rsa(私钥),id_rsa.pub(公钥)
分别删除虚拟机master slaver01 slaver02的~/.ssh目录
master: rm -rf .ssh slaver01: rm -rf .ssh slaver02: rm -rf .ssh
在master虚拟机上新建公私密钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
(2)复制本地用户的公钥到远程主机指定hadoop用户的认证库中
ssh-copy-id root@master ssh-copy-id root@slaver01 ssh-copy-id root@salver02
(3)验证SSH免登录是否配置成功
ssh slaver01四、Hadoop集群搭建 1. 配置环境变量并使之生效
切换到root 用户 su 回顾一下我的opt下有些什么
给文件重命名
mv hadoop-3.3.1 hadoop mv jdk8u282-b08 jdk
打开环境变量配置文件vim /etc/profile
添加java和hadoop环境变量
使用source /etc/profile使配置生效
查看jdk和是否安装正确 使用java -version 和 hadoop version
在opt目录下 使用vim hadoop/etc/hadoop/hadoop-env.sh在末尾加入以下export
下面的配置都在opt/hadoop/etc/hadoop目录下进行
3. 修改配置文件core-site.xml(Hadoop核心布局配置文件)vim core-site.xml4. 修改配置文件hdfs-site.xml(HDFS配置文件,继承core-site.xml文件)
vim hdfs-site.xml5. 修改配置文件mapred-site.xml(MapReduce配置文件,继承core-site.xml文件)
vim mapred-site.xml6. 修改配置文件yarn-site.xml(YARN配置文件,继承core-site.xml文件)
vim yarn-site.xml7. 新建master文件(/opt/hadoop/etc/hadoop/)目录下
vim master8. 新建workers文件(/opt/hadoop/etc/hadoop/)目录下
vim workers9. 新建tmp、name、data文件夹(/opt/hadoop/)目录下 因为配置文件中用到了这些文件夹
cd /opt/hadoop/ mkdir tmp name data10. 将master机配置好的文件复制到slaver01、slaver02 上去
#传输环境变量配置文件 scp /etc/profile slaver01:/etc/ scp /etc/profile slaver02:/etc/ #传输 scp -r /opt slaver01:/ scp -r /opt slaver02:/
使用
ssh slaver01 java -version hadoop version ssh slaver02 java -version hadoop version
验证两台虚拟机已经配置好
这一步需要花些时间 复制传输完成后 需要切换到每台虚拟机 执行source /etc//profile 使配置文件生效
然后使用java -version 和hadoop version验证是否成功
三台虚拟都要做下面的流程
1. 第一次启动需格式化,之后不需要了hdfs namenode -format2. 启动Hadoop进程
在/opt/hadoop目录下使用
./sbin/start-dfs.sh ./sbin/start-yarn.sh #或者 ./sbin/start-all.sh
master的jps
slaver01的jps
slaver02的jps
使用jps
六、查看web界面 1.在浏览器中访问http://master:50070查看HDFS的web界面master可改为master的ip地址
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ 七、总结
Hadoop的全分布式安装到这里就结束了。当然在这个过程中遇到了一些稀奇古怪的问题。虽然很不爽 但也只能耐着性子一个一个却解决了。大概的搭建流程就是这样了。可能大家在搭建过程中会碰到不同的问题,光看一篇博客 可能解决不了。以下几篇是我参考的博客。❤❤
参考博客
Hadoop-3.2.1 centos8下分布式集群部署
Hadoop全分布教程(非常详细)
解决jps没有显示那么多进程



