如上图 准备好该准备的食材(ps:其中的hadoop-3.1.2-src更改为hadoop-3.1.2
src为源文件的意思? 反正就是换了 大家注意一下 后面截图有错的地方有空我再改吧 肝疼)
安装好centos7
桌面右键打开terminal——输入ifconfig——查看ens33的ip——记住然后打开xftp6
点击新建
把食材多选,右键传输即可,内网传输速度不快不慢
所示很完美了
解压hadoop安装包 tar -zxvf hadoop-3.1.2-src.tar.gz
重新装了centos7 解压的时候分文件夹了
如上图编写
打开xshell 新建
输入你的主机ip 在用户身份验证上写上用户名和密码
yes就完事了——然后三台机器都需要改了名字
时间同步 时区一致。要保证设置主机时间准确,每台机器时区必须一致。实验中我们需要同步网络时间,因此要首先选择一样的时区。先确保时区一样,否则同步以后时间也是有时区差。可以使用 date 命令查看自己的机器时间. 选择时区:tzselect
1.关闭防火墙
当其状态是 dead 时,即防火墙关闭。 关闭防火墙:systemctl stop firewalld 查看状态:systemctl status firewalld
2. hosts文件配置 (三台机器) 如下图输入各节点的ip
3. master 作为 ntp 服务器,修改 ntp 配置文件。(master 上执行)
vi /etc/ntp.conf
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10 #stratum 设置为其它值也是可以的,其范围为 0~15
重启 ntp 服务。
/bin/systemctl restart ntpd.service
其他机器同步(slave1,slave2)
等待大概五分钟,再到其他机上同步该 master 服务器时间。
ntpdate master
如果配置平台式没有外网连接可以将三台机器设为统一时间,输入命令:
date -s 10:00(时间)
终于走到正题??? 别慌快了
1. SSH免密
(1)每个结点分别产生公私密钥:
ssh-keygen -t dsa -P ‘' -f ~/.ssh/id_dsa(三台机器)
秘钥产生目录在用户主目录下的.ssh 目录中,进入相应目录查看:
cd .ssh/
(2)Id_dsa.pub 为公钥,id_dsa 为私钥,紧接着将公钥文件复制成 authorized_keys 文 件:(仅 master)
cat id_dsa.pub >> authorized_keys(注意在.ssh/路径下操作)
在主机上连接自己,也叫做 ssh 内回环。
ssh master
(3)让主结点 master 能通过 SSH 免密码登录两个子结点 slave。(slave 中操作)
为了实现这个功能,两个 slave 结点的公钥文件中必须要包含主结点的公钥信息,这样
当 master 就可以顺利安全地访问这两个 slave 结点了。
slave1 结点通过 scp 命令远程登录 master 结点,并复制 master 的公钥文件到当前的目录
下,且重命名为 master_das.pub,这一过程需要密码验证。
scp master:~/.ssh/id_dsa.pub ./master_das.pub
将 master 结点的公钥文件追加至 authorized_keys 文件:
cat master_das.pub >> authorized_keys
(1)每个结点分别产生公私密钥: ssh-keygen -t dsa -P ‘' -f ~/.ssh/id_dsa(三台机器)秘钥产生目录在用户主目录下的.ssh 目录中,进入相应目录查看: cd .ssh/ (2)Id_dsa.pub 为公钥,id_dsa 为私钥,紧接着将公钥文件复制成 authorized_keys 文 件:(仅 master) cat id_dsa.pub >> authorized_keys(注意在.ssh/路径下操作) 在主机上连接自己,也叫做 ssh 内回环。 ssh master
这时,
master 就可以连接 slave1 了。
slave1 结点首次连接时需要,“yes”确认连接,这意味着 master 结点连接 slave1 结点时需要人工询问,无法自动连接,输入 yes 后成功接入,紧接着注销退出至 master 结点。
同理 slave2 中也是这么操作
jdk之前已经安装好了,所以我们直接来配环境,就和windows的时候配环境变量一个道理(三台)
修改环境变量:vi /etc/profile
> 添加内容如下:
> export JAVA_HOME=/usr/java/jdk1.8.0_241
> export CLASSPATH=$JAVA_HOME/lib/export
> PATH=$PATH:$JAVA_HOME/bin
> export PATH JAVA_HOME CLASSPATH
生效环境变量:source /etc/profile
插播一个小技巧scp
scp /etc/profile slave1:/etc/profile ##这样就可以传给slave1 和slave2了
终于到hadoop了??? 恭喜宁!
配置环境变量:
vi/etc/profile
export HADOOP_HOME=/usr/hadoop/hadoop-3.1.2
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin
我经常忘的一步大声告诉我是什么!
使用以下命令使profile生效: source /etc/profile
温馨提示 下面就是配置文件的内容了 本文暂时不做讲解内容但是我已经给大家准备好标准的配置文件了
编辑hadoop环境配置文件hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_241
在这个文件里面会有好多注释的语句,找到你要配置的模板把井号删除完善即可 耐心找一下
然后我偷懒的地方就要到了!!!!!我上传了几个配置文件 我们复制到这个文件夹中即可 系统提示是否覆盖时候就输入y即可
core-site.xml yarn-site.xml hdfs-site.xml mapred-site.xml
还需要写一下slave文件 加上slave1 slave2如下图
还有master文件
(9)分发hadoop:
scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/
master中格式化hadoop hadoop namenode -format 如果报错的话 看看是不是如下链接的错误 里面有解决办法
总结
以上所述是小编给大家介绍的hadoop基于Linux7的安装配置图文详解,希望对大家有所帮助!