hadoop配置
Hadoop 集群部署指南
1. 环境准备
1.1 服务器配置
bigdata1:
- HDFS: Namenode
- YARN: ResourceManager, NodeManager
bigdata2:
- HDFS: Datanode
- YARN: NodeManager
bigdata3:
- HDFS: Secondary Namenode
- YARN: NodeManager
1.2 软件准备
- Hadoop: 版本 3.1.3
- Java: JDK
2. 软件安装
2.1 解压并移动 Hadoop
1 | tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module |
2.2 配置环境变量
编辑 /etc/profile
文件,添加以下内容:
1 | export JAVA_HOME=/opt/module/jdk |
然后执行:
1 | source /etc/profile |
3. 配置 Hadoop
3.1 配置 core-site.xml(nameNode)
编辑 ~/opt/module/hadoop/etc/hadoop/core-site.xml
文件:
1 | <configuration> |
3.2 配置 hdfs-site.xml
编辑 ~/opt/module/hadoop/etc/hadoop/hdfs-site.xml
文件:
1 | <configuration> |
3.3 配置 yarn-site.xml
编辑 ~/opt/module/hadoop/etc/hadoop/yarn-site.xml
文件:
1 | <configuration> |
3.4 配置 mapred-site.xml
编辑 ~/opt/module/hadoop/etc/hadoop/mapred-site.xml
文件:
1 | <configuration> |
3.5 配置 workers
编辑 ~/opt/module/hadoop/etc/hadoop/workers
文件,添加:
1 | master |
3.6 配置 hadoop-env.sh
编辑 ~/opt/module/hadoop/etc/hadoop/hadoop-env.sh
文件,添加:
1 | export JAVA_HOME=/opt/module/jdk |
4. 分发配置文件和安装包
1 | scp -r /opt/module/hadoop slave1:/opt/module |
5. 格式化 Namenode
在 master 主机上执行:
1 | hdfs namenode -format |
6. 启动 Hadoop 集群
6.1 启动 HDFS
在 master 上执行:
一键启动命令:
1 | start-all.sh |
分布启动:
1 | cd /opt/module/hadoop/sbin |
在 slave1 和 slave2 上执行:
1 | cd /opt/module/hadoop/sbin |
6.2 启动 YARN
在 master 上执行:
1 | cd /opt/module/hadoop/sbin |
在 slave1 和 slave2 上执行:
1 | cd /opt/module/hadoop/sbin |
7. 其他脚本配置
如果需要自定义脚本,可以编辑 start-dfs.sh
, stop-dfs.sh
, start-yarn.sh
, 和 stop-yarn.sh
文件。注意脚本中可能需要配置环境变量和用户设置。
免密登录
1. 生成 SSH 密钥对
如果您还没有 SSH 密钥对,可以通过以下命令生成一个:
1 | ssh-keygen -t rsa -b 4096 |
解释:
-t rsa
:指定密钥类型为 RSA。-b 4096
:设置密钥长度为 4096 位。
在执行命令时,系统会提示您输入文件名和密码。默认情况下,密钥文件将保存在 ~/.ssh/id_rsa
和 ~/.ssh/id_rsa.pub
。您可以直接按回车接受默认路径,也可以指定其他路径。建议设置密码以增加安全性,但如果希望完全免密,则可以留空。
2. 将公钥复制到远程服务器
使用 ssh-copy-id
命令将您的公钥复制到远程服务器的授权密钥文件中:
1 | ssh-copy-id username@remote_host |
替换 username
和 remote_host
为您的远程服务器用户名和主机名或 IP 地址。
如果 ssh-copy-id
不可用,您可以手动完成此操作:
显示公钥内容:
1
cat ~/.ssh/id_rsa.pub
在远程服务器上创建
.ssh
目录(如果尚不存在)并将公钥内容追加到authorized_keys
文件中:1
2
3ssh username@remote_host
mkdir -p ~/.ssh
cat >> ~/.ssh/authorized_keys粘贴公钥内容,然后按
Ctrl+D
保存。设置正确的权限:
1
2chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
3. 验证免密登录
尝试从本地机器 SSH 到远程服务器,检查是否可以免密登录:
1 | ssh username@remote_host |
如果设置正确,您应该能够直接登录而不需要输入密码。
4. 配置 SSH 客户端(可选)
如果您使用非默认的密钥文件或需要指定其他 SSH 选项,可以编辑或创建 ~/.ssh/config
文件:
1 | Host remote_host |
这将使得在连接到 remote_host
时使用指定的密钥文件和用户名。
5. 解决常见问题
- 确保 SSH 服务正在运行:在远程服务器上,确保 SSH 服务(通常是
sshd
)正在运行。 - 检查权限:确保
.ssh
目录和authorized_keys
文件的权限设置正确。 - 确认公钥复制成功:确保公钥正确地复制到
authorized_keys
文件中,没有多余的空行或字符。
通过以上步骤,您可以实现免密登录,提高日常操作的效率和安全性。
加入大数据创智社团群,群号:303254470