1.准备四台虚拟机,虚拟机安装及克隆,配置ip请移步另一篇博客:https://blog.csdn.net/qq_40825301/article/details/105214440
2.每台虚拟机修改hostname,我四台虚拟机配置的是 eleven-2,eleven-3,eleven-4,eleven-5.
命令:
vi /etc/sysconfig/network
3.每台虚拟机配置hosts.: 命令 vi /etc/hosts
4.永久性的关闭防火墙,四台虚拟机。避免之后启动hadoop发生错误找不到原因。
最终配置的四台虚拟机为 :(再次提示关闭防火墙)
hostname | ip | 该机上要配置的角色 |
eleven-2 | 192.168.40.33 | namenode |
eleven-3 | 192.168.40.34 | secondary namenode ,datanode |
eleven-4 | 192.168.40.35 | datanode |
eleven-5 | 192.168.40.36 | datanode |
1.将eleven-2下的.ssh文件下的公钥文件id_dsa.pub 分发至另外三台虚拟机的同目录下
scp id_dsa.pub root@eleven-3:/root/.ssh/
2.在另外三台服务器上操作,将eleven-2的公钥添加至验证文件中
cat id_dsa.pub >> authorized_keys
3.验证eleven-2是否能免密访问另外三台虚拟机
ssh eleven-3...
hadoop3.0之前的版本可用jdk1.7,3.0之后的版本需要用jdk1.8
我要安装的hadoop是3.0之前的版本,所以jdk用的是:jdk-7u80-linux-x64.rpm,提取码:d531。
将jdk上传至每台虚拟机,切换至存放的路径下,执行命令进行安装
rpm -i jdk-7u80-linux-x64.rpm
配置环境变量的文件: /etc/profile
命令 : vi /etc/profile
在文件末尾追加
export JAVA_HOME=/usr/java/jdk1.7.0_80
PATH=$PATH:$JAVA_HOME/bin
保存退出
重新编译环境变量配置文件
. /etc/profile
验证,查看java进程
命令 : jps
三台虚拟机都要操作,可先在一台服务器上操作,然后分发至另外三台
1.将hadoop上传至虚拟机
2.解压,这里我的解压路径为 /opt/sxt/
3.配置环境变量
1.vi /etc/profile
2.在末尾追加,
export HADOOP_HOME=/opt/sxt/hadoop-2.6.5
并修改path为
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3.保存退出
1.配置hadoop中用到的jdk环境变量(二次环境变量配置),切换到 /opt/sxt/hadoop-2.6.5/etc/hadoop 目录下。
编辑 hadoop-env.sh 文件 ,改成下图这样
编辑 mapred-env.sh (计算框架用的配置脚本) 配置成如下图
编辑 yarn-env.sh (资源管理) 配置成如下图
编辑 core-site.xml (主配置文件),增加如下配置
#######配置主节点(namenode),这里将eleven-2作为namenode服务器,可更改成你自己的#######
fs.defaultFS
hdfs://eleven-2:9000
#######配置元数据,及数据信息存放路径##########
#####默认是一个临时文件路径,真是环境中可能会发生丢失的风险,所以需要自定义一个路径存放那些数据,需要将此文件夹创建
###格式化的时候在此路径下会生成name文件夹,生成fsimage即时快照,和custmid(集群id)
###hadoop启动后会生成 data及secondary namenode的文件夹,存放元数据及数据信息。
hadoop.tmp.dir
/var/sxt/hadoop/full
效果如下:
编辑 hdfs-site.xml ,配置副本数量及secondary namenode服务器。
####配置副本数量,最好小于等于从节点的数量,多了没什么用
dfs.replication
3
####配置secondary namenode的服务器为eleven-3,可改成你自己的
dfs.namenode.secondary.http-address
eleven-3:50090
效果如下:
编辑 slaves 文件,配置从节点服务器,datanode.
#####增加以下三行,表明将eleven-3。eleven-4,eleven-5作为从节点服务器。(datanode的服务器)
eleven-3
eleven-4
eleven-5
效果如下:
命令:
scp -r hadoop-2.6.5 eleven-4:/opt/sxt/
##将eleven-2配置好的/etc/profile 分发至另外三台服务器
scp /etc/profile eleven-3:/etc/
##编译下
source /etc/profile
命令
hdfs namenode -format
成功后效果如下:
启动命令:
start-dfs.sh
成功后效果如下:可以看到启动了相关角色。可在每个服务器的full文件夹下看到对应的文件夹。
hadoop提供可视化管理工具 ,可以用外部浏览器访问管理页面,
解释:所有的计算和文件管理操作都是在datanode节点上执行的,但是都是通过namenode节点去操作的datanode节点,也就是namenode管理着所有的datanode。所以此处访问的管理界面也就是namenode。
浏览器请求 当前虚拟机ip:端口号
先查看当前服务器对外提供的浏览器端口,执行命令 ss -nal
浏览器请求 eleven-2:50070 注意:前提是windows下配置了hosts.否则用ip访问
stop-dfs.sh