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

2023-10-27

一 机器
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的话,基本停不下来(自己测试结果)

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

 

http://zhli986-yahoo-cn.iteye.com/blog/1204199

 

===========================================================

并且已经安装成功Hadoop-0.20.2及以上版本。

安装包准备

需要安装包:

zookeeper-3.3.2.tar.gz(stable版本)

hbase-0.20.2.tar.gz(stable版本)

安装步骤

安装和配置ZooKeeper

HBase从0.20.0开始,需要首先安装ZooKeeper。从apache上下载zookeeper-3.2.1.tar.gz(Stable版本),解压到/home/hdfs/目录下。


(1)在namenode节点新建zookeeper目录,在该目录下新建myid文件。

(2)在zookeeper-3.2.1/conf目录下,拷贝zoo_sample.cfg为zoo.cfg。在zoo.cfg中将dataDir改为/home/hdfs/zookeeper,在文件末位添加所有的主机:

server.1=10.192.1.1:2888:3888

server.2=10.192.1.2:2888:3888

server.3=10.192.1.3:2888:3888

 

(3)用scp命令将namenode节点的的/home/hdfs/ zookeeper-3.2.1和/home/hdfs/ zookeeper拷贝到其余所有主机的/home/hdfs目录下。

(4)参照zoo.cfg中的配置,在各主机myid文件中写入各自的编号。如:10.192.1.1入1,10.192.1.2写入2

(5)在所有节点上执行bin/zkServer.sh start,分别启动。

执行bin/zkCli.sh -server xxx.xxx.xxx.xxx:2181,检查指定服务器是否成功启动。


vi /etc/profile
export HBASE_HOME=/hadoop/hbase
export PATH=$PATH:$HBASE_HOME/bin

export HADOOP_HOME=/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

 


安装和配置HBase

tar -zxvf hbase-0.20.6.tar.gz

cd hbase-0.20.6

mv * /hadoop/hbase

下载HBase0.20.1版本,解压到namenode节点的/home/hdfs目录下。

配置说明

(1)系统所有配置项的默认设置在hbase-default.xml中查看,如果需要修改配置项的值,在hbase-site.xml中添加配置项。

在分布式模式下安装HBase,需要添加的最基本的配置项如下:

<property>

<name>hbase.rootdir</name>

<value>hdfs://hadoop2-namenode:9000/hbase</value>

<description>The directory shared by region servers.</description>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

<description>The mode the cluster will be in. Possible values are

false: standalone and pseudo-distributed setups with managed Zookeeper

true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)

</description>

</property>
<property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/hadoop/zookeeper</value>
      <description>Property from ZooKeeper's config zoo.cfg.
      The directory where the snapshot is stored.
      </description>
    </property>
 <property>
      <name>hbase.zookeeper.property.clientPort</name>
      <value>2222</value>
      <description>Property from ZooKeeper's config zoo.cfg.
      The port at which the clients will connect.
      </description>
    </property>

<property>
      <name>hbase.zookeeper.quorum</name>
      <value>hadoop2-namenode,hadoop2-datanode1,hadoop2-datanode2</value>
      <description>Comma separated list of servers in the ZooKeeper Quorum.
      For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
      By default this is set to localhost for local and pseudo-distributed modes
      of operation. For a fully-distributed setup, this should be set to a full
      list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh
      this is the list of servers which we will start/stop ZooKeeper on.
      </description>
    </property>


 


(2)在conf/hbase-env.sh中修改添加配置项:
export JAVA_HOME=/usr/java/jdk1.6.0_22

 

 export HBASE_MANAGES_ZK=true


 
export HADOOP_CONF_DIR=/hadoop/hadoop-config


HADOOP_CLASSPATH 要設hbase 的環境,而HBASE_CLASSPATH要設hadoop的環境,有了這行可以解決編譯hbase 程式時出現run time error

并把~/hadoop-0.20.1/conf/hdfs-site.xml拷贝至~/hbase-3.2.1/conf/目录下。

(3)将ZooKeeper的配置文件zoo.cfg添加到HBase所有主机的CLASSPATH中。

(4)在conf/regionservers中添加hadoop-0.20.1/conf/slaves中所有的datanode节点。
hadoop2-datanode1
hadoop2-datanode2

启动

Hadoop、ZooKeeper和HBase之间应该按照顺序启动和关闭:启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停止ZooKeeper集

群—>停止Hadoop。

在namenode节点执行bin/hbase-daemon.sh,启动master。执行bin/start-hbase.sh和bin/stop-hbase.sh 脚本启动和停止HBase服务。

/hadoop/hbase/bin/hbase-daemon.sh start master
/hadoop/hbase/bin/hbase-daemon.sh stop master
/hadoop/hbase/bin/start-hbase.sh
/hadoop/hbase/bin/stop-hbase.sh


/hadoop/hbase/bin/hbase shell

 

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2012-01/52223.htm

 

=============================================================

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hadoop、hbase、zookeeper环境搭建(详细) 的相关文章

随机推荐

  • 软件测试/测试开发丨ChatGPT:带你进入智能对话的新时代

    简介 人工智能时代来临 我们正处于AI的iPhone时刻 黄仁勋 英伟达CEO ChatGPT 好得有点可怕了 我们距离危险的强人工智能不远了 马斯克 Tesla SpaceX Twitter CEO 以上的内容说明我们现在正处于一个技术大
  • 新疆计算机应用能力考试,新疆维吾尔自治区中等职业学校计算机应用能力等级考试sual Basic语言程序设计机试试卷(A卷)...

    内容简介 新疆维吾尔自治区中等职业学校计算机应用能力等级考试Visual Basic语言程序设计机试试卷 A卷 考试时间90分钟 满分100分 上机考试考生环境的建立 1 查看考试环境 考生在考试机上打开 我的电脑 可以看到已经映射好的T
  • Cisco Packet Tracer安装

    思科模拟器 Cisco Packet Tracer 安装步骤 一 下载思科 Cisco Packet Tracer 6 2 网络模拟器正式版软件包 下载完成后得到zip格式的压缩包 鼠标右键点击压缩包选择解压到当前文件夹 进入文件夹 双击C
  • Git安装步骤嗷,详细到每一步

    下载Git安装包 Git 下载 安装总结 一路默认 文件路径可以换 但必须是全英文路径 要是担心有问题 可以参考以下步骤 第一步 双击打开安装包后 会看见如下界面 第二步 这里 可以修改路径 但是一定要是一个全英文路径 且为空文件夹 第三步
  • 线性模型出现非正定矩阵的问题解释

    常常在Mplus中求解线性结构方程的时候出现 如下警告 WARNING THE LATENT VARIABLE COVARIANCE MATRIX PSI IS NOT POSITIVE 1 背景 大约不少人找了很多书籍 要么一笔带过 要么
  • 数据挖掘算法【java】(包括Apriori、FPTree、ID3、贝叶斯算法、k-means算法、AGNES )

    文章目录 Apriori FPTree算法 ID3算法 贝叶斯算法 k means算法 AGNES 凝聚的层次聚类算法 Apriori 说明 main方法中的变量data表示数据 每个数据之间使用逗号分隔 每行数据结尾使用 n表换行 以下两
  • 流量显示服务器异常,怀疑服务器存在异常流量排查日记,使用ifconfig,nethogs等命令...

    怀疑服务器存在异常流量排查日记 一 用ifconfig查看网卡流量 root AP ifconfig eth4 Link encap Ethernet HWaddr 00 50 56 0A A6 E9 inet addr 192 168 1
  • 再探默认构造函数

    今天使用派生类时又发现了一个问题 基类和派生类的代码如下 class Base public Base int a class Derived public Base public Derived 结果在编译时Derived类报错 erro
  • 5G,上天了!卫星和基站擦出了火花?

    大家好 我是无线深海 我们好久不见 本期我们来聊聊卫星通信 以及卫星通信和地面通信的融合 非地面网络的故事 对于5G来说 这可能只是后半场的锦上添花 但对仍处于畅想中的6G来说 空天地海一体化通信则是待征服的星辰大海 那么 这就开始咯 为什
  • Wireshark

    Wireshark是一个网络协议分析器 早期称为Ethereal 它能够捕获网络数据包并对数据包进行详细的解析 Wireshark可用于捕获和分析几乎所有类型的网络流量 包括以太网 无线网络 蓝牙 USB等等 除了对网络数据包的捕获和解析
  • Java的main方法

    文章目录 引言 一 写法 二 解释 三 运行 参考 引言 写Java代码时 最常用到main方法的场景是运行类中的某一个方法 进行测试 本文简单介绍一下Java的main方法 一 写法 固定写法如下 public static void m
  • wsl之linux QT 安装

    目标 QT 程序能在WSL linux 下面正常使用 上文已经写过如何在win10 下面安装 今天继续 把这阶段工作做完 命令行安装QTCREATOR 注意 要先update 否则build essential装不了 sudo apt ge
  • 运放笔记---“唐老师讲电赛”(一) 运放供电、去耦与PCB设计

    运放供电 去耦与PCB设计 运放参数 1 供电电压Vs 1 所有的运放都可以用单电源供电 没有例外 所有的运放又都可以用双电源供电 没有例外 有些运放供电电压可能高达 600V 而有些运放的供电电压可能最高只能是 3V 使用运放前一定要仔细
  • 数据结构之单向链表类(C++实现)

    Definition h 链表节点定义 typedef struct ListNode ListNode next int data ListNode List h include
  • 当遭遇TCP洪水(SYN Flood)后的的诊断思路和处理过程

    转载来源 当遭遇TCP洪水 SYN Flood 后的的诊断思路和处理过程 http www safebase cn article 258753 1 html 摘要 SYN Flood介绍前段时间网站被攻 击多次 其中最猛烈的就是TCP洪水
  • 计算机组成原理之运算器篇章之---比恢复余数法更好的加减交替法!详解+例子

    加减交替法 又称为不恢复余数法 是恢复余数法的一种算法的提升 步骤示例 例题 已知x 0 1011 y 0 1101 求 x y 原 y 补 0 1101 y 补 1 0011 例题 已知x 0 1011 y 0 1101 求 x y 原
  • 低算力大模型是什么

    低算力大模型是指可以在计算资源较为有限的设备上进行训练和推理的深度学习模型 其设计和优化的重点在于减小模型的参数量和计算复杂度 同时保持较高的精度和泛化能力 常见的低算力大模型包括MobileNet ShuffleNet Efficient
  • Vs注释和取消快捷键(部分或者全部选中)

    Vs注释和取消快捷键 部分或者全部选中 Vs注释 先Ctrl K 然后Ctrl C Vs取消注释 先Ctrl K 然后Ctrl U 注意 注释或者取消注释都可以多行或者一行 整体或者局部都行 哈哈一个很实用的小技巧 小伙伴们要记住了哟
  • C#应用程序的多语言方案 - 开源研究系列文章

    今天讲讲笔者自创的C 应用程序多语言的方案 这个多语言方案 主要是对应用的窗体及其控件进行检索 然后根据控件的名称进行在语言字典里进行检索获取到对应的语言文本进行赋值显示的 笔者对网上的多语言方案进行过搜索和查阅 觉得不太满意 主要是代码比
  • hadoop、hbase、zookeeper环境搭建(详细)

    一 机器 192 168 0 203 hd203 hadoop namenode hbase HMaster 192 168 0 204 hd204 hadoop datanode hbase HRegionServer zookeeper