前几天把伪分布式系统搭建成功了
昨天晚上花了不到一个小时就把分布式系统给搭建好了
由于我的电脑只有两台
一台是centos7,一台是ubuntu16
所以我就用这两台电脑来搭建
所有有网友说只有两台电脑可否搭建分布式系统,那么应该是可以的
下面说说配置
首先我想请你先看这里
CentOS7安装hadoop2.7.2 实现伪分布式 测试成功(亲测教程)
因为我就是从伪分布式过来的,他们的配置基本是一样的
我们假设您已经配置好了一台伪分布式系统
并且hadoop的目录在这里
/mysoft/hadoop/
然后,配置第二台电脑的各种环境
我的第二台电脑是ubuntu
环境包括java环境、ssh免密码环境,以及IP环境和关闭防火墙。
对于ubuntu关闭防火墙可以运行:ufw disable |
|
或者可以删除防火墙: apt-get remove iptables |
这里我就说以下IP环境,ip的 映射我设置为了 MyUbuntu(这是一个子节点)
而我们的第一台电脑的名字是MyCentOS(这是一个主节点)
在主机和子节点的的/etc/hosts里加入全部的映射关系
如:
192.168.0.101 MyCentOS
192.168.0.104 MyUbuntu
否则,当您用网络名ping时,ping另外一台主机就ping不通
这些配置都和这个连接里的方法是一致的
CentOS7安装hadoop2.7.2 实现伪分布式 测试成功(亲测教程)
然后把第一台电脑的hadoop复制到第二台电脑的相同目录
也就是说在ubuntu的文件系统里,我们也应该创建一个mysoft目录,然后将第一台电脑的hadoop的整个目录拷贝进来
目录一定要相同!!!
就是说目前,两台电脑的配置(系统环境)是完全一样的。
现在我们开始配置两台电脑的无密码访问
我们分别将两台电脑的公匙相互写入
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
相互写入,就是把第一台电脑的公匙拷贝到第二台,然后把这个公匙写入到第二台
把第二台电脑的公匙拷贝到第一台,然后把这个公匙写入到第一台
这样他们就可以互相无密码登录了
我们可以在第一台电脑上运行代码
ssh MyUbuntu 没有提示输入密码就表示成功
此外,我们还需要至少一个文件slaves
我们需要在所有的主机(主节点和子节点服务器)上配置上子节点的ip或网络名
比如我这里就配置的是
MyUbuntu
可能在hadoop2.X后就没有master文件了吧,我在/mysoft/hadoop/etc/hadoop 并没有找到这个文件
另外需要修改的文件是yarn-env.sh
将其中的
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
改为
export JAVA_HOME=真实的java地址 我这里是/mysoft/java/jdk1.8
自此,全部完成
然后我们就可以开始测试了
先格式化:hdfs namenode -format
然后运行:start-dfs.sh和start-yarn.sh
然后我们就可以看到在两台电脑上都创建好了tmp文件的内容,并且
主机上的tmp里是namenode 而子节点主机上的tmp里是的datanode
我们在centos里输入命令 jps 查看
发现有namenode服务和其他服务,没有datanode服务
而我们在ubuntu里输入命令 jps 查看
发现是有datanode服务和其他服务,没有namenode服务
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情