环境准备
- vm虚拟机(自行安装Centos7系统)
- hadoop3.x安装包(linux版本)
- java1.8安装包(linux版本)
1 使用root用户登录创建hadoop用户
[root@hadoop102 ~]# useradd hadoop
2 给hadoop用户设置密码
[root@hadoop102 ~]# passwd hadoop
3 编辑文件为hadoop用户提权
[root@hadoop102 ~]# vim /etc/sudoers
添加如下信息:
4 修改静态ip
[root@hadoop102 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改如下:ip按照自己电脑设置的VMnet8为标准
5 修改主机名称
[root@hadoop102 ~]# vim /etc/hostname
6 修改主机映射
[root@hadoop102 ~]# vim /etc/hosts
7 永久关闭防火墙
依次执行以下命令:
1.关闭防火墙
[root@hadoop102 ~]# systemctl stop firewalld
2.永久禁用防火墙
[root@hadoop102 ~]# systemctl disable firewalld
3.查看防火墙状态
[root@hadoop102 ~]# systemctl status firewalld
出现以下状态表示关闭:
8 重启虚拟机,生效配置,下次登录直接使用hadoop用户
[root@hadoop102 ~]# reboot
9 上传JDK和Hadoop的安装包
1.创建存放安装包的目录
[hadoop@hadoop102 /]$ sudo mkdir /opt/software
2.创建文件安装目录
[hadoop@hadoop102 /]$ sudo mkdir /opt/modual
注意:以上目录可按照个人习惯创建
3.赋予software目录最高权限,方便外部读取写入(使用root用户修改,修改完记得切换回hadoop)
[root@hadoop102 opt]# chmod 777 /opt/software /opt/modual
4.上传文件到/opt/software
目录下
注意:如果你使用的是Xftp等其他远程传输工具,一定要切换到hadoop用户,再上传。
5.将上传的压缩包解压到/opt/modual
目录下
[hadoop@hadoop102 software]$ tar -zxvf hadoop-3.2.3.tar.gz -C ../modual/
[hadoop@hadoop102 software]$ tar -zxvf jdk-8u151-linux-x64.tar.gz -C ../modual/
10 配置JDK和Hadoop的环境变量(切换到root,配置完切换回hadoop)
1.切换到root用户
[hadoop@hadoop102 software]$ su root
2.编辑文件 /etc/profile
[root@hadoop102 software]# vim /etc/profile
在文件末尾添加如下信息:
#JDK1.8
export JAVA_HOME=/opt/modual/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP3.2.3
export HADOOP_HOME=/opt/modual/hadoop-3.2.3
export PATH=$PATH:$HADOOP_HOME/bin
3.切换回hadoop并生效文件
[hadoop@hadoop102 software]$ source /etc/profile
4.测试
[hadoop@hadoop102 software]$ java -version
[hadoop@hadoop102 software]$ hadoop version
11 配置hadoop
1.编辑/opt/modual/hadoop-3.2.3/etc/hadoop/core-site.xml
文件
[hadoop@hadoop102 hadoop-3.2.3]$ vim /opt/modual/hadoop-3.2.3/etc/hadoop/core-site.xml
添加以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modual/hadoop-3.2.3/data</value>
</property>
</configuration>
2.编辑/opt/modual/hadoop-3.2.3/etc/hadoop/hdfs-site.xml
文件
[hadoop@hadoop102 hadoop-3.2.3]$ vim /opt/modual/hadoop-3.2.3/etc/hadoop/hdfs-site.xml
添加以下内容:
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop102:9870</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:9868</value>
</property>
</configuration>
3.编辑/opt/modual/hadoop-3.2.3/etc/hadoop/yarn-site.xml
文件
[hadoop@hadoop102 hadoop-3.2.3]$ vim /opt/modual/hadoop-3.2.3/etc/hadoop/yarn-site.xml
添加以下内容:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
4.编辑/opt/modual/hadoop-3.2.3/etc/hadoop/mapred-site.xml
文件
[hadoop@hadoop102 hadoop-3.2.3]$ vim /opt/modual/hadoop-3.2.3/etc/hadoop/mapred-site.xml
添加以下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.编辑/opt/modual/hadoop-3.2.3/etc/hadoop/hadoop-env.sh
文件
[hadoop@hadoop102 hadoop-3.2.3]$ vim /opt/modual/hadoop-3.2.3/etc/hadoop/hadoop-env.sh
在末尾追加以下内容:
export JAVA_HOME=/opt/modual/jdk1.8.0_151
6.编辑workers文件
[hadoop@hadoop102 hadoop-3.2.3]$ vim workers
12 关闭虚拟机,克隆两个机器
重复上面操作,克隆hadoop104
13 修改hadoop103
修改主机名称
[root@hadoop102 hadoop]# vim /etc/hostname
修改ip
[root@hadoop102 hadoop]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改完成重启虚拟机
[root@hadoop102 hadoop]# reboot
14 修改hadoop104
按照第13步修改主机名和ip,然后重启
15 配置免密登录
1.hadoop102生成免密并发送给其余两个节点(hadoop102,hadoop103,hadoop104)
在hadoop102中执行以下代码,一路敲回车
[hadoop@hadoop102 ~]$ ssh-keygen -t rsa
在hadoop104中执行
[hadoop@hadoop104 ~]$ ssh-copy-id hadoop102
再回到hadoop102
[hadoop@hadoop102 ~]$ ssh-copy-id hadoop103
[hadoop@hadoop102 ~]$ ssh-copy-id hadoop104
2.hadoop103生成免密并发送给其余两个节点(hadoop102,hadoop103,hadoop104)
在hadoop103中执行以下代码
[hadoop@hadoop103 ~]$ ssh-keygen -t rsa^C
[hadoop@hadoop103 ~]$ ssh-copy-id hadoop102
在hadoop104中执行
[hadoop@hadoop104 ~]$ ssh-copy-id hadoop103
再回到hadoop103
[hadoop@hadoop103 ~]$ ssh-copy-id hadoop104
3.hadoop104生成免密并发送给其余两个节点(hadoop102,hadoop103,hadoop104)
在hadoop104中执行以下代码
[hadoop@hadoop104 ~]$ ssh-keygen -t rsa
[hadoop@hadoop104 ~]$ ssh-copy-id hadoop102
[hadoop@hadoop104 ~]$ ssh-copy-id hadoop103
[hadoop@hadoop104 ~]$ ssh-copy-id hadoop104
16 格式化(主节点操作,也就是hadoop102)
[hadoop@hadoop102 ~]$ hdfs namenode -format
17 通过以下信息查看对应的信息
192.168.5.112:9870 --访问hadoop集群前台页面