前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >完全分布式的搭建

完全分布式的搭建

作者头像
可爱见见
发布2019-09-09 16:26:23
5100
发布2019-09-09 16:26:23
举报
文章被收录于专栏:卡尼慕卡尼慕

我们很早之前也说过,完全分布式和伪分布式的区别这里再回顾一下。

伪分布式,也就是像我们之前做的那样,把NameNode,DataNode,NodeManager,ResourceManager,SecondaryNameNode部署在同一个机器上,没有所谓的在多台机器上进行真正的分布式计算,故称为"伪分布式"。

完全分布式,运用多台机器搭建一个包含三台机器以上的机群,可以是实体机也可以是虚拟机。

那么接下来看看怎么配置。

首先要先完成虚拟机的克隆。那么这边已经完成了虚拟机的克隆,该怎么操作之前有讲过。克隆虚拟机

下一步:配置SSH免密登陆。这里也是借鉴我往期推文,也有详细的讲过,这些都是常用的,所以就分开讲了,往前翻翻。最终达到如下图即可。从一台机器登入到另外一台机器。

Q:为什么要配置呢?

A:在配置好hadoop后,可以通过一台机器打开其他机器的节点,免去密码输入。

下一步,我们可以考虑一下服务节点的部署规划。为了使每台机器压力不要那么大,直接如下图分配好了。

怎么配置呢?

首先要解压Hadoop到指定目录下。

然后清理一下Hadoop/share/下的doc目录,删除。

最后就是更改配置,这边直接上代码。

1、修改core-site.xml

代码语言:javascript
复制
//修改core-site.xml
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://songjian-01.com:8020</value>
</property>

 <property>
          <name>hadoop.tmp.dir</name>
          <value>/opt/app/hadoop-2.5.0/data/tmp</value>
</property>

2、修改hdfs-site.xml

代码语言:javascript
复制
//修改hdfs-site.xml
        <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>songjian-03.com:50090</value>
        </property>

        <property>
          <name>dfs.permissions.enabled</name>
          <value>false</value>
        </property>

3、修改slaves

代码语言:javascript
复制
//修改slaves
songjian-01.com
songjian-02.com
songjian-03.com

4、修改mapred-site.xml

代码语言:javascript
复制
修改mapred-site.xml
 <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

        <property>
          <name>mapreduce.jobhistory.address</name>
          <value>songjian-01.com:10020</value>
        </property>

        <property>
          <name>mapreduce.jobhistory.webapp.address</name>
          <value>songjian-01.com:19888</value>       
        </property>

5、修改yarn-site.xml

代码语言:javascript
复制
//修改yarn-site.xml
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>songjian-02.com</value>
          </property> 

          <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
          </property>

          <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>106800</value>
          </property>

接下来要格式化namenode。这边要注意一下,如果有原有的namenode会报错,主要是日志文件那边有问题,具体的百度一下就可以解决。

代码语言:javascript
复制
bin/hdfs namenode -format

然后就是将配置远程发给其他节点。代码:

代码语言:javascript
复制
scp -r hadoop-2.5.0/ songjian-02.com:/opt/app/          
scp -r hadoop-2.5.0/ songjian-03.com:/opt/app/

最后就可以开启所有相关服务节点。其中resourcemanager和historyserver需要分别单独打开。

代码语言:javascript
复制
//这个是开启namenode,datanode等
[root@songjian-01 hadoop-2.7.3]# sbin/start-all.sh 
//historyserver需要单独打开,在哪个机器打开就在那个机器运用命令
[root@songjian-01 hadoop-2.7.3]# sbin/mr-jobhistory-daemon.sh start historyserver
//resourcemanager需要单独打开,在哪个机器打开就在那个机器运用命令
[root@songjian-01 hadoop-2.7.3]# sbin/yarn-daemon.sh start resourcemanager
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卡尼慕 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档