文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
hadoop 完全分布式集群搭建
可参考我在 csdn 上的文章: 【向 Linux 迁移记录】Deepin Linux 下快速 Hadoop 完全分布式集群搭建
三台虚拟机分别对应 master、slave1、slave2
主机名 IP 地址
namenode1 192.168.17.10
datanode1 192.168.17.11
datanode2 192.168.17.12
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.6.0-cdh5.12.1/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.6.0-cdh5.12.1/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.6.0-cdh5.12.1/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8034</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://master:19888/jobhistory/logs/</value>
</property>
配置好后关闭虚拟机,进入文件系统将该虚拟机复制两份(当然虚拟机放在哪是你安装是定义的)
然后在虚拟机中导入并重命名
启动虚拟机,分别修改 slave1、slave2 的 IP 地址和主机名,并重启服务(参见前文)
修改之后,重启三台虚拟机。我介意你用命令行工具来链接虚拟机,因为我是 Deepin 上借助 vm 实现 centos 最小化安装,不知道怎么搞定 vm tools 一直安装不成功。搞的虚拟机中命令界面很难看、别扭。我这里借助 Deepin 的命令行自带的连接服务器功能,如图
ssh 免密登录
- 分别在三台虚拟机上设置秘钥,
ssh-keygen -t rsa
,然后三下回车,如图
默认在**/home/hadoop/.ssh**目录(用户目录下的.ssh) 下生成公钥 id_rsa.pub 和私钥文件 id_rsa
- 将 slave1、slave2 节点的公钥汇总到 mster 的.ssh/authorized_keys 文件中
ssh-copy-id -i ~/.ssh/id_rsa.pub master
然后如图操作
- 把 master 的公钥也汇总到 authorized_keys 文件
# master 节点上执行
cd .ssh/
cat id_rsa.pub >> authorized_keys
chmod 600 cat authorized_keys //有必要赋予访问权限
- 把汇总后的 authorized_keys 文件分别发送到 slave1、slave2 的.ssh 目录下
# master 节点上执行
scp authorized_keys slave1:.ssh //执行两次
scp authorized_keys slave2:.ssh
如图,输入 yes 后,分别输入 slave1、slave2 的登录密码
- 测试 ssh 免密登录
ssh 主机名 //第一次连接时如有提示,输入 yes,以后则没有提示也不需要密码即可连接
如图是 slave2 免密登录 master、slave1,不成功的话删掉.ssh 下面的文件重复上面步骤
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论