目录
一、Hadoop集群规划
二、配置样板节点
1、虚拟机硬件信息
2、本地登录配置
(1)root用户登录
(2)关闭防火墙
(3)修改主机名和IP地址
(4)配置hosts
(5)创建用户设置密码
(6)添加sudo权限
(7)切换用户验证sudo命令
(8)创建软件安装目录
3、远程登录配置
(1)Xshell远程登录
(3)安装jdk和hadoop
(4)修改hadoop配置文件
(5)配置主机免密登录
三、克隆样板节点搭建集群
1、克隆样板节点修改配置
(1)克隆样板节点
(2)开启三台克隆虚拟机
(3)atguigu用户本地登录克隆机
(4)修改克隆机主机名、固定ip、虚拟网卡
2、Xshell远程连接启动集群
(1)Xshell同时连接三台虚拟机
(2)ssh登录三台主机实现免密登录
(3)同时切换到hadoop安装目录
(4)hadoop102启动hdfs测试
(5)hadoop103启动yarn测试
(6)hadoop104启动jobhistory测试
3、启动集群所有节点并通过浏览器查看
(1)hadoop102启动hdfs
(2)hadoop103启动yarn
(3)hadoop104启动jobhistory
(4)jps查看进程状态
(5)浏览器查看节点状态
四、集群功能测试
1、创建测试文件
2、上传文件到集群hdfs系统根目录/
3、web端查看是否上传成功
4、调用mapreduce函数wordcount
五、启动停止主机单节点
(1)启动/停止当前主机HDFS节点
(2)启动/停止当前主机YARN节点
集群使用192.168.1.102、192.168.1.103、192.168.1.104三台虚拟机,主机名对应为
hadoop102、hadoop103、hadoop104
集群配置方案:(9个节点搭配部署在3台服务器,生产环境中每个节点单独一台服务器)
|
hadoop102 |
hadoop103 |
hadoop104 |
HDFS
|
NameNode DataNode |
DataNode |
SecondaryNameNode DataNode |
YARN |
NodeManager |
ResourceManager NodeManager |
NodeManager |
ps:104主机还作为历史服务器
内存2G、硬盘20G
4处理器*2核=8线程
分区配置:
/ 15260M(15G)
/boot 200M
/swap 剩余所有
service iptables stop
chkconfig iptables off
查看防火墙状态
service iptables status
chkconfig iptables --list
vim /etc/sysconfig/network
vim /etc/sysconfig/network-scripts/ifcfg-eth0
参考如下配置:
DEVICE=eth0
TYPE=Ethernet
#开机联网
ONBOOT=yes
#静态ip
BOOTPROTO=static
#固定IP地址
IPADDR=192.168.1.100
PREFIX=24
#网关地址
GATEWAY=192.168.1.2
#域名解析器地址
DNS1=192.168.1.2
NAME=eth0
vim /etc/hosts
参考如下配置:
(前项是服务器IP地址,后项是服务器主机名)
192.168.1.100 hadoop100
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
清除默认后配置如下
useradd atguigu
passwd atguigu
vim /etc/sudoers
复制第91行至92行,将root修改为atguigu
快捷操作命令:
91+G:直接跳到91行,先输入数字91,然后同时按下shift键和g键
yy:复制当前行
p:粘贴
i:进入编辑模式
wq!:退出并强制保存
su atguigu
mkdir /opt/module /opt/software
chown atguigu:atguigu /opt/module /opt/software
*查看系统是否已安装jdk,如果系统已安装jdk则需要卸载
rpm -qa |grep java
xftp上传压缩包到/opt/software目录
解压缩到/opt/module目录
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module
修改系统配置文件
sudo vim /etc/profile
在最后追加如下配置
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置文件立即生效
source /etc/profile
验证配置是否已生效:java -version、hadoop version
切换到hadoop安装目录
cd /opt/module/hadoop-2.7.2
修改hadoop-env.sh、mapred-env.sh 、yarn-env.sh 三个文件
vim etc/hadoop/hadoop-env.sh
vim etc/hadoop/mapred-env.sh
vim etc/hadoop/yarn-env.sh
统一将JAVA_HOME变量值修改为jdk安装路径
export JAVA_HOME=/opt/module/jdk1.8.0_144
修改core-site.xml
vim etc/hadoop/core-site.xml
fs.defaultFS
hdfs://hadoop102:9000
hadoop.tmp.dir
/opt/module/hadoop-2.7.2/data/tmp
修改hdfs-site.xml
vim etc/hadoop/hdfs-site.xml
dfs.replication
3
dfs.namenode.secondary.http-address
hadoop104:50090
修改yarn-site.xml
vim etc/hadoop/yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
hadoop103
yarn.log-aggregation-enable
true
yarn.log-aggregation.retain-seconds
604800
mapred-site.xml.template重命名为mapred-site.xml再修改
mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
vim etc/hadoop/mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
hadoop104:10020
mapreduce.jobhistory.webapp.address
hadoop104:19888
修改节点配置文件slaves
vim etc/hadoop/slaves
清除原有信息改为如下配置:
hadoop102
hadoop103
hadoop104
生产密钥对,出现提示直接回车三次即可
ssh-keygen -t rsa
发送公钥到本机(输入yes后输入密码)
ssh-copy-id hadoop100
尝试免密登录
关闭样板节点虚拟机
选中虚拟机右键-管理-克隆
同样的操作步骤,克隆hadoop103、hadoop104
虚拟机名、主机名、ip地址三者最好对应,
hadoop102对应192.168.1.102
hadoop103对应192.168.1.103
hadoop104对应192.168.1.104
sudo vim /etc/sysconfig/network
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
sudo vim /etc/udev/rules.d/70-persistent-net.rules
删除第一行,将第二行的ech1改为ech0
按i进入编辑模式将数字1改为0,esc退出编辑模式,:wq保存并退出
重启虚拟机
PS:相同步骤修改克隆机hadoop103和hadoop104
ssh登录三台主机
每台虚拟机上都执行一遍
cd /opt/module/hadoop-2.7.2/
namenode节点部署在hadoop102
***第一次运行需要格式化namenode,后续不再需要
hdfs namenode -format
启动hdfs集群
start-dfs.sh
namenode节点和三个datanode节点都启动成功
关闭hdfs集群
stop-dfs.sh
ResourceManager节点部署在hadoop103
启动yarn集群
start-yarn.sh
关闭yarn集群
stop-yarn.sh
启动历史服务器jobhistory
sbin/mr-jobhistory-daemon.sh start historyserver
停止历史服务器jobhistory
sbin/mr-jobhistory-daemon.sh stop historyserver
start-dfs.sh
start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver
查看HDFS数据节点
http://192.168.1.102:50070/dfshealth.html#tab-datanode
查看整个集群节点
http://192.168.1.103:8088/cluster/nodes
查看SecondaryNameNode节点状态
http://192.168.1.104:50090/status.html
ps:若想使用域名访问相关节点,可以配置本地hosts
编辑windows本地hosts文件添加域名对应ip映射即可,文件路径——C:\Windows\System32\drivers\etc
配置后本地可使用域名访问
查看HDFS数据节点
http://hadoop102:50070/dfshealth.html#tab-datanode
查看整个集群节点
http://hadoop103:8088/cluster/nodes
查看SecondaryNameNode节点
http://hadoop104:50090/status.html
cd /opt/module/hadoop-2.7.2
mkdir wcinput
cd wcinput/
vim wc.input
测试文件wc.input输入以下内容,:wq保存并推出
hadoop yarn
hadoop mapreduce
atguigu
atguigu
cd /opt/module/hadoop-2.7.2
hadoop fs -put wcinput /
http://hadoop102:50070/explorer.html#/
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /wcinput /wcoutput
显示任务执行成功
http://hadoop102:50070/explorer.html#/
下载到本机查看结果
http://hadoop103:8088/cluster
点击History可查看详情
hadoop-daemon.sh start / stop namenode / datanode / secondarynamenode
yarn-daemon.sh start / stop resourcemanager / nodemanager