Hadoop集群搭建
实验环境
VMware workstation + jdk + Hadoop + Centos 7
新建虚拟机
打开VMware,点击新建虚拟机
依次点击“下一步”
选择Centos 7 64位,下一步
命名为hadoop101,并选择存放位置(不要无脑放c盘)
下一步,点击“自定义硬盘”
完成!
打开虚拟机
进入之后点击软件选择
点击自动分区,进入后点击完成即可
点击KDUMP,取消勾选
打开ens33并修改主机名为hadoop101,点击完成,开始安装
设置root密码(123456),密码弱点击两次完成即可,等待安装完成后,点击完成配置-重启
输入root用户及刚才设置的密码登录
创建后续要用的文件夹
克隆虚拟机
hadoop101关机,点击“虚拟机”—“管理”—“克隆”
依次点击下一页,选择创建完整克隆
命名为hadoop102,完成
按上述步骤完成克隆hadoop103
网络配置
点击“编辑”—“虚拟网络编辑器”
设置网关,子网IP
设置本地网络
点击控制面板,进入网络适配器界面,选择 vm8—属性—ipv4—属性
网络信息与虚拟机中设置的需保持一致
虚拟机配置
进入hadoop101,打开终端,设置为静态 ip ,添加 ip 地址、网关和域名。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改
BOOTPROTO='dhcp' -> 'static'
ONBOOT='no' -> 'yes'
在末行添加代码
IPADDR='192.168.121.131' #'要设置的IP地址'
GATEWAY='192.168.121.2' #'网关IP'
DNS1='192.168.121.2' #'网关IP'
hadoop102和hadoop103分别将IPADDR设置为192.168.121.132/192.168.121.133
重启网络服务,使用ifconfig查看
systemctl restart network
ifconfig
设置hostname,分别修改主机名为hadoop101、hadoop102、hadoop103,cat命令查看主机名
hostnamectl set-hostname hadoop101 #修改主机名
cat /etc/hostname #查看修改后的主机名
分别在hadoop101、hadoop102、hadoop103中修改 hosts 文件(主要用于映射 IP 地址和域名之间的连接)
vi /etc/hosts
在文件末行添加
192.168.121.131 hadoop101
192.168.121.132 hadoop102
192.168.121.133 hadoop103
修改主机映射文件
打开C:\Windows\System32\drivers\etc\hosts,在末行添加
ps:使用记事本打开,编辑保存后修改文件后缀放回原路径
192.168.121.131 hadoop101
192.168.121.132 hadoop102
192.168.121.133 hadoop103
关闭防火墙
systemctl stop firewalld #临时关闭防火墙
systemctl disable firewalld #设置关闭防火墙开机自启
systemctl list-unit-files |grep firewalld #查看防火墙是否关闭
SSH免密登录
打开xshell,hadoop101、hadoop102、hadoop103建立连接
ssh-keygen# 生成公钥与私钥,一直按回车即可
免密登录设置,需输入yes以及root密码
#向目标主机发送公钥
ssh-copy-id hadoop101
ssh-copy-id hadoop102
ssh-copy-id hadoop103
相同步骤设置hadoop102、hadoop103
使用ssh hadoop102测试,成功,exit登出
安装 Hadoop 完全分布式
上传安装包
使用Xftp,将hadoop和jdk安装包上传到/export/software下
解压文件到/export/servers,ll命令查看
tar -zxvf hadoop-3.3.5.tar.gz -C /export/servers/
tar -zxvf jdk-8u371-linux-x64.tar.gz -C /export/servers/
配置环境变量
vi /etc/profile
在文件末行添加
##JAVA_HOME
export JAVA_HOME=/export/servers/jdk1.8.0_371
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/export/servers/hadoop-3.3.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出后使用source /etc/profile命令初始化系统环境变量
source /etc/profile
查看是否安装成功
修改hadoop配置文件
核心配置文件 —— core-site.xml
HDFS 配置文件 —— hdfs-site.xml
YARN 配置文件 —— yarn-site.xml
MapReduce 配置文件 —— mapred-site.xml
进入$HADOOP_HOME/etc/hadoop目录下
- hadoop-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_371
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
- core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/servers/hadoop-3.3.5</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440 </value>
</property>
</configuration>
- hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop102:9868</value>
</property>
</configuration>
- mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop101:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop101:19888</value>
</property>
</configuration>
- yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vpmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop101:19888/jobhistory/logs</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
- workers
ps:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
vi $HADOOP_HOME/etc/hadoop/workers
#添加你的主机
hadoop101
hadoop102
hadoop103
文件分发
分发安装目录和系统环境变量文件
分发jdk安装目录
scp -r /export/servers/jdk1.8.0_371 root@hadoop102:/export/servers/
scp -r /export/servers/jdk1.8.0_371 root@hadoop103:/export/servers/
分发hadoop安装目录
scp -r /export/servers/hadoop-3.3.5/ root@hadoop102:/export/servers/
scp -r /export/servers/hadoop-3.3.5/ root@hadoop103:/export/servers/
分发系统环境变量文件
scp /etc/profile root@hadoop102:/etc
scp /etc/profile root@hadoop103:/etc
在Hadoop102、Hadoop103中使用source /etc/profile命令初始化系统环境变量
启动集群
首次启动集群需要先格式化 NameNode 节点
hdfs namenode -format
启动集群
start-all.sh
start-yarn.sh
hadoop101节点
hadoop102节点
hadoop103节点
网页界面
在本地浏览器中查看 Hadoop web 界面:192.168.121.131:9870
192.168.121.131:8088
恭喜完成!!!
懒大王万岁