1.配置版本
hadoop:hadoop2.7.7
jdk:jdk-8u341
操作系统:CentOS-7-x86_64-DVD-2207-02
2.配置过程
1.创建master虚拟机
用root用户登录
2.卸载自带JDK
检查系统安装的OpenJDK
rpm -qa|grep openjdk -i
[rootecentos7-basic software]#rpm -qa|grep openjdk -i
java-1.7.0-openjdk-1.7.0.191-2.6.15.5.e17.×86_64
java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.e17.×86_64
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.e17.×86_64
java-1.8.0-openjdk-1.8.0.181-7.b13.e17.×86_64
删除以上四项openjdk的安装包并且检查是否显示删除完毕
rpm -e --nodeps 需要删除的软件
[rootecentos7-basic software]#rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.e17.×86_64
[rootecentos7-basic software]#rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.e17.×86_64
[rootecentos7-basic software]#rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.e17.×86_64
[rootecentos7-basic software]#rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.
[rootecentos7-basic software]#rpm -qalgrep openjdk-i
3.配置master的ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改BOOTPROTO的值为static
BOOTPROTO="static"
修改ONBOOT的值为yes
ONBOOT="yes"
ip( IPADDR),掩码( NETMASK),网关(GATEWAY)在VM软件的的虚拟网络编辑器处查看
DNS在windows系统的cmd中使用 ipconfig /all 查看 有一个就写一个有二个就写二个
以下为我的配置示例,供参考
IPADDR=192.168.115.124 (末尾处的124,可以自己随便设置 要小于255)
NETMASK=255.255.255.0
GATEWAY=192.168.115.2
DNS1=10.1.1.1
DNS2=10.1.88.18
重启服务查看修改是否成功
service network restart
ifcongfig
4.关闭防火墙
systemctl stop firewalld 停止防火墙
systemctl disable firewalld 关闭防火墙
关闭后记得查看以下是否关闭成功
systemctl status firewalld 查看防火墙状态
5.配置hosts(将ip地址与集群中的主机名称互相映射)
进入配置文件
vi /etc/hosts
将原文内容注释添加如下内容
192.168.115.124 master
192.168.115.125 s1
192.168.115.126 s2
6.设置时间同步
crontab -e
添加:0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
7.发送hadoop和jdk给master
如果你的虚拟机上已经下载好了hadoop与jdk可以略过这一步
这里我的hadoop和jdk是先下载到了我的windows系统上,使用了Xftp来传送文件给我的虚拟机,很简单,请自行了解;我这个版本的hadoop和jdk压缩包在镜像网站(阿里云,华为云,清华源.....)下载的
8.解压并安装配置jdk和hadoop
1.解压jdk和hadoop
tar -zxvf jdk-8u341-linux-x64.tar.gz
tar -zxvf hadoop-2.7.7.tar.gz
2.安装配置jdk
设置环境变量
vi /etc/profile
添加环境变量,在末尾添加
JAVA_HOME的值要看你自己的路径是什么
export JAVA_HOME=/root/jdk1.8.0_341
export PATH=$JAVA_HOME/bin:$PATH
使环境变量生效,输入命令
source /etc/profile
检查Java,出现java版本信息说明成功
java -version
3.配置hadoop(7个文件)
进入Hadoop /etc/hadoop目录下:
修改hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/root/jdk1.8.0_341
修改yarn-env.sh
vim yarn-env.sh
JAVA_HOME=/root/jdk1.8.0_341
修改core-site.xml
vim core-site.xml
<configuration><property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>##主机名
</property><property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoopdata</value>##临时文件存放,需手动创建
</property></configuration>
配置hdfs-site.xml #设置副本
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
编辑mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
编辑yarn-site.xml
vim yarn-site.xml
<configuration><property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property><property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property></configuration>
编辑slaves文件
vim slaves
master#注释原文添加以下内容
s1
s2
在master s1 s2 上创建 /root/hadoopdata
cd
mkdir hadoopdata
配置Hadoop环境变量
vim /etc/profile
export HADOOP_HOME=/root/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
使环境变量生效
source /etc/profile
9.克隆master
关闭master电源,在vm软件上克隆出s1 s2
10.配置s1,s2的ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.115.125 (s1,这里的125要与 5.配置hosts(将ip地址与集群中的主机名称互相映射)中的hosts内设置的s1的ip相对应)
IPADDR=192.168.115.126 (s2,与s1相同)
service network restart (重启服务)
11.配置主机名
在master:
hostnamectl set-hostname master
在s1:
hostnamectl set-hostname s1
在s2:
hostnamectl set-hostname s2
重启虚拟机,在命令行输入命令
reboot
12.配置免密登录
ssh-keygen -b 1024 -t rsa (一直回车)#生成密钥对
将master的公钥放入s1和s2的authorized_keys中就可以实现master对s1和s2的免密登录
命令:ssh-copy-id master/s1/s2
需要实现
1.master对自己s1 s2 的免密登录
2.现小弟自己和小弟之间的免密登录、
即在master上运行
ssh-copy-id master
ssh-copy-id s1
ssh-copy-id s2在s1和s2上运行
ssh-copy-id s1
ssh-copy-id s2
13.启动hadoop
格式化hadoop,!!!!!只能格式化一次!!!!
hdfs namenode -format
启动hadoop
方式一:
start-all.sh
方式二:
start-dfs.sh
start-yarn.sh
查看启动是否成功
jps
master:
54611 NodeManager
54342 SecondaryNameNode
54873 Jps
54043 NameNode
54491 ResourceManager
54174 DataNodes1:
53821 DataNode
53934 NodeManager
54046 Jpss2:
53814 DataNode
53927 NodeManager
54039 Jps
14. web端访问hadoop集群
http://192.168.115.124:50070
http://192.168.115.124:8088