CDH5包下载:http://archive.cloudera.com/cdh5/

主机规划:

IP

Host

部署模块

进程

192.168.107.82

Hadoop-NN-01

NameNode

ResourceManager

NameNode

DFSZKFailoverController

ResourceManager

192.168.107.83

Hadoop-DN-01

Zookeeper-01

DataNode

NodeManager

Zookeeper

DataNode

NodeManager

JournalNode

QuorumPeerMain

192.168.107.84

Hadoop-DN-02

Zookeeper-02

DataNode

NodeManager

Zookeeper

DataNode

NodeManager

JournalNode

QuorumPeerMain

各个进程解释:

  • NameNode
  • ResourceManager
  • DFSZKFC:DFS Zookeeper Failover Controller 激活Standby NameNode
  • DataNode
  • NodeManager
  • JournalNode:NameNode共享editlog结点服务(如果使用NFS共享,则该进程和所有启动相关配置接可省略)。
  • QuorumPeerMain:Zookeeper主进程

目录规划:

名称

路径

$HADOOP_HOME

/home/hadoopuser/hadoop-2.6.0-cdh5.6.0

Data

$ HADOOP_HOME/data

Log

$ HADOOP_HOME/logs

配置:

一、关闭防火墙(防火墙可以以后配置)

二、安装JDK(略)

三、修改HostName并配置Host3台)

  1. [root@Linux01 ~]# vim /etc/sysconfig/network
  2. [root@Linux01 ~]# vim /etc/hosts
  3.  
  4. 192.168.107.82 Hadoop-NN-01
  5. 192.168.107.83 Hadoop-DN-01 Zookeeper-01
  6. 192.168.107.84 Hadoop-DN-02 Zookeeper-01

四、为了安全,创建Hadoop专门登录的用户(5台)

  1. [root@Linux01 ~]# useradd hadoopuser
  2. [root@Linux01 ~]# passwd hadoopuser
  3. [root@Linux01 ~]# su hadoopuser #切换用户

五、配置SSH免密码登录(2NameNode

  1. [hadoopuser@Linux05 hadoop-2.6.0-cdh5.6.0]$ ssh-keygen #生成公私钥
  2. [hadoopuser@Linux05 hadoop-2.6.0-cdh5.6.0]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoopuser@Hadoop-NN-01

-I 表示 input

~/.ssh/id_rsa.pub 表示哪个公钥组

或者省略为:

  1. [hadoopuser@Linux05 hadoop-2.6.0-cdh5.6.0]$ ssh-copy-id Hadoop-NN-01(或写IP10.10.51.231 #将公钥扔到对方服务器
  2. [hadoopuser@Linux05 hadoop-2.6.0-cdh5.6.0]$ ssh-copy-id 6000 Hadoop-NN-01 #如果带端口则这样写

注意修改Hadoop的配置文件 Hadoop-env.sh

export HADOOP_SSH_OPTS=”-p 6000”

  1. [hadoopuser@Linux05 hadoop-2.6.0-cdh5.6.0]$ ssh Hadoop-NN-01 #验证(退出当前连接命令:exit、logout)
  2. [hadoopuser@Linux05 hadoop-2.6.0-cdh5.6.0]$ ssh Hadoop-NN-01 p 6000 #如果带端口这样写

六、配置环境变量:vi ~/.bashrc 然后 source ~/.bashrc5台)

  1. [hadoopuser@Linux01 ~]$ vi ~/.bashrc
  2. # hadoop cdh5
  3. export HADOOP_HOME=/home/hadoopuser/hadoop-2.6.0-cdh5.6.0
  4. export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
  5.  
  6. [hadoopuser@Linux01 ~]$ source ~/.bashrc #生效

七、安装zookeeper2DataNode

1、解压

2、配置环境变量:vi ~/.bashrc

  1. [hadoopuser@Linux01 ~]$ vi ~/.bashrc
  2. # zookeeper cdh5
  3. export ZOOKEEPER_HOME=/home/hadoopuser/zookeeper-3.4.5-cdh5.6.0
  4. export PATH=$PATH:$ZOOKEEPER_HOME/bin
  5.  
  6. [hadoopuser@Linux01 ~]$ source ~/.bashrc #生效

3、修改日志输出

  1. [hadoopuser@Linux01 ~]$ vi $ZOOKEEPER_HOME/libexec/zkEnv.sh
  2. 56行: 找到如下位置修改语句:ZOO_LOG_DIR="$ZOOKEEPER_HOME/logs"

4、修改配置文件

  1. [hadoopuser@Linux01 ~]$ vi $ZOOKEEPER_HOME/conf/zoo.cfg
  2.  
  3. # zookeeper
  4. tickTime=2000
  5. initLimit=10
  6. syncLimit=5
  7. dataDir=/home/hadoopuser/zookeeper-3.4.5-cdh5.6.0/data
  8. clientPort=2181
  9.  
  10. # cluster
  11. server.1=Zookeeper-01:2888:3888
  12. server.2=Zookeeper-02:2888:3888

5、设置myid

(1)Hadoop-DN -01:

  1. mkdir $ZOOKEEPER_HOME/data
  2. echo 1 > $ZOOKEEPER_HOME/data/myid

(2)Hadoop-DN -02:

  1. mkdir $ZOOKEEPER_HOME/data
  2. echo 2 > $ZOOKEEPER_HOME/data/myid

6、各结点启动:

  1. [hadoopuser@Linux01 ~]$ zkServer.sh start

7、验证

  1. [hadoopuser@Linux01 ~]$ jps
  2.  
  3. 3051 Jps
  4. 2829 QuorumPeerMain

8、状态

  1. [hadoopuser@Linux01 ~]$ zkServer.sh status
  2.  
  3. JMX enabled by default
  4. Using config: /home/zero/zookeeper/zookeeper-3.4.5-cdh5.0.1/bin/../conf/zoo.cfg
  5. Mode: follower

9、附录zoo.cfg各配置项说明

属性

意义

tickTime

时间单元,心跳和最低会话超时时间为tickTime的两倍

dataDir

数据存放位置,存放内存快照和事务更新日志

clientPort

客户端访问端口

initLimit

配 置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒。

syncLimit

这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个

server.id=host:port:port

server.A=BCD

集群结点列表:

A :是一个数字,表示这个是第几号服务器;

B :是这个服务器的 ip 地址;

C :表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;

D :表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

八、安装Hadoop,并配置(只装1配置完成后分发给其它节点)

1、解压

2、修改配置文件

1)修改 $HADOOP_HOME/etc/hadoop/masters

  1. Hadoop-NN-01

2)修改 $HADOOP_HOME/etc/hadoop/slaves

  1. Hadoop-DN-01
  2. Hadoop-DN-02

3)修改 $HADOOP_HOME/etc/hadoop/vi core-site.xml

  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://Hadoop-NN-01:9000</value>
  5. <description>定义HadoopMaster的URI和端口</description>
  6. </property>
  7. <property>
  8. <name>io.file.buffer.size</name>
  9. <value>131072</value>
  10. <description>用作序列化文件处理时读写buffer的大小</description>
  11. </property>
  12. <property>
  13. <name>hadoop.tmp.dir</name>
  14. <value>/home/hadoopuser/hadoop-2.6.0-cdh5.6.0/tmp</value>
  15. <description>临时数据存储目录设定</description>
  16. </property>
  17. </configuration>

(4)修改 $HADOOP_HOME/etc/hadoop/hdfs-site.xml

  1. <configuration>
  2. <property>
  3. <name>dfs.namenode.name.dir</name>
  4. <value>/home/hadoopuser/hadoop-2.6.0-cdh5.6.0/dfs/name</value>
  5. <description> namenode 存放name table(fsimage)本地目录(需要修改)</description>
  6. </property>
  7. <property>
  8. <name>dfs.datanode.data.dir</name>
  9. <value>/home/hadoopuser/hadoop-2.6.0-cdh5.6.0/dfs/data</value>
  10. <description>datanode存放block本地目录(需要修改)</description>
  11. </property>
  12. <property>
  13. <name>dfs.replication</name>
  14. <value>1</value>
  15. <description>文件副本个数,默认为3</description>
  16. </property>
  17. <property>
  18. <name>dfs.blocksize</name>
  19. <value>134217728</value>
  20. <description>块大小128M</description>
  21. </property>
  22. <property>
  23. <name>dfs.permissions</name>
  24. <value>false</value>
  25. <description>是否对DFS中的文件进行权限控制(测试中一般用false)</description>
  26. </property>
  27. </configuration>

(5)修改 $HADOOP_HOME/etc/hadoop/yarn-site.xml

  1. <configuration>
  2. <property>
  3. <name>yarn.resourcemanager.address</name>
  4. <value>Hadoop-NN-01:8032</value>
  5. </property>
  6. <property>
  7. <name>yarn.resourcemanager.scheduler.address</name>
  8. <value>Hadoop-NN-01:8030</value>
  9. </property>
  10. <property>
  11. <name>yarn.resourcemanager.resource-tracker.address</name>
  12. <value>Hadoop-NN-01:8031</value>
  13. </property>
  14. <property>
  15. <name>yarn.resourcemanager.admin.address</name>
  16. <value>Hadoop-NN-01:8033</value>
  17. </property>
  18. <property>
  19. <name>yarn.resourcemanager.webapp.address</name>
  20. <value>Hadoop-NN-01:8088</value>
  21. </property>
  22. <property>
  23. <name>yarn.nodemanager.aux-services</name>
  24. <value>mapreduce_shuffle</value>
  25. </property>
  26. <property>
  27. <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  28. <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  29. </property>
  30. </configuration>

(6)修改 $HADOOP_HOME/etc/hadoop/ mapred-site.xml

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. <property>
  7. <name>mapreduce.jobhistory.address</name>
  8. <value>Hadoop-NN-01:10020</value>
  9. </property>
  10. <property>
  11. <name>mapreduce.jobhistory.webapp.address</name>
  12. <value>Hadoop-NN-01:19888</value>
  13. </property>
  14. </configuration>

7)修改 $HADOOP_HOME/etc/hadoop/hadoop-env.sh

  1. #--------------------Java Env------------------------------
  2. export JAVA_HOME="/usr/java/jdk1.8.0_73"
  3. #--------------------Hadoop Env----------------------------
  4. #export HADOOP_PID_DIR=${HADOOP_PID_DIR}
  5. export HADOOP_PREFIX="/home/hadoopuser/hadoop-2.6.0-cdh5.6.0"
  6. #--------------------Hadoop Daemon Options-----------------
  7. # export HADOOP_NAMENODE_OPTS="-Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS"
  8. # export HADOOP_DATANODE_OPTS="-Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS"
  9. #--------------------Hadoop Logs---------------------------
  10. #export HADOOP_LOG_DIR=${HADOOP_LOG_DIR}/$USER
  11. #--------------------SSH PORT-------------------------------
  12. export HADOOP_SSH_OPTS="-p 6000" #如果你修改了SSH登录端口,一定要修改此配置。

8)修改 $HADOOP_HOME/etc/hadoop/yarn-env.sh

  1. #Yarn Daemon Options
  2. #export YARN_RESOURCEMANAGER_OPTS
  3. #export YARN_NODEMANAGER_OPTS
  4. #export YARN_PROXYSERVER_OPTS
  5. #export HADOOP_JOB_HISTORYSERVER_OPTS
  6.  
  7. #Yarn Logs
  8. export YARN_LOG_DIR="/home/hadoopuser/hadoop-2.6.0-cdh5.6.0/logs"

3、分发程序

  1. scp -r /home/hadoopuser/hadoop-2.6.0-cdh5.6.0 hadoopuser@Hadoop-DN-01:/home/hadoopuser
  2. scp -r /home/hadoopuser/hadoop-2.6.0-cdh5.6.0 hadoopuser@Hadoop-DN-02:/home/hadoopuser

4、格式化NameNode

  1. [hadoopuser@Linux01 hadoop-2.6.0-cdh5.6.0]$ hadoop namenode -format

5、启动JournalNode

  1. [hadoopuser@Linux01 hadoop-2.6.0-cdh5.6.0]$ hadoop-daemon.sh start journalnode starting journalnode, logging to /home/hadoopuser/hadoop-2.6.0-cdh5.6.0/logs/hadoop-puppet-journalnode-BigData-03.out

验证JournalNode

  1. [hadoopuser@Linux01 hadoop-2.6.0-cdh5.6.0]$ jps
  2.  
  3. 9076 Jps
  4. 9029 JournalNode

6、启动HDFS

集群启动法:Hadoop-NN-01: start-dfs.sh

  1. [hadoopuser@Linux01 hadoop-2.6.0-cdh5.6.0]$ start-dfs.sh

单进程启动法:

<1>NameNode(Hadoop-NN-01,Hadoop-NN-02):hadoop-daemon.sh start namenode

<2>DataNode(Hadoop-DN-01,Hadoop-DN-02,Hadoop-DN-03):hadoop-daemon.sh start datanode

<3>JournalNode(Hadoop-DN-01,Hadoop-DN-02,Hadoop-DN-03):hadoop-daemon.sh start journalnode

7、启动Yarn

<1>集群启动

Hadoop-NN-01启动Yarn,命令所在目录:$HADOOP_HOME/sbin

  1. [hadoopuser@Linux01 hadoop-2.6.0-cdh5.6.0]$ start-yarn.sh

<2>单进程启动

ResourceManager(Hadoop-NN-01,Hadoop-NN-02):yarn-daemon.sh start resourcemanager

DataNode(Hadoop-DN-01,Hadoop-DN-02,Hadoop-DN-03):yarn-daemon.sh start nodemanager

验证(略)

Hadoop集群安装-CDH5(3台服务器集群)的更多相关文章

  1. Redis集群搭建,伪分布式集群,即一台服务器6个redis节点

    Redis集群搭建,伪分布式集群,即一台服务器6个redis节点 一.Redis Cluster(Redis集群)简介 集群搭建需要的环境 二.搭建集群 2.1Redis的安装 2.2搭建6台redi ...

  2. Dynamics 365 for CRM:CRM与ADFS安装到同一台服务器,需修改ADFS服务端口号

    CRM与ADFS安装到同一台服务器时,出现PluginRegistrationTool 及 CRM Outlook Client连接不上,需要修改ADFS的服务端口号,由默认的808修改为809: P ...

  3. Hadoop集群安装-CDH5(5台服务器集群)

    CDH5包下载:http://archive.cloudera.com/cdh5/ 架构设计: 主机规划: IP Host 部署模块 进程 192.168.254.151 Hadoop-NN-01 N ...

  4. nginx 的安装、优化、服务器集群

    一.安装 下载地址:http://nginx.org  找到 stable 稳定版 安装准备:nginx 依赖于pcre(正则)库,如果没有安装pcre先安装 yum install pcre pcr ...

  5. Dynamics CRM与ADFS安装到同一台服务器后ADFS服务与Dynamics CRM沙盒服务冲突提示808端口占用问题

    当我们安装Dynamics CRM的产品时如果是单台服务器部署而且部署了IFD的情况会遇到一个问题就是ADFS服务的监听端口和Dynamics CRM沙盒服务的端口冲突了. 这样会导致两个服务中的一个 ...

  6. CDH集群安装配置(三)- 集群时间同步(主节点)和 免密码登录

    集群时间同步(主节点) 1. 查看是否安装ntp服务,如果没有安装 rpm -qa |grep ntpd查看命令 yum install ntp安装命令 2. 修改配置 vi /etc/ntp.con ...

  7. CDH集群安装配置(一)-集群规划和NAT网络配置

    三台物理机或者虚拟机. cdh1,cdh2,cdh3. 内存要求大于8GB,cdh1的物理磁盘要求多余50G. 每台虚拟机安装centos 7 系统.

  8. 大数据之Linux服务器集群搭建

    之前写过一篇关于Linux服务器系统的安装与网关的配置,那么现在我们要进一步的搭建多台Linux服务器集群. 关于单台服务器的系统搭建配置就不在赘述了,详情见https://www.cnblogs.c ...

  9. Centos 下 Apache 原生 Hbase + Phoenix 集群安装(转载)

    前置条件 各软件版本:hadoop-2.7.7.hbase-2.1.5 .jdk1.8.0_211.zookeeper-3.4.10.apache-phoenix-5.0.0-HBase-2.0-bi ...

随机推荐

  1. 一、K3 Cloud 开发插件《K3 Cloud开发手册》

    1.K3 Cloud打开 提示错误:未能加载文件或程序集“XXXXXXXXX”或它的某一个依赖项 原因:未正常关机导致的Temporary ASP.NET Files文件夹下的文件损坏 解决:删除C: ...

  2. Ubuntu16.04安装Mono、MonoDevelop运行C#代码

    Ubuntu16.04安装MonoDevelop运行C#代码 在Ubuntu上安装Mono 运行下面代码授权注册repo源并更新软件列表: Add the Mono repository to you ...

  3. vue2.0笔记《一》列表渲染

    内容中包含 base64string 图片造成字符过多,拒绝显示

  4. [原]git的使用(二)---工作区和暂存区

    接着上篇 git的使用(一) http://www.cnblogs.com/horizonli/p/5323363.html 6.工作区和暂存区(中转站) 工作区(Working Directory) ...

  5. Dumb Bones UVA - 10529[多米诺重构]

    Dumb Bones UVA - 10529   来自绿书p176  题意 你试图把一些多米诺骨牌排成直线,然后推倒它们.但是如果你在放骨牌的时候不小心把刚放的骨牌碰倒了,它就会把相临的一串骨牌全都碰 ...

  6. thinkCMF----使用自定义函数

    thinkCMF使用自定义函数:app 下新建 common.php

  7. mysql语句性能分析

    1.开启慢查询 slow_query_log = 1 //开启 slow_query_log_file = mysql_slow_query.log //日志文件位置 long_query_time ...

  8. ELK之在windows安装filebeat收集日志

    登录官方网站下载filebeat的windows客户端 https://www.elastic.co/downloads/beats 下载压缩包,无需解压 修改配置文件filebeat.yml 其余设 ...

  9. 【转】C#线程篇

    C# 温故而知新: 线程篇(一) C# 温故而知新: 线程篇(二) C# 温故而知新:线程篇(三) C# 温故而知新: 线程篇(四)

  10. redis两种持久化方式的优缺点

    redis两种持久化的方式 RDB持久化可以在指定的时间间隔内生成数据集的时间点快照 AOF持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,AOF文件中全部以 ...