`
勒布朗
  • 浏览: 71219 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

hadoop、hbase、zookeeper环境搭建(详细)

阅读更多

一 机器
192.168.0.203 hd203: hadoop namenode & hbase HMaster
192.168.0.204 hd204: hadoop datanode & hbase HRegionServer & zookeeper
192.168.0.205 hd205: hadoop datanode & hbase HRegionServer & zookeeper
192.168.0.206 hd206: hadoop datanode & hbase HRegionServer & zookeeper
192.168.0.202 hd202: hadoop second namenode & hbase HMaster
共 5 台机器 (生产环境需要把zookeeper单独安装)

二 操作系统和软件版本
1 操作系统:CentOS release 5.6 (Final)x64,关闭防火墙
2 相关软件:
jdk-6u24-linux-x64.bin
hadoop-0.20.2-cdh3u0.tar.gz
hbase-0.90.1-cdh3u0.tar.gz
zookeeper-3.3.3-cdh3u0.tar.gz

三 安装

1 安装jdk (所有机器)
mkdir /usr/java
mv jdk-6u24-linux-x64.bin /usr/java
chmod 744 jdk-6u24-linux-x64.bin
./jdk-6u24-linux-x64.bin
ln -s jdk1.6.0_24 default

2 建立集群平台用户 (所有机器)
useradd cbcloud
passwd cbcloud 密码设为123456


3 编辑/etc/hosts (所有机器)
192.168.0.203 hd203
192.168.0.204 hd204
192.168.0.205 hd205
192.168.0.206 hd206
192.168.0.202 hd202

4 hd203登录集群所有机器免密码设置 (hd203)
su - cbcloud
ssh登录本机也要免密码 如下设置

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

将hd203上的id_dsa.pub 文件追加到所有机器的cbcloud用户的authorized_keys文件内
细节不在详述
ssh 所有机器 第一次需要确认一下

5 安装hadoop
5.1 建立目录 (所有机器)
mkdir /home/cbcloud/hdtmp
mkdir /home/cbcloud/hddata
mkdir /home/cbcloud/hdconf
chown -R cbcloud:cbcloud 以上目录
tar zxvf hadoop-0.20.2-cdh3u0.tar.gz -C /home/cbcloud
cd /home/cbcloud
mv hadoop-0.20.2-cdh3u0 hadoop
chown -R cbcloud:cbcloud hadoop/


5.2 配置环境变量 vi /etc/profile (所有机器)
export JAVA_HOME=/usr/java/default
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export HADOOP_HOME=/home/cbcloud/hadoop
export HADOOP_CONF_DIR=/home/cbcloud/hdconf
export PATH=$PATH:$HADOOP_HOME/bin

把hadoop的配置文件目录从源目录拿出来,方便以后升级hadoop
mv hadoop的conf目录内文件到/home/cbcloud/hdconf内

5.3 编辑 hadoop 配置文件 core-site.xml
加入
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hd203:9000</value>
</property>
<property>
  <name>fs.checkpoint.dir</name>
  <value>/home/cbcloud/hdtmp/dfs/namesecondary</value>
  <description>Determines where on the local filesystem the DFS secondary
      name node should store the temporary images to merge.
      If this is a comma-delimited list of directories then the image is
      replicated in all of the directories for redundancy.
  </description>
</property>
<property>
  <name>fs.checkpoint.period</name>
  <value>60</value>
  <description>Determines where on the local filesystem the DFS secondary
      name node should store the temporary images to merge.
      If this is a comma-delimited list of directories then the image is
      replicated in all of the directories for redundancy.
  </description>
</property>

5.4 编辑hdfs-site.xml
加入
<property>
       <name>dfs.replication</name>
       <value>3</value>
    </property>

<property>
       <name>dfs.data.dir</name>
       <value>/home/cbcloud/hddata</value>
    </property>

    <property>
       <name>hadoop.tmp.dir</name>
       <value>/home/cbcloud/hdtmp/</value>
    </property>

<property>
    <name>dfs.balance.bandwidthPerSec</name>
    <value>10485760</value>
</property>
<property>
    <name>dfs.hosts.exclude</name>
    <value>/home/cbcloud/hdconf/excludes</value>
    <final>true</final>
</property>

5.5 编辑mapred-site.xml
加入
<property>
        <name>mapred.job.tracker</name>
        <value>hd203:9001</value>
    </property>

5.6 编辑 hadoop-env.sh
export JAVA_HOME=/usr/java/default

5.7  编辑masters 该文件指定 secondary name 机器,
加入
hd202
编辑 slaves
加入
hd204
hd205
hd206

5.8 拷贝hd203的hadoop和hdconf到所有机器
# scp -r /home/cbcloud/hadoop cbcloud@hd204:/home/cbcloud
# scp -r /home/cbcloud/hdconf cbcloud@hd204:/home/cbcloud

完成后,在hd203 格式化hadoop文件系统
执行
 hadoop namenode -format
启动
 start-all.sh
查看集群内datanode的机器
执行jps
5764 Jps
18142 DataNode
18290 TaskTracker
看到以上结果 说明启动正确
web方式
http://hd203:50070/dfshealth.jsp
注意 本地PC hosts文件也要配置
192.168.0.203 hd203
192.168.0.204 hd204
192.168.0.205 hd205
192.168.0.206 hd206
192.168.0.202 hd202
web方式可以查看集群状态和job状态等,至此hadoop安装完毕

6 安装zookeeper (hd203)
tar zxvf zookeeper-3.3.3-cdh3u0.tar.gz -C /home/cbcloud
在hd204-hd206上
mkdir /home/cbcloud/zookeeperdata

chown -R cbcloud:cbcloud /home/cbcloud/zookeeperdata
chown -R cbcloud:cbcloud /home/cbcloud/zookeeper-3.3.3-cdh3u0

编辑 /home/cbcloud/zookeeper-3.3.3-cdh3u0/conf/zoo.cfg

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/cbcloud/zookeeperdata
# the port at which the clients will connect
clientPort=2181
server.1=hd204:2888:3888
server.2=hd205:2888:3888
server.3=hd206:2888:3888

scp hd203的zookeeper到hd204,hd205,hd206
# scp -r /home/cbcloud/zookeeper-3.3.3-cdh3u0/ cbcloud@hd205:/home/cbcloud/
在hd204-206 的/home/cbcloud/zookeeperdata目录touch myid文件,
内容分别为1,2,3 和server编号一致 chown   cbcloud:cbcloud myid

启动zookeeper,在hd204-206上bin目录下 执行
# zkServer.sh start
启动后 通过
# zkServer.sh status
查看状态 注意 在centos5.6上 执行这个会报错
Error contacting service. It is probably not running.
通过查看脚本 是因为
echo stat | nc -q 1 localhost
nc版本不同,没有-q的参数,更改脚本去掉-q 1 即可
另外 可以通过
echo stat | nc   localhost 2181来查看状态

7 安装hbase
7.1 建立目录 (所有机器)
mkdir /home/cbcloud/hbconf
chown -R cbcloud:cbcloud /home/cbcloud/hbconf
tar zxvf hbase-0.90.1-cdh3u0.tar.gz -C /home/cbcloud
cd /home/cbcloud
mv hbase-0.90.1-cdh3u0  hbase
chown -R cbcloud:cbcloud hbase/

7.2 配置环境变量
vi /etc/profile (所有机器) 追加如下内容
export HBASE_CONF_DIR=/home/cbcloud/hbconf
export HBASE_HOME=/home/hadoop/hbase

把hbase的配置文件目录从源目录拿出来,方便以后升级hbase
mv hbase的conf目录内文件到/home/cbcloud/hbconf内

7.3 编辑 hbase-env.sh
export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
export JAVA_HOME=/usr/java/default
export HBASE_MANAGES_ZK=false
export HBASE_HOME=/home/cbcloud/hbase
export HADOOP_HOME=/home/cbcloud/hadoop

7.4 编辑hbase-site.xml
加入
<property>
 <name>hbase.rootdir</name>
 <value>hdfs://hd203:9000/hbase</value>
</property>
<property>
 <name>hbase.cluster.distributed</name>
 <value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>hd203:60000</value>
</property>
 <property>
 <name>hbase.master.port</name>
 <value>60000</value>
 <description>The port master should bind to.</description>
 </property>
 
 <property>
   <name>hbase.zookeeper.quorum</name>
   <value>hd204,hd205,hd206</value>
 </property>

7.5 编辑regionservers
加入
hd204
hd205
hd206

scp hd203 的hbase到hd204-206,202
# scp -r /home/cbcloud/hbase/ cbcloud@hd204:/home/cbcloud
# scp -r /home/cbcloud/hbconf/ cbcloud@hd204:/home/cbcloud

su - cbcloud
启动hbase
在hd203上hbase的bin目录执行
$ ./start-hbase.sh
启动hbase的第二个HMaster
在202上执行
$ ./hbase-daemon.sh start master

查看Master:http://hd203:60010/master.jsp

此时查看datanode 服务器 jps
5764 Jps
32091 HRegionServer
18142 DataNode
11221 QuorumPeerMain
18290 TaskTracker
以上结果说明启动正常

至此 hadoop+zookeeper+hbase安装完成
启动顺序
1.hadoop
2.zookeeper
3.hbase
4.第二个HMaster

停止顺序
1.第二个HMaster, kill-9删除
2.hbase
3.zookeeper
4.hadoop
注意 一定要按顺序停止,
如果先停zookeeper再停hbase的话,基本停不下来(自己测试结果)

接下来的文章 将对集群的使用进行发布

分享到:
评论
1 楼 jxlhljh 2014-12-18  
新手有2个问题
1、Hbase的节点个数一定要和Hadoop一样?比如你这里是5个hadoop节点,一定要配成5个Hbase吗,只配三台机器行不行

2、zookeeper只在HRegionServer上的机器上配器吗,你这里2个HMaster机器都没配置zookeeper,假如主HMaster挂了,备份的HMaster自动切换吗

相关推荐

    HadoopHbaseZookeeper集群配置

    【Hadoop Hbase Zookeeper集群配置】涉及到在Linux环境下搭建分布式计算和数据存储系统的流程,主要涵盖以下几个关键知识点: 1. **集群环境设置**:一个基本的Hadoop Hbase Zookeeper集群至少需要3个节点,包括1个...

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群...通过规划服务器环境、选择合适的版本组合、安装和配置Zookeeper、Hadoop和HBase三个组件,可以搭建一个高效的Hadoop HA高可用集群。

    hadoop+hbase+zookeeper集群配置流程及文件

    在大数据处理领域,Hadoop、HBase和Zookeeper是三个至关重要的组件,它们共同构建了一个高效、可扩展的数据处理和存储环境。以下是关于这些技术及其集群配置的详细知识。 首先,Hadoop是一个开源的分布式计算框架,...

    hadoop,hbase,zookeeper安装笔记

    hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记

    hadoop+zookeeper+hbase集群搭建配置说明

    在大数据处理领域,Hadoop、Zookeeper和HBase是三个非常关键的组件,它们共同构建了一个高效、可扩展的数据仓库集群。以下是对这三个组件及其在集群搭建中的配置说明的详细阐述。 1. Hadoop:Hadoop是Apache软件...

    Hadoop+Zookeeper+Hbase+Hive部署.doc

    大数据平台搭建之 ...大数据平台搭建需要经过多个步骤,包括环境准备、Hadoop 安装和配置、Zookeeper 部署、Hbase 部署和 Hive 部署。通过本文档,我们可以了解大数据平台搭建的整个过程,并掌握相关的技术和经验。

    Hadoop Hbase Zookeeper系列安装手册

    环境介绍:3台虚拟机安装centos6.5 64位、jdk1.7 64位、hadoop2.5.2 64位

    hadoop+hbase集群搭建 详细手册

    本文将详细介绍如何搭建Hadoop+HBase集群,包括前提准备、机器集群结构分布、硬件环境、软件准备、操作步骤等。 一、前提准备 在搭建Hadoop+HBase集群之前,需要准备以下几个组件: 1. Hadoop:Hadoop是一个基于...

    Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建

    Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建 Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建是大数据处理和存储的重要组件,本文档将指导用户从零开始搭建一个完整的Hadoop2.2+Zookeeper3.4.5+HBase0.96集群...

    Hadoop、HBase、Zookeeper安装部署

    在大数据处理领域,Hadoop、HBase和Zookeeper是三个至关重要的组件,它们共同构建了高效、可扩展的数据存储和管理基础设施。以下是关于这三个技术的详细介绍以及安装部署的关键步骤。 **Hadoop** 是一个开源的...

    zookeeper+hadoop+hbase.rar

    【标题】"zookeeper+hadoop+hbase.rar" 提供了一个集成的大数据处理环境,其中包含了三个关键组件:Zookeeper、Hadoop和HBase。这些组件在大数据生态系统中扮演着重要角色,尤其对于分布式存储和计算。 【Zookeeper...

    Hadoop+ZooKeeper+HBase+hive(HQL)安装步骤

    Hadoop+ZooKeeper+HBase+hive(HQL)安装步骤

    Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6 搭建分布式集群环境详解

    本教程将深入探讨如何利用Hadoop2.7.3、HBase1.2.5和ZooKeeper3.4.6搭建一个完整的分布式集群环境,以支持大规模数据存储和处理。 首先,我们来了解下这三个组件的基本概念: 1. **Hadoop**:Apache Hadoop是一个...

    hadoop+hbase+zookeeper搭建

    本文档是hbase集群的搭建文档,包含了搭建中遇到的问题。

    Hadoop集群+Zookeeper+HBase环境搭建

    搭建Hadoop集群、Zookeeper集群和HBase环境是一个复杂的过程,需要在每一步都确保配置无误。从规划机器、安装配置Java环境,到安装和配置Hadoop、Zookeeper、HBase,每一步都需要遵循严格的指导原则和最佳实践。搭建...

    Hadoop Zookeeper HBase集群

    标题 "Hadoop Zookeeper HBase集群" 涉及到的是大数据处理领域中的三个关键组件:Hadoop、Zookeeper和HBase。这三个组件在构建分布式系统中起着至关重要的作用。 首先,Hadoop是Apache软件基金会开发的一个开源框架...

    徐老师大数据培训Hadoop+HBase+ZooKeeper+Spark+Kafka+Scala+Ambari

    根据提供的标题、描述、标签及部分内容链接,我们可以推断出这是一个关于大数据技术栈的培训课程,涉及的技术包括Hadoop、HBase、Zookeeper、Spark、Kafka、Scala以及Ambari。下面将针对这些技术进行详细的介绍和...

    Hadoop+Zookeeper+Hbase集群搭建

    通过上述步骤,可以成功地搭建起一个基于 Hadoop + Zookeeper + HBase 的集群环境。在进行集群搭建时,特别需要注意的是版本之间的兼容性问题,以及系统的配置细节。正确的版本选择与合理的系统配置是集群高效稳定...

Global site tag (gtag.js) - Google Analytics