是在已经安装VMware和三台centos虚拟机的基础上进行的。
1.进入root用户 命令:su -
,更新所有包 命令sudo yum update
2.删除已有jdk,安装Java 命令sudo yum install java-1.8.0-openjdk-devel
3.修改主机名,在/etc/hosts 文件中添加三台主机的IP地址和主机名的映射,可以用ping -c5 [主机名]
验证是否正确,-c5
表示发送5次包
4.设置ssh免密登录,首先查看三台主机是否开启ssh服务,命令systemctl status sshd
;打开ssh服务后,对master主机生成密钥,命令ssh-keygen
;查看~/.ssh目录可看到id_rsa 和id_rsa.pub两个文件,第一个是私钥,第二个是公钥,将公钥复制,命令cp id_rsa.pub authorized_keys
;将复制后的authorized_keys发送到两个slaver主机,命令scp /etc/hosts 目的机用户名@目的机名称:~/.ssh
,如果两台slaver主机没有.ssh目录,可以使用ssh连接一次,或者运行ssh-keygen命令生成密钥,就会出现.ssh目录。发送成功后运行ssh [主机名]
即可登录目的主机,退出登录exit。如果运行hostnamectl发现当前主机名是hostlocal.hostadmin,可以提前修改主机名,命令hostnamectl set-hostname [想要的主机名]
,这部分本应该在第三步实现,但是在第四步实现并不影响效果。
5.下载所需版本的hadoop binary压缩文件,通过xftp传输到centos主机,使用命令tar -zxvf hadoop-3.2.4.tar.gz
解压。以3.2.4版本举例。可以指定解压位置,不指定就解压到当前文件夹,解压完成后可以把压缩包文件删除,方便使用自动填充。
修改配置文件
6.之后cd hadoop-3.2.4/etc/hadoop
编辑hadoop-env.sh文件,文末添加JAVA_HOME路径为当前jdk路径,查看jdk路径可以使用命令sudo alternatives -display java
。编辑/etc/profile文件,在文末添加
export HADOOP_HOME=/opt/hadoop-3.2.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
执行命令source /etc/profile
使配置文件生效,执行echo $HADOOP_HOME
输出hadoop安装路径可以验证配置文件是否生效。
7.修改core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml,works文件(三台虚拟机上的配置文件完全一样,后面两台可以直接发送hadoop配置文件)。
8.只在第一台格式化hdfs,执行hdfs namenode -format
9.启动hadoop,只在第一台执行start-all.sh
10.分别在三台虚拟机查看进程,执行jps,服务启动成功则可以运行。
11.打开hadoopwebUI,用管理员打开hosts文件,添加三台虚拟机的映射关系。访问webUI,在浏览器输入http://hadoop00:9870,即可进入UI界面。如若没能打开,查看当前hadoop00防火墙状态,执行service firewalld status
,关闭防火墙,执行systemctl stop firewalld.service
,注意只在第一台关闭即可。
至此,hadoop集群安装成功,最困难的地方在于配置文件的修改,没有对文件内容有很好的理解,需要有耐心。
下面是非常有参考意义的技术博客,感谢各位作者!
【参考链接】
安装过程https://blog.csdn.net/weixin_44898710/article/details/109832031
ssh免密登录原理与详解https://www.cnblogs.com/luckyall/p/10368152.html
安装jdkhttps://blog.csdn.net/weixin_46560589/article/details/124815881
配置文件https://blog.csdn.net/weixin_46560589/article/details/132604226