史上最完整Hadoop2.x完全分布式安装部署-小白也能学会

一、环境要求:

1、        虚拟机安装并设置网络;

2、        修改主机地址映射;

3、        必备软件:Jdk、Development Tools   Development Libraries gcc c++等已安装;

4、        修改windows主机C:\Windows\System32\drivers\etc\hosts

在hosts文件中添加虚拟机中的主机地址映射如下:

Ip地址             Linux主机名

5、         配置四台主机免密登录,两台namenode互相免密,namenode节点均免密登录至其他节点。

二、节点规划


 


NN


DN


ZK


ZKFC


JN


RM


NM


V1


Y


 


Y


Y


 


Y


 


V2


Y


Y


Y


Y


Y

 
Y


V3


 


Y


Y


 


Y


 


Y


V4


 


Y


 


 


Y


 


Y

三、配置步骤:

  1、每台Linux主机都要修改/etc/profile,添加Hadoop环境变量

  export HADOOP_HOME=/usr/software/hadoop-2.7.1

  export PATH=$PATH:$HADOOP_HOME/bin

修改之后,source /etc/profile          使系统变量生效

  2、配置HADOOP守护进程,这部分主要处理给出的配置文件中设置一些重要参数,配置好后,将文件拷贝至其他需要安装hadoop的主机。

  l  etc/hadoop/core-site.xml

  <configuration>

    <property>

     <name>fs.defaultFS</name>

      <value>hdfs://V1:9000</value>

    </property>

    <property>

    <name>ha.zookeeper.quorum</name>

       <value>V1:2181,V2:2181,V3:2181</value>

    </property>

    <property>

    <name>hadoop.tmp.dir</name>

    <value>/opt/hadoop_data/tmp</value>

  (注释:要手动创建目录)

   </property>

     <property>

      <name>io.file.buffer.size</name>

    <value>131702</value>

   </property>

  </configuration>

  解释:

Fs.default,使用逻辑路径,避免双namenode切换带来路径不一致问题

Hadoop.tmp.dir,hadoop文件系统依赖的基础配置,许多路径均依赖它,若hdfs.site.xml中未配置namenode和datanode的存放位置,默认就存放在此配置路径。

ha.zookeeper.quorum,指定zookeeper服务所在主机及端口号

io.file.buffer.size,在序列化文件中使用的读/写缓冲区大小

  l  etc/hadoop/hdfs-site.xml

  <configuration>

  <property>

   <name>dfs.replication</name>

    <value>2</value>

  </property>

   <property>

     <name>dfs.namenode.name.dir</name>

   <value>/opt/hadoop_data/namenode</value>

  (注释:要手动创建目录)

  </property>

   <property>

    <name>dfs.datanode.data.dir</name>

  <value>/opt/hadoop_data/datanode</value>

  (注释:要手动创建目录)

  </property>

  <property>

   <name>dfs.nameservices</name>

   <value>dy</value>

  </property>

    <property>

   <name>dfs.ha.namenodes.dy</name>

    <value>V1,V2</value>

    </property>

   <property>

     <name>dfs.namenode.rpc-address.dy.V1</name>

    <value>V1:9000</value>

    </property>

  <property>

   <name>dfs.namenode.rpc-address.dy.V2</name>

    <value>V2:9000</value>

   </property>

  <property>

  <name>dfs.namenode.http-address.dy.V1</name>

   <value>V1:50070</value>

    </property>

  <property>

    <name>dfs.namenode.http-address.dy.V2</name>

    <value>V2:50070</value>

  </property>

   <property>

    <name>dfs.namenode.shared.edits.dir</name>

    <value>qjournal://V2:8485;V3:8485;V4:8485/dy</value>

  </property>

    <property>

     <name>dfs.client.failover.proxy.provider.dy</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_rsa</value>

   </property>

  <property>

   <name>dfs.journalnode.edits.dir</name>

    <value>/opt/hadoop_data/journal</value>

  </property>

  </configuration>

  解释:

dfs.replication是HDFS文件的副本数,不可超过datanode的个数

dfs.namenode.name.dor     namenode本地文件系统存放名字空间和传输日志的路径

dfs.datanode.data.dir          datanode的数据存放位置

dfs.nameservices         命名空间的逻辑名称,

dfs.ha.namenodes           命名空间中所有namenode的唯一标识名称,可以配置多个,使用逗号分割。该名称让datanode知道每个集群的所有namenode。

dfs.namenode.rpc-address.[nameservice ID].[namenode ID]        每个namenode监听的RPC地址

  dfs.namenode.http-address. [nameservice ID].[namenode ID]           每个namenode监听的http地址

  dfs.namenode.shared.edits.dir         是namenode读写journal node组的URI,通过这个URI,namenode可以读写edit log内容。URI的格式"qjournal://host1:port1;host2:port2;host3:port3/journalId”.

  dfs.client.failover.proxy.provider.[nameservice ID]             这里配置HDFS客户端连接到Active namenode的一个java类.

  dfs.ha.fencing.methods           配置active namenode出错时的处理类.当active namenode出错时,一般需要关闭该进程.处理方式可以是ssh也可以是shell.推荐使用ssh! 
  fs.journalnode.edits.dir           这是journalnode进程保持逻辑状态的路径.这是在linux服务器文件的绝对路径.

  l  etc/hadoop/yarn-site.xml

<configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>V1</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

解释:

yarn.resourcemanager.hostname        指的是运行ResourceManager机器所在的节点. 
yarn.nodemanager.aux-services   在hadoop2.2.0版本中mapreduce_shuffle,一定要看清楚.

etc/hadoop/mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

解释:

mapreduce.framework.name 指的是使用yarn运行mapreduce程序.

etc/hadoop/slaves

V2

V3

V4

解释:

指定hdfs中的datanode节点

etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_71

解释:

hadoop集群格式化以及启动时会到次目录下寻找环境变量,必须配置。

将相关配置文件拷贝至其他主机。

3、配置zookeeper,

解压zookeeper-3.4.6.tar.gz;

拷贝一份配置文件 cp zoo_sample.cfg

(1)在所有zookeeper节点中的zoo.cfg文件作如下配置:

l  zoo.cfg

修改dataDir=/opt/zookeeper(注释:要手动创建目录)

server.1=V1:2888:3888

server.2=V2:2888:3888

server.3=V3:2888:3888

在所有zookeeper节点的dataDir(此处为/opt/zookeeper)目录中创建一个myid的文件,文件内容分别为1,2,3

(2)配置/etc/profile,

export ZOOKEEPER_HOME=/usr/software/zookeeper-3.4.6

export PATH=$PATH:$ZOOKEEPER_HOME/bin

将以上配置拷贝至其他zookeeper主机

4、集群初始化操作

(1)启动三个zookeeper:./zkServer.sh start

(2)启动JournalNode集群:./hadoop-daemon.sh start journalnode

(3)在其中一个namenode上格式化:./hdfs namenode -format

(4)把刚刚格式化之后的元数据同步到另外一个namenode上

a)启动刚刚格式化的namenode---- hadoop-daemon.sh start namenode;

b)在没有格式化的namenode上执行:hdfs namenode –bootstrapStandby;

c)启动第二个namenode;

(5)在其中一个namenode上初始化zkfc:hdfs zkfc –formatZK

解释:

格式化ZooKeeper集群,目的是在ZooKeeper集群上建立HA的相应节点

(6)停止上面节点:stop-dfs.sh

(7)全面启动:start-all.sh

注:zookeeper相关进程仍然需要手动开启

时间: 2024-10-12 13:17:14

史上最完整Hadoop2.x完全分布式安装部署-小白也能学会的相关文章

史上最牛hadoop2.2伪分布式hdfs数据迁移

1.需求: 由于hadoop的数据文件所在磁盘出现99%占用,导致hdfs无法上传文件 异常:org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/root/input could only be replicated to 0 nodes, instead of 1 [[email protected] hadoop]# df -h Filesystem            Size  Used Avai

Hadoop2.4.1分布式安装

1.做好下文中的所有配置:Hadoop1.2.1分布式安装-1-准备篇. 2.Hadoop2.x的发行版中有个小问题:libhadoop.so.1.0.0在64位OS中存在问题,因为它是32位的,在64位OS中hadoop启动时会报一个WARN的日志.这个包的作用是调用native的api,可以提高hadoop的性能,如果这个包失效,那就是使用jvm做压缩等工作,效率就会很低.处理方法就是重新编译Hadoop,见xxx(link  article). 3.在打算做namenode的机器上,wge

hadoop2.6完全分布式安装HBase1.1

本文出自:http://wuyudong.com/archives/119 对于全分布式的HBase安装,需要通过hbase-site.xml文档来配置本机的HBase特性,由于各个HBase之间通过zookeeper来进行通信,因此需要维护一组zookeeper系统,关于zookeeper的安装使用,参考<hadoop2.6完全分布式安装zookeeper3.4.6> 关于HBase的介绍,可以看这里<HBase简介> 1.安装Hbase(1)下载hbase版本 下载地址:htt

一、Hadoop 2.x 分布式安装部署

一.Hadoop 2.x 分布式安装部署 1.分布式部署hadoop 2.x 1.1克隆虚拟机并完成相关配置 1.1.1克隆虚拟机 点击原有虚拟机–>管理–>克隆–>下一步–>创建完成克隆–>写入名称hadoop-senior02–>选择目录 1.1.2配置修改 1)启动克隆虚拟机(内存配置:01:2G;02:1.5G;03:1.5G) 2)修改主机名:改两处 3)修改网卡名称 编辑 /etc/udev/rules.d/70-persistent-net.rules -

Hbase-0.96.2完全分布式安装部署

Hbase-0.96.2完全分布式安装部署 环境: Hadoop-2.2.0 Zookeeper-3.4.6 hbase-0.96.2 1.下载hbase-0.96.2-hadoop2-bin.tar.gz 下载地址:http://apache.dataguru.cn/hbase/hbase-0.96.2/ 2.解压:$tar –zxvf hbase-0.96.2-hadoop2-bin.tar.gz 3.同步集群时间 切换root用户:$su root; 查看时间:$date 同步时间: $n

Hadoop-2.4.0分布式安装手冊

文件夹 文件夹 1 1. 前言 2 2. 部署 2 2.1. 机器列表 2 2.2. 主机名 2 2.2.1. 暂时改动主机名 3 2.2.2. 永久改动主机名 3 2.3. 免password登录范围 4 3. 约定 4 3.1. 安装文件夹约定 4 3.2. 服务port约定 5 4. 工作详单 6 5. JDK安装 6 5.1. 下载安装包 6 5.2. 安装步骤 6 6. 免passwordssh2登录 7 7. Hadoop安装和配置 8 7.1. 下载安装包 8 7.2. 安装和环境

Hadoop2.4.0-Hbase-098.9-完全分布式安装部署

1准备环境 1.1所需软件包 a.CentOS-6.5-i386-LiveDVD.iso 32位centos系统 b.jdk-7u71-linux-i586.rpm 32位jdk-Linux rpm文件 c.hadoop-2.2.0.tar.gz  hadoop安装包 d.zookeeper-3.4.6.tar.gz  zookeeper安装包 1.2运行环境 a.VMware9.0及以上版本虚拟机工具 b.创建三个虚拟机节点 c.网卡模式设置为桥接模式 1.3节点信息 Hadoop1 192.

hadoop入门(3)&mdash;&mdash;hadoop2.0理论基础:安装部署方法

一.hadoop2.0安装部署流程         1.自动安装部署:Ambari.Minos(小米).Cloudera Manager(收费)         2.使用RPM包安装部署:Apache hadoop不支持.HDP与CDH提供         3.使用jar包安装部署:各版本均提供.(初期为了理解hadoop,建议使用这种方式)         部署流程:                 准备硬件(Linux操作系统)                 准备软件安装包,并安装基础软件

Hbase分布式安装部署过程

系统 Red hat linux 6.4 Hadoop版本 1.2.1 Hbase版本 0.94.16 Hbase的完全分布式安装概述: 1. 配置hosts,确保涉及的主机名均可解析为ip 2. 编辑hbase-env.xml 3. 编辑hbase-site.xml 4. 编辑regionservers文件,文件默认内容是localhost /home/grid/hbase/conf/regionservers,将所有的slavenode添加到这个文件 5. Hbase复制到其他节点 6. 启