Hadoop集群搭建之完全分布式搭建
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
- 配置文件之
coer-site.xml
作用如下:
写到configuration标签中
<property>
<name>fs.defaultFS</name> # 如果hdfs-site.xml中不配置namenode和datanode存放文件的位置,默认就放在这个路径中
<value>hdfs://node001:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> # hadoop文件系统依赖的基础配置,很多路径都依赖他
<value>/var/bdp/hadoop/full</value>
</property>
- 配置文件之
hdfs-site.xml
作用如下:
<property>
<name>dfs.namenode.secondary.http-address</name> # 配置SNN的web地址
<value>node002:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name> # 配置SNN的web地址
<value>node002:50091</value>
</property>
<property>
<name>dfs.replication</name> # 配置副本的数量,一般最小值为3,否则会影响到数据的可靠性
<value>2</value>
</property>
- 配置文件之
workers
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
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/15952611.html