开始前需要用到几个工具和软件安装包
需要用到的工具和软件包
需要用到的软件包
连接centos
输入ip地址和用户名和您设置的密码进行登录
如不清楚ip地址,打开centos里面的终端输入以下指令查询
ifconfig
如使用不正常,请参考我另外一条博客
https://blog.csdn.net/weixin_43549657/article/details/143578757?spm=1001.2014.3001.5501
文件导入
先将两个文件导入系统里面
打开winscp连接后进入根目录创建module文件夹
创建方法:右侧进入根目录后,右键点击下,找到new——directory…——新建一个文件夹(我这里取名叫module,可自己自定义名称)
右侧进入module文件夹后左侧选择那两个文件
点击copy,复制进centos内
复制好后可以在右侧看到两个文件
解压jdk文件
进入系统内找到复制进去的文件
先安装jdk文件
进入系统先进入文件所在的文件夹,找到刚刚复制进来的文件
找到文件后双击打开点击提取
点击提取解压
进入到解压的文件夹内查看文件是否存在
检查完成后,进行重命名方便后面操作(根据自己情况选择)
操作到这一步记得拍一个快照保存(常拍快照是个好习惯,预防系统后面出错可返回操作)
进行配置环境变量
再进行配置变量前,可以备份一下要改动的文件
(进行复制到其他文件夹)可选做,预防为准做,做一下比较好
以下是要添加进去的变量
(可复制,不同版本可能会有所不同)
export JAVA_HOME=/opt/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
进入winscp
找到/etc/profile
双击打开
在左上角箭头处进行添加
添加完后进行保存,保存后点击右上角关闭
之后我们利用指令刷新文件
可复制
source /etc/profile
操作到这一步记得拍一个快照保存(常拍快照是个好习惯,预防系统后面出错可返回操作)
IP地址映射
查看当前机器主机名
首先,您需要知道当前机器的主机名。可以使用hostname命令来查看:
hostname
会出现
在这个例子中,当前的主机名是localhost.localdomain。
修改主机名
接下来,您需要将主机名修改为所需的名称,例如hadoop。可以使用hostnamectl命令来设置新的主机名:
hostnamectl set-hostname hadoop
然后,再次使用hostname命令来确认主机名已经更改:
hostname
会出现
注意,虽然主机名已经更改,但是命令行提示符中的主机名可能还没有立即更新。这通常会在您注销并重新登录后更新。
修改/etc/hosts文件以添加主机名和IP地址的映射
现在,您需要编辑/etc/hosts文件来添加新的主机名和IP地址的映射。这允许系统通过主机名来解析IP地址,反之亦然
使用vi编辑器打开/etc/hosts文件
vi /etc/hosts
在文件中添加一行,将新的主机名和IP地址关联起来:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
**这里是你的虚拟机ip** hadoop
注意:ip地址映射是通常您电脑里面的虚拟机地址
确保新添加的行位于文件的末尾,并且IP地址和主机名之间有空格分隔。
保存并退出vi编辑器。通常,您可以通过按Esc键,然后输入:wq并按Enter键来保存并退出。
修改/etc/sysconfig/network文件(针对某些Linux发行版)
在某些Linux发行版(如CentOS或RHEL)中,您可能还需要编辑/etc/sysconfig/network文件来设置主机名。但是,请注意,使用hostnamectl命令通常已经足够,并且会自动更新这个文件(在某些系统上)。
如果您确实需要编辑这个文件,可以使用vi编辑器:
vi /etc/sysconfig/network
找到文件中设置主机名的部分(如果有的话),并将其更改为新的主机名。例如:
#Created by anaconda
hadoop
保存并退出vi编辑器。
- 验证更改 最后,您可以通过几种方式来验证更改是否成功:
使用hostname命令查看当前主机名。
使用ping命令加上新的主机名来测试主机名解析是否成功:
ping hadoop
如果一切设置正确,您应该能够看到来自本机(127.0.0.1或本地回环接口)的响应。
使用cat命令查看/etc/hosts和/etc/sysconfig/network(如果编辑了)文件的内容,以确保更改已保存。
至此,您已经成功设置了主机名和IP地址的映射关系。这些更改对于确保网络上的其他计算机可以通过主机名访问您的机器非常重要。
无密码登录(更方便些)
在 Linux 系统中,配置 SSH 密钥对认证可以实现无密码登录,从而提高安全性和操作便捷性。以下是一个详细的教程,指导你如何在 Linux 系统上完成无密码 SSH 登录的配置。
检查并创建 .ssh 目录
打开终端,使用 ls -al 命令查看当前目录下的所有文件和目录,包括隐藏文件
下列命令可复制
ls-al
如果 .ssh 目录不存在,则使用 mkdir 命令创建它
mkdir .ssh
使用 cd 命令进入 .ssh 目录
cd .ssh
使用 pwd 命令确认当前目录是否为 .ssh
pwd
使用 ls 命令查看 .ssh 目录下的内容,确保目录为空或仅包含必要的文件
ls
使用 ssh-keygen 命令生成 SSH 密钥对。这里选择 RSA 算法,并设置密钥的保存路径为默认(即 .ssh/id_rsa 和 .ssh/id_rsa.pub)。在生成过程中,会提示输入一些信息,但为了简化操作,可以直接按四次回车键使用默认值
ssh-keygen -t rsa
按一次回车:接受默认的密钥保存路径(.ssh/id_rsa)。
按第二次回车:不设置密码短语(留空)。
按第三次回车:再次确认不设置密码短语。
按第四次回车:完成密钥对的生成
使用 sudo -u root ssh-copy-id 命令将公钥(id_rsa.pub)复制到远程主机的 authorized_keys 文件中。这里假设你要配置的是本地主机的无密码登录,因此远程主机地址为 localhost
统会提示你输入远程主机的 root 用户密码
sudo -u root ssh-copy-id-i ~/.ssh/id_rsa.pub localhost
验证 SSH 服务是否正在运行。如果没有运行,则使用 systemctl 或 service 命令启动它
systemctl start sshd
查看 Linux 系统上 iptables 防火墙的当前配置和统计信息
iptables -L -n -v 是一个用于列出当前所有 iptables 规则及其详细统计信息的命令。-L 表示列出规则,-n 表示以数字形式显示地址和端口,而不是尝试解析主机名、网络名或服务名,-v 表示详细输出,包括每个规则的匹配数据包和字节的计数
iptables -L -n -v
配置防火墙以允许 SSH 连接
使用 iptables 命令添加一条规则,允许 TCP 协议的 22 端口(SSH 默认端口)通过防火墙。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
如果你使用的是 firewalld 防火墙,则使用 firewall-cmd 命令添加 22 端口的永久规则,并重新加载防火墙配置
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload#分开运行复制进去
后面展示一下看看文件夹是否有SSH(Secure Shell)认证相关文件
ls
这是无密码配置所有的命令
ls-al
mkdir .ssh
cd .ssh
pwdls
ssh-keygen -t rsa#四次回车
sudo -u root ssh-copy-id-i ~/.ssh/id_rsa.pub localhost#输入密码
iptables -L -n -v
systemctl start sshd
service sshd start
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload
#复制时别把后面的注释复制进去了
Hadoop单节点集群安装与配置
这个操作前先检查winscp这个设置是否为UTF-8
下面这张图设置非常重要,如果不做下面操作全部白忙活!!!
在下拉窗口找到preferences…
打开
在这章节操作建议每完成一步拍一个快照
解压安装包
解压到根目录的opt文件夹下
为了方便,重命名hadoop文件夹
操作中我重命名为hadoop3.3
配置环境变量
文件夹在/etc/profile下
这里用winscp进行操作
可复制下列字段
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
export HADOOP_HOME=/opt/hadoop3.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
添加完后保存关闭
刷新一下文件使配置生效
source /etc/profile
验证 Hadoop 版本
hadoop version
执行后查看是否出现以下图片所示
Hadoop集群配置
首先,使用以下命令进入Hadoop的配置目录
我们需要找到这个文件夹
此教程将用winscp进行操作
可根据下面截图去进行查找
进入hadoop文件夹找到
配置hadoop-env.sh
hadoop-env.sh文件
双击打开
这里可以看到它的界面
在最上面添加一行
export JAVA_HOME=/opt/jdk1.8
如下图示
操作完成关闭窗口
配置core-site.xml
注意:请确保hadoop.tmp.dir指定的目录存在或具有写权限,Hadoop将在格式化时创建必要的子目录。
找到该文件
可复制插入
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<!--data/tmp无需提前创建,格式化自动生成 -->
<value>/opt/hadoop3.3/data/tmp</value>
</property>
完成后保存退出
配置hdfs-site.xml
接下来在winscp里面寻找hdfs-site.xml
同样,在这两串字符中间插入
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
操作完成后保存退出
配置yarn-site.xml
接下来在winscp里面寻找yarn-site.xml这个文件
找到后双击打开
同样,在这两串字符中间插入
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
操作完成后保存退出
配置mapred-site.xml
在winscp里面寻找mapred-site.xml这个文件
在里面有三个同名文件,注意别找错
找到后双击打开
同样,在这两串字符中间插入
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
操作完成后保存退出
配置workers文件
在winscp里面寻找workers这个文件
找到后双击打开
将localhost删除 添加hadoop
hadoop
操作完成后保存退出
格式化(这步非常危险,必须在操作前拍个快照)
在Hadoop分布式文件系统(HDFS)中,hdfs namenode -format 命令用于格式化HDFS的NameNode。这一操作是创建HDFS文件系统元数据的初始步骤,通常在HDFS首次部署或者完全重置HDFS时执行。然而,需要非常谨慎地使用这个命令,因为一旦执行,它将会删除NameNode上存储的所有元数据和HDFS中的所有文件数据(除非这些文件数据在其他DataNode上还有副本)
只能执行一次,不可重复执行!!!!!!!!!
hdfs namenode -format
操作这步前,先看看前面的每个文件是否操作好。
出现这个说明格式化成功
启动服务
start-dfs.sh
启动后输入
jps
出现下图四个服务就说明成功了
启动第二项服务
启动start-yarn.sh
jps
出现下图六个服务说明运行成功
进入HDFS
http://192.168.152.130:9870/
http://192.168.152.130:8088/cluster
中间那串ip地址是您虚拟机的ip地址
测试一下:出现这个页面时说明所有操作都完成并成功了
结语
经过以上详细的步骤,我们已经在CentOS系统下成功安装并配置了Hadoop单节点集群。从安装必要的JDK软件包,到配置环境变量、IP地址映射、无密码登录,再到Hadoop的具体安装与配置,每一步都进行了详细的说明和图解。
在操作过程中,我们强调了拍快照的重要性,以便在系统出现问题时能够快速恢复。同时,我们也提醒读者注意一些关键的命令和操作,如hdfs namenode -format,这个命令只能执行一次,需要特别谨慎。
现在,你已经拥有了一个可以在CentOS上运行的Hadoop单节点集群。你可以开始探索Hadoop的各种功能和特性,或者将其用于实际的数据处理和分析任务。如果你遇到任何问题或需要进一步的帮助,请随时参考Hadoop的官方文档或寻求社区的支持。
希望本教程能够对你有所帮助,祝你在使用Hadoop的过程中取得丰硕的成果!如有任何疑问或建议,欢迎在留言交流。
版权归原作者 边缘客卿 所有, 如有侵权,请联系我们删除。