1. Hadoop集群搭建的三种模式
- 本地运行模式
无需运行任何守护进行,所有程序都在单个JVM上执行
- 伪分布式运行模式
Hadoop对应的Java进程都运行在一个物理机器上
- 完全分布式运行模式
Hadoop对应的Java进程都运行在多台物理机器上
2. 具体步骤及解释
1. 准备安装环境
| |
| 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标签中 |
| <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> |
| <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> |
| 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. 关闭集群
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?