伪分布式 (single node setup)
---------------------------

安装jdk、配置环境变量,测试
rpm -i jdk-7u67-linux-x64.rpm
cd /usr/java/jdk1.7.0_67/
vi + /etc/profile
    export JAVA_HOME=/usr/java/jdk1.7.0_67
    PATH=$PATH:$JAVA_HOME/bin
. /etc/profile

免秘钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

hadoop包安装并配置环变:hadoop-2.6.5.tar.gz
tar xf hadoop-2.6.5.tar.gz -C /opt/sxt
vi + /etc/profile
    export HADOOP_HOME=/opt/sxt/hadoop-2.6.5
    PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

Hadoop的第二次JAVA_HOME 环境变量配置
cd /opt/sxt/hadoop-2.6.5/etc/hadoop
echo $JAVA_HOME

vi hadoop-env.sh
    export JAVA_HOME=/usr/java/jdk1.7.0_67

vi mapred-env.sh
    export JAVA_HOME=/usr/java/jdk1.7.0_67
    
vi yarn-env.sh
    export JAVA_HOME=/usr/java/jdk1.7.0_67

配置core-site.xml
vi core-site.xml

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://node06:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/sxt/hadoop/local</value>
    </property>

配置hdfs-site.xml
              
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node06:50090</value>
    </property>
配置slaves文件
                 vi slaves node06
格式化hdfs
          hdfs namenode -format  (只能格式化一次,再次启动集群不要执行)
启动集群
         start-dfs.sh

角色进程查看:jps
帮助: hdfs 
       hdfs dfs

查看web UI: IP:50070
     创建目录:hdfs dfs  -mkdir -p  /user/root
        
     查看目录:  hdfs dfs -ls   /
    
     上传文件: hdfs dfs -put  hadoop-2.6.5.tar.gz   /user/root                
    
      停止集群:stop-dfs.sh

***************************************************************************************************

全分布安装
---------------------------------------------
前期准备:

jdk
hostname
hosts
    cat /etc/hosts
date
    date -s "2019-9-29 14:09:50"
network
    cat /etc/sysconfig/network
        NETWORKING=YES
        HOSTNAME=sxt0002

cat /etc/sysconfig/selinux
    SELINUX=disabled

安全机制
        
firewall
windows 域名映射

节点: node06/07/08/09
全分布分配方案:

NN        SNN        DN
NODE06        *
NODE07                *        *    
NODE08                        *
NODE09                        *

节点状态:
    node06: 伪分布
    node07/08/09 :  ip配置完成
建立各节点通讯(hosts)

设置时间同步:date -s “xxxx-x-xx xx:xx:xx”

秘钥分发: 
在每个节点上登录一下自己:产生.ssh目录
从node06向node07/node08/node09分发公钥 (公钥的名称要变化)
scp  id_dsa.pub   node03:`pwd`/node06.pub

各节点把node01的公钥追加到认证文件里:
cat ~/node06.pub  >> ~/.ssh/authorized_keys

07/node08/node09安装jdk环境,node06分发profile给其他节点,并重读配置文件

分发hadoop部署程序2.6.5 到其他节点

copy node06 下的 hadoop 为 hadoop-local (管理脚本只会读取hadoop目录)

[root@node06 etc]# cp -r hadoop   hadoop-local

配置core-site.xml
    <property>
            <name>hadoop.tmp.dir</name>
            <value>/var/henu/hadoop/full</value>
        </property>
配置hdfs-site.xml
    <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
    <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>node03:50090</value>
        </property>

配置slaves

分发sxt到其他07,08,09节点

格式化集群:hdfs namenode -format

启动集群:start-dfs.sh
Jps  查看各节点进程启动情况

HA 
------------------------------------------

NN1        NN2        DN        ZK        ZKFC        JNN
NODE06        *                                *        *
NODE07                *        *        *        *        *
NODE08                        *        *                *
NODE09                        *        *

两个nn节点免秘钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

-------------------------
进入hadoop-2.6.5/etc目录 (可以通过变量:cd $HADOOP_HOME)
拷贝hadoop 为 hadoop-full

hdfs.xml
---------------------------------------

去掉snn的配置

<property>
                  <name>dfs.namenode.secondary.http-address</name>
                <value>node07:50090</value>
 </property>

增加:

<property>
  <name>dfs.nameservices</name>
  <value>mycluster</value>
</property>
<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
  <value>node06:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>node07:8020</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>node06:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>node07:50070</value>
</property>

<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://node06:8485;node07:8485;node08:8485/mycluster</value>
</property>

<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/var/sxt/hadoop/ha/jn</value>
</property>

<property>
  <name>dfs.client.failover.proxy.provider.mycluster</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
  <name>dfs.ha.fencing.methods</name>
  <value>sshfence</value>
</property>
<property>
  <name>dfs.ha.fencing.ssh.private-key-files</name>
  <value>/root/.ssh/id_dsa</value>
</property>

<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>

core-site.xml
-----------------------------------------

hadoop.tmp.dir的配置要变更:/var/sxt/hadoop-2.6/ha

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://mycluster</value>
</property>

<property>
   <name>ha.zookeeper.quorum</name>
   <value>node07:2181,node08:2181,node09:2181</value>
</property>

分发 hdfs.xml 和core.xml 给其他节点

安装zookeeper集群:
----------------------------
1.3节点 java 安装

2.所有集群节点创建目录: mkdir opt/sxt

3.zk压缩包解压在其他路径下::
    #    tar xf zookeeper-3.4.6.tar.gz -C /opt/sxt/

4.进入conf目录,拷贝zoo_sample.cfg zoo.cfg 并配置
   dataDir,集群节点。

5.单节点配置环境变量、并分发 ZOOKEEPER_PREFIX,共享模式读取profile

6. 共享创建 /var/sxt/zk目录,进入各自目录 分别输出1,2,3 至文件 myid
    echo 1 > /var/sxt/zk/myid
    ...

7. 共享启动zkServer.sh start 集群

8.启动客户端 help命令查看

6,7,8节点启动jn 集群
-------------------------
hadoop-daemon.sh start journalnode

随意找一个nn节点格式化:
[root@node06 hadoop]# hdfs namenode -format

启动该节点:
[root@node06 hadoop]# hadoop-daemon.sh start namenode

另一nn节点同步:
[root@node07 sxt]# hdfs namenode -bootstrapStandby

(同步成功,会发现同步另一个nn节点的clusterID 不是秘钥分发,而是同步过来的)

cat /var/sxt/hadoop/ha/dfs/name/current/VERSION

格式化zkfc,在zookeeper中可见目录创建:

[root@node06 hadoop]# hdfs zkfc -formatZK

(ha.ActiveStandbyElector: Successfully created /hadoop-ha/mycluster in ZK.)

在zookeeper 客户端可见:

[zk: localhost:2181(CONNECTED) 1] ls /
[hadoop-ha, zookeeper]
[zk: localhost:2181(CONNECTED) 2] ls /hadoop-ha
[mycluster]

启动hdfs集群;

start-dfs.sh

再次查看zk客户端,可见:
[zk: localhost:2181(CONNECTED) 9] ls /hadoop-ha/mycluster
[ActiveBreadCrumb, ActiveStandbyElectorLock]

或者两个目录的数据,谁是主谁被创建:
[zk: localhost:2181(CONNECTED) 11] get /hadoop-ha/mycluster/ActiveBreadCrumb

mr-hd2.x yarn
------------------------------------------------

NN1        NN2        DN        ZK        ZKFC        JNN        RS        NM
NODE06        *                                *        *                
NODE07                *        *        *        *        *                *
NODE08                        *        *                *        *        *
NODE09                                *                        *        *

node06:

两个rm节点互免秘钥:

08节点 .ssh 目录下: ssh-keygen -t dsa -P '' -f ./id_dsa
            cat ~id_dsa.pub >> authorized_keys

scp id_dsa.pub root@node09:`pwd`/node08.pub

09节点 .ssh 目录下 :
        cat node08.pub >> authorized_keys
        ssh-keygen -t dsa -P '' -f ./id_dsa
        cat ~id_dsa.pub >> authorized_keys
            scp id_dsa.pub root@node08:`pwd`/node09.pub
        
08节点 .ssh 目录下:
        cat node09.pub >> authorized_keys

(别忘了退出)

重命名:  mv mapred-site.xml.template mapred-site.xml

mapred-site.xml
==============================

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

=================================
yarn-site.xml:
=================================

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
<property>
   <name>yarn.resourcemanager.ha.enabled</name>
   <value>true</value>
 </property>
 <property>
   <name>yarn.resourcemanager.cluster-id</name>
   <value>cluster1</value>
 </property>
 <property>
   <name>yarn.resourcemanager.ha.rm-ids</name>
   <value>rm1,rm2</value>
 </property>
 <property>
   <name>yarn.resourcemanager.hostname.rm1</name>
   <value>node08</value>
 </property>
 <property>
   <name>yarn.resourcemanager.hostname.rm2</name>
   <value>node09</value>
 </property>
 <property>
   <name>yarn.resourcemanager.zk-address</name>
   <value>node07:2181,node08:2181,node09:2181</value>
 </property>

分发两个文件到:07,08,09节点
scp maprexxxx   yarn-xxx node07:`pwd`
scp maprexxxx   yarn-xxx node08:`pwd`
scp maprexxxx   yarn-xxx node09:`pwd`

启动:node06:

1 zookeeper
2 hdfs (注意,有一个脚本不要用,start-all)start-dfs.sh
  如果nn 和 nn2没有启动,需要在node06,node07分别手动启动:
  hadoop-daemon.sh start namenode    
3 start-yarn.sh (启动nodemanager)
4 在08,09节点分别执行脚本: yarn-daemon.sh start resourcemanager

UI访问: ip:8088

停止:
node06: stop-dfs.sh 
node06: stop-yarn.sh (停止nodemanager)
node07,node08: yarn-daemon.sh stop resourcemanager (停止resourcemanager)

Hadoop 00_hadoop伪分布式,完全分布式,HA搭建相关推荐

  1. Hadoop单机/伪分布式集群搭建(新手向)

    此文已由作者朱笑笑授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 本文主要参照官网的安装步骤实现了Hadoop伪分布式集群的搭建,希望能够为初识Hadoop的小伙伴带来借鉴意 ...

  2. 手把手教你搭建Hadoop生态系统伪分布式集群

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 手把手教你搭建Hadoop生态 ...

  3. Hadoop伪分布式集群的搭建

    一.准备虚拟机 1.从网上将VMware下载下来 https://www.vmware.com/content/dam/digitalmarketing/vmware/en/images/galler ...

  4. CentOS hadoop 分布式集群的搭建

    从伪分布式到分布式,只差两个配置文件(slaves.masters)的事: 定集群中的全部节点,彼此之间已实现免密码登录(共An−1nA_n^{n-1}对关系),节点都配置好hadoop(每个节点上的 ...

  5. 一、史上最强hadoop分布式集群的搭建

    史上最强hadoop分布式集群的搭建 @Author:by Runsen @data:2020-02-23 原创文章,禁止转载 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自 ...

  6. hadoop伪分布式模式_Hadoop模式介绍-独立,伪分布式,分布式

    hadoop伪分布式模式 了解了什么是Hadoop之后,让我们在单机上启动Hadoop: 这篇文章包含在ubuntu上安装Hadoop的说明. 这是Hadoop安装的快速分步教程. 在这里,您将获得以 ...

  7. Hadoop模式介绍-独立,伪分布式,分布式

    了解了什么是Hadoop之后,让我们在单机上启动Hadoop: 这篇文章包含在ubuntu上安装Hadoop的说明. 这是Hadoop安装的快速分步教程. 在这里,您将获得以独立模式 (单节点集群)安 ...

  8. Hadoop单机伪分布式安装(完整版)

    在学习Hadoop时,我发现网上的各种安装的资料要不不全,要不前后不匹配(比如有的是伪分布式,有的是完全分布式).此篇文章,我总结了身边的同学在安装Hadoop时遇到的毛病,在前面安装配置环节,尽可能 ...

  9. 胖虎的Hadoop笔记——Hadoop的伪分布式部署

    胖虎的Hadoop笔记--Hadoop的伪分布式部署 本博客用于Hadoop大数据企业课笔记记录.第三步 一.VMware安装和创建虚拟机 1.VMware安装 安装包下载:https://pan.b ...

最新文章

  1. java if and_Java运算符-if分支语句
  2. Win64 驱动内核编程-33.枚举与删除对象回调
  3. scala为什么需要函数
  4. 安防市场规模超万亿 罗曼股份推智慧联动安防
  5. 2013计算机视觉代码合集一
  6. C++开发WPF,开发环境配置
  7. 自定义UISlider的外观
  8. 去除ios手机端input输入框上方有阴影
  9. ssh远程连接windows
  10. 仇保兴:城市的交通应该尊重什么样的发展战略?
  11. Sql查询时间段内容
  12. jsp mysql问卷调查_课内资源 - 基于JSP的在线调查问卷系统
  13. 主机和服务器之间有何区别?
  14. spo2数据集_氧仪主要测量指标分别为脉率、血氧饱和度、灌注指数(PI)
  15. 用JavaScript制作导航栏切换
  16. 四川高考成绩排名查询2021,2020年四川高考成绩排名查询系统 四川高考位次排名表...
  17. java 游戏管理系统_从零开始实现放置游戏(三):后台管理系统搭建
  18. 西南大学计算机科学与技术中外合作办学,西南大学计算机科学与技术专业中外合作办学项目2019年联合管理委员会会议召开...
  19. oracle分页语句解释,oracle分页语句
  20. ProfileString函数详细解释

热门文章

  1. 洛谷 - P4717 【模板】快速莫比乌斯/沃尔什变换 (FMT/FWT)
  2. HDU - 5306 Gorgeous Sequence(吉司机线段树)
  3. list Control实现单元格编辑与插入Combo Box
  4. 用Python实现归并排序
  5. 为什么字节跳动选择使用 Go 语言?
  6. 后端不哭!最新优化性能经验分享来啦
  7. Java 代码精简之道 | 长文
  8. 高并发之API接口,分布式,防刷限流,如何做?
  9. LiveVideoStack主编观察04 /
  10. SRS流媒体服务器——Forward集群搭建和源码分析