CentOS体系下Hadoop单节点集群安装与配置具体教程(小白版)
必要用到的工具和软件包https://i-blog.csdnimg.cn/direct/ffd982ca482e4241a735bd6d9493ceeb.png
https://i-blog.csdnimg.cn/direct/6a5f756757d342be9d1203569b35af98.png
必要用到的软件包
https://i-blog.csdnimg.cn/direct/cbce30e01a3549cea133da2ad41e9ac8.png
毗连centos
https://i-blog.csdnimg.cn/direct/3e5d9c3292154b15b120fe87e3551dc4.png
输入ip地址和用户名和您设置的暗码进行登录
如不清楚ip地址,打开centos内里的终端输入以下指令查询
ifconfig
如使用不正常,请参考我另外一条博客
https://blog.csdn.net/weixin_43549657/article/details
/143578757?spm=1001.2014.3001.5501
文件导入
先将两个文件导入体系内里
打开winscp毗连后进入根目录创建module文件夹
https://i-blog.csdnimg.cn/direct/c2114df9a61f4ef9a829ee06b2b2c87b.png
创建方法:右侧进入根目录后,右键点击下,找到new——directory…——新建一个文件夹(我这里取名叫module,可自己自界说名称)
右侧进入module文件夹后左侧选择那两个文件
https://i-blog.csdnimg.cn/direct/ce9afaadff1947febe590dac4ab35b6f.png
点击copy,复制进centos内
https://i-blog.csdnimg.cn/direct/14655abcd17e452bbe21eaa7de59eee3.png
复制好后可以在右侧看到两个文件
https://i-blog.csdnimg.cn/direct/1154f5565991485da60a26d427fda5a6.png
解压jdk文件
进入体系内找到复制进去的文件
先安装jdk文件
进入体系先辈入文件地点的文件夹,找到刚刚复制进来的文件
https://i-blog.csdnimg.cn/direct/a1e3456f01a64323b0b02c1046853510.png
找到文件后双击打开点击提取
https://i-blog.csdnimg.cn/direct/fcf951c33d544620a8379be1e2df8432.png
点击提取解压
https://i-blog.csdnimg.cn/direct/ab0235c752544c11b6a6f195dd791f35.png
进入到解压的文件夹内查看文件是否存在
https://i-blog.csdnimg.cn/direct/0b6badec45a24ce189b14879bded9950.png
检查完成后,进行重定名方便后面操作(根据自己情况选择)
操作到这一步记得拍一个快照生存(常拍快照是个好习惯,预防体系后面堕落可返回操作)
进行配置环境变量
再进行配置变量前,可以备份一下要改动的文件
(进行复制到其他文件夹)可选做,预防为准做,做一下比较好
以下是要添加进去的变量
(可复制,不同版本可能会有所不同)
export JAVA_HOME=/opt/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
进入winscp
找到/etc/profile
双击打开
https://i-blog.csdnimg.cn/direct/7b92858efe034f3b8f2001dcbc502988.png
在左上角箭头处进行添加
https://i-blog.csdnimg.cn/direct/1081f00ec56e47498db15d98937224b4.png
添加完后进行生存,生存后点击右上角关闭
https://i-blog.csdnimg.cn/direct/c2977215ab9843f19d068436bdf16486.png
之后我们使用指令刷新文件
可复制
source /etc/profile
https://i-blog.csdnimg.cn/direct/bd854ca6cef94e28840aa6516a4dc5ca.png
操作到这一步记得拍一个快照生存(常拍快照是个好习惯,预防体系后面堕落可返回操作)
IP地址映射
查看当前机器主机名
首先,您必要知道当前机器的主机名。可以使用hostname
命令来查看:
hostname
会出现
https://i-blog.csdnimg.cn/direct/887dafedc52149af99514b8134402eb3.png
在这个例子中,当前的主机名是localhost.localdomain。
修改主机名
接下来,您必要将主机名修改为所需的名称,例如hadoop
。可以使用hostname
ctl命令来设置新的主机名:
hostname
ctl set-hostname
hadoop
然后,再次使用hostname
命令来确认主机名已经更改:
hostname
会出现
https://i-blog.csdnimg.cn/direct/f590f55da10c471db853adb01c2238fa.png
留意,虽然主机名已经更改,但是命令行提示符中的主机名可能还没有立即更新。这通常会在您注销并重新登录后更新。
修改/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
https://i-blog.csdnimg.cn/direct/6c6e6847568a4f76a1a01bbb94845919.png
留意:ip地址映射是通常您电脑内里的假造机地址
确保新添加的行位于文件的末端,而且IP地址和主机名之间有空格分隔。
生存并退出vi编辑器。通常,您可以通过按Esc键,然后输入:wq并按Enter键来生存并退出。
修改/etc/sysconfig/network文件(针对某些Linux发行版)
在某些Linux发行版(如CentOS或RHEL)中,您可能还必要编辑/etc/sysconfig/network文件来设置主机名。但是,请留意,使用hostname
ctl命令通常已经足够,而且会自动更新这个文件(在某些体系上)。
如果您确实必要编辑这个文件,可以使用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
https://i-blog.csdnimg.cn/direct/e3a2b209602a485aac9358d3ff3d7f1a.png
如果 .ssh 目录不存在,则使用 mkdir 命令创建它
mkdir .ssh
https://i-blog.csdnimg.cn/direct/bb2ed00af25e4f96aa68403ca327c24a.png
使用 cd 命令进入 .ssh 目录
cd .ssh
https://i-blog.csdnimg.cn/direct/1c12961835ee487aa08d64dd740bcd50.png
使用 pwd
命令确认当前目录是否为 .ssh
pwd
https://i-blog.csdnimg.cn/direct/5e032d9412db41f09769f718cc49e130.png
使用 ls
命令查看 .ssh 目录下的内容,确保目录为空或仅包含必要的文件
ls
使用 ssh-keygen 命令天生 SSH 密钥对。这里选择 RSA 算法,并设置密钥的生存路径为默认(即 .ssh/id_rsa 和 .ssh/id_rsa.pub)。在天生过程中,会提示输入一些信息,但为了简化操作,可以直接按四次回车键使用默认值
ssh-keygen -t rsa
按一次回车:接受默认的密钥生存路径(.ssh/id_rsa)。
按第二次回车:不设置暗码短语(留空)。
按第三次回车:再次确认不设置暗码短语。
按第四次回车:完成密钥对的天生
https://i-blog.csdnimg.cn/direct/0b12a52d7e3c4773a963170e1bfe3769.png
使用 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
https://i-blog.csdnimg.cn/direct/6b74263671244209aa9066b3a247371e.png
验证 SSH 服务是否正在运行。如果没有运行,则使用 systemctl 或 service 命令启动它
systemctl start sshd
查看 Linux 体系上 iptables 防火墙的当前配置和统计信息
iptables -L -n -v
是一个用于列出当前所有 iptables 规则及其具体统计信息的命令。-L 表示列出规则,-n 表示以数字形式表现地址和端口,而不是实验解析主机名、网络名或服务名,-v 表示具体输出,包括每个规则的匹配数据包和字节的计数
iptables -L -n -v
https://i-blog.csdnimg.cn/direct/2f1fb360b3e446539ba81540c934c426.png
配置防火墙以允许 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#分开运行复制进去
https://i-blog.csdnimg.cn/direct/5b0a3678edd9475b91eb131be09d6b43.png
后面展示一下看看文件夹是否有SSH(Secure Shell)认证相关文件
ls
https://i-blog.csdnimg.cn/direct/dbc6c2bbbfd04d17a30e1fb68fac4619.png
这是无暗码配置所有的命令
ls
-al
mkdir .ssh
cd .ssh
pwd
ls
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 --permanentfirewall-cmd --reload#复制时别把后面的注释复制进去了 Hadoop单节点集群安装与配置
这个操作前先检查winscp这个设置是否为UTF-8
下面这张图设置非常重要,如果不做下面操作全部白忙活!!!
https://i-blog.csdnimg.cn/direct/981f09705cd048aea45e3466147eeac9.png
在下拉窗口找到preferences…
打开
https://i-blog.csdnimg.cn/direct/e39c6ffe6aa946b3afd9141ce248b818.png
在这章节操作建议每完成一步拍一个快照
解压安装包
https://i-blog.csdnimg.cn/direct/b393f860abfa4af6a8cb0dece1d6c057.png
解压到根目录的opt文件夹下
https://i-blog.csdnimg.cn/direct/b5f9df0909a44450bb6552f3509fa0b5.png
为了方便,重定名hadoop
文件夹
https://i-blog.csdnimg.cn/direct/02d5ec40132d4af4b74e05161e1ade6e.png
操作中我重定名为hadoop
3.3
https://i-blog.csdnimg.cn/direct/8d3073dab97a4b2cb9b02d50ceb9acfc.png
配置环境变量
文件夹在/etc/profile下
这里用winscp进行操作
https://i-blog.csdnimg.cn/direct/44b819ac13c34d4a997ccc084f56e231.png
可复制下列字段
export HDFS_NAMENODE_USER=rootexport HDFS_DATANODE_USER=rootexport HDFS_SECONDARYNAMENODE_USER=rootexport YARN_RESOURCEMANAGER_USER=rootexport YARN_NODEMANAGER_USER=rootexport HADOOP_HOME=/opt/hadoop
3.3export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 添加完后生存关闭
刷新一下文件使配置生效
https://i-blog.csdnimg.cn/direct/bacae5f0b9a240789873efca8cc23824.png
source/etc/profile
验证 Hadoop 版本
hadoop
version 执行后查看是否出现以下图片所示
https://i-blog.csdnimg.cn/direct/9308b964b0184beab792b631a28dc714.png
Hadoop集群配置
首先,使用以下命令进入Hadoop的配置目录
我们必要找到这个文件夹
https://i-blog.csdnimg.cn/direct/e6584912f725474cad11570e314d6d93.png
此教程将用winscp进行操作
可根据下面截图去进行查找
https://i-blog.csdnimg.cn/direct/a0171098506a484a91a0f3ed1aaddcf1.png
https://i-blog.csdnimg.cn/direct/515d6c5a601b45e39cd94d19d77fa721.png
https://i-blog.csdnimg.cn/direct/841245993ebd4c17826dc095b9d58660.png
https://i-blog.csdnimg.cn/direct/6ee2585d2f684bf8af71718b78bdd419.png
进入hadoop
文件夹找到
配置hadoop
-env.sh
hadoop
-env.sh文件
https://i-blog.csdnimg.cn/direct/d1209566ba724bd0a5ee9feaa5913e76.png
双击打开
这里可以看到它的界面
https://i-blog.csdnimg.cn/direct/9013f277383d4a4ba9ba4ad9ea633218.png
在最上面添加一行
export JAVA_HOME=/opt/jdk1.8
如下图示
https://i-blog.csdnimg.cn/direct/bf61fb2c48e34a719e6ae8322dd5b0f0.png
操作完成关闭窗口
配置core-site.xml
留意:请确保hadoop
.tmp.dir指定的目录存在或具有写权限,Hadoop将在格式化时创建必要的子目录。
找到该文件
https://i-blog.csdnimg.cn/direct/d080ae73e4cc46ec80fa87cdf81b75bf.png
https://i-blog.csdnimg.cn/direct/51f168c11e684d8ba5d73a5771beac23.png
可复制插入
<!-- 指定HDFS中NameNode的地址 --><property><name>fs.defaultFS</name> <value>hdfs://hadoop
:9000</value></property><!-- 指定Hadoop运行时产生文件的存储目录 --><property> <name>hadoop
.tmp.dir</name><!-- data/tmp无需提前创建,格式化自动天生 --> <value>/opt/hadoop
3.3/data/tmp</value></property> https://i-blog.csdnimg.cn/direct/fe3e82126cee455b93a089a105015145.png
完成后生存退出
配置hdfs-site.xml
接下来在winscp内里寻找hdfs-site.xml
https://i-blog.csdnimg.cn/direct/e643eb86744a4e3ab577bf4e6305c860.png
同样,在这两串字符中间插入
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
https://i-blog.csdnimg.cn/direct/d4eb303830944804b1434d649460c5cc.png
https://i-blog.csdnimg.cn/direct/37c5e3c5c0ee45d2987c3bbfde639ea6.png
操作完成后生存退出
配置yarn-site.xml
接下来在winscp内里寻找yarn-site.xml这个文件
https://i-blog.csdnimg.cn/direct/7572ff4591fd4d90b43869b90fc42a11.png
找到后双击打开
同样,在这两串字符中间插入
https://i-blog.csdnimg.cn/direct/489fdcf3a7c84e6699592cac37bf9e45.png
<!-- 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> https://i-blog.csdnimg.cn/direct/078fc8afa6fd48cbbda8dccba5e33488.png
操作完成后生存退出
配置mapred-site.xml
在winscp内里寻找mapred-site.xml这个文件
在内里有三个同名文件,留意别找错
https://i-blog.csdnimg.cn/direct/678bab6ab6e645c1b0b39e0e5cae1fab.png
找到后双击打开
同样,在这两串字符中间插入
https://i-blog.csdnimg.cn/direct/69b3d458700e46fc8febf22deaf14b27.png
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
https://i-blog.csdnimg.cn/direct/75228d19f8164f29862173da6c18b0a1.png
操作完成后生存退出
配置workers文件
在winscp内里寻找workers这个文件
https://i-blog.csdnimg.cn/direct/15e20f28b9324aeba63151d854f65162.png
找到后双击打开
https://i-blog.csdnimg.cn/direct/2c8ee16b41f547b0befcbb0c0d30e07b.png
将localhost删除 添加hadoop
hadoop
https://i-blog.csdnimg.cn/direct/1a0f08242f484c808f4a3f2f13653e44.png
操作完成后生存退出
格式化(这步非常危险,必须在操作前拍个快照)
https://i-blog.csdnimg.cn/direct/f787c2bfbe664640b2dbf62afde7a15d.png
在Hadoop分布式文件体系(HDFS)中,hdfs namenode -format
命令用于格式化HDFS的NameNode。这一操作是创建HDFS文件体系元数据的初始步骤,通常在HDFS首次部署或者完全重置HDFS时执行。然而,必要非常谨慎地使用这个命令,由于一旦执行,它将会删除NameNode上存储的所有元数据和HDFS中的所有文件数据(除非这些文件数据在其他DataNode上还有副本)
只能执行一次,不可重复执行!!!!!!!!!
hdfs namenode -format
操作这步前,先看看前面的每个文件是否操作好。
https://i-blog.csdnimg.cn/direct/d0654b6459ae4296bf0d5f899a2e3de9.png
https://i-blog.csdnimg.cn/direct/16207ffb98214bb484cc693b3876cecd.png
出现这个阐明格式化成功
启动服务
start-dfs.sh
启动后输入
jps
出现下图四个服务就阐明成功了
https://i-blog.csdnimg.cn/direct/ce45be2ed9ab4b719dd1d699eaa8f1ae.png
启动第二项服务
启动start-yarn.sh
jps
出现下图六个服务阐明运行成功
https://i-blog.csdnimg.cn/direct/05712391a9d645ffb0d44fb5d92db5ed.png
进入HDFS
http://192.168.152.130:9870/
http://192.168.152.130:8088/cluster
中间那串ip地址是您假造机的ip地址
https://i-blog.csdnimg.cn/direct/91adaa387b614dcaa6df84de4a29b023.png
测试一下:出现这个页面时阐明所有操作都完成并成功了
结语
经过以上具体的步骤,我们已经在CentOS体系下成功安装并配置了Hadoop单节点集群。从安装必要的JDK软件包,到配置环境变量、IP地址映射、无暗码登录,再到Hadoop的具体安装与配置,每一步都进行了具体的阐明和图解。
在操作过程中,我们强调了拍快照的重要性,以便在体系出现题目时能够快速恢复。同时,我们也提醒读者留意一些关键的命令和操作,如hdfs namenode -format
,这个命令只能执行一次,必要特殊谨慎。
现在,你已经拥有了一个可以在CentOS上运行的Hadoop单节点集群。你可以开始探索Hadoop的各种功能和特性,或者将其用于实际的数据处理和分析任务。如果你碰到任何题目或必要进一步的帮助,请随时参考Hadoop的官方文档或寻求社区的支持。
渴望本教程能够对你有所帮助,祝你在使用Hadoop的过程中取得丰硕的结果!如有任何疑问或建议,欢迎在留言交换。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]