1. Hadoop集群搭建的三种模式
- 本地运行模式
无需运行任何守护进行,所有程序都在单个JVM上执行
- 伪分布式运行模式
Hadoop对应的Java进程都运行在一个物理机器上
- 完全分布式运行模式
Hadoop对应的Java进程都运行在多台物理机器上
2. 具体步骤及解释
1. 准备安装环境
# 将hadoop-3.1.2.tar.gz从官网上下载,上传到/opt目录,解压,删除
tar -zxvf hadoop-3.1.2.tar.gz
rm -rf hadoop-3.1.2.tar.gz
2. 修改集群环境
cd /opt/hadoop3.1.2/etc/hadoop
- 配置文件之
hadoop-env.sh
作用:配置环境变量
export JAVA_HOME=/usr/local/java/jdk1.8.0_261
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE=root
export HDFS_SECONDARYNAMENODE_USER=root
写到configuration标签中
fs.defaultFS # 如果hdfs-site.xml中不配置namenode和datanode存放文件的位置,默认就放在这个路径中
hdfs://node001:9000
hadoop.tmp.dir # hadoop文件系统依赖的基础配置,很多路径都依赖他
/var/bdp/hadoop/full
dfs.namenode.secondary.http-address # 配置SNN的web地址
node002:50090
dfs.namenode.secondary.http-address # 配置SNN的web地址
node002:50091
dfs.replication # 配置副本的数量,一般最小值为3,否则会影响到数据的可靠性
2
node001
node002
node003
cd /opt/
scp -r hadoop-3.1.2 node002:/opt/
scp -r hadoop-3.1.2 node003:/opt/
vim /etc/profile
export HADOOP_HOME=/opt/hadoop-3.1.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile
scp /etc/profile node002:/etc/
scp /etc/profile node003:/etc/
ssh root@node002 "source /etc/profile"
ssh root@node003 "source /etc/profile"
3. 关于SSH免密码登录
私钥:密钥留在本机
公钥:密钥留在本机
node001:
生成密钥:
ssh-keygen -t rsa(密钥存放位置:/root/.ssh , id_rsa私钥, id_rsa.pub公钥)
发送私钥(本机):
ssh-copy-id localhost(需要输入node001结点的密码)
发送公钥(其他计算机node002):
ssh-copy-id node002(需要输入node001结点的密码)
发送公钥(其他计算机node003):
ssh-copy-id node003(需要输入node003结点的密码)
测试免密钥登录;
ssh localhost
ssh node002
ssh node003
4. 格式化NameNode
hdfs namenode -format
start-dfs.sh
5. 测试集群
在浏览器中输入192.168.200.1 32:9870或192.168.200.135:50091
6. 关闭集群
stop-dfs.sh