前段时间安装配置了hadoop集群,这两天想装个hbase然后用些数据学习学习。网上教程有点多也有点乱,摸索了很久,所以还是记录一下自己的配置经验。过程中看了些博客感觉还是不错的,分享一下:
安装配置教程:
http://www.linuxidc.com/Linux/2012-12/76947.htm
http://blog.csdn.net/lskyne/article/details/8900608
淘宝应用介绍(科普一下):
http://www.iteye.com/magazines/83
一. zookeeper安装配置详细步骤
- 已经配置好的hadoop集群:master节点包括一个namenode和一个datanode(slave文件中设置datanode);mit02节点就是一个datanode。
- 首先在master节点:下载解压zookeeper安装包到/usr/local/hadoop/
- 进入conf/文件夹下,拷贝zoo_sample.cfg为zoo.cfg
- 修改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.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/hadoop/zk
#注意新建一个zk文件夹,并在里面新建一个myid文件内容为1或2(和下面server主机相对应)
dataLogDir=/usr/local/hadoop/zk
# the port at which the clients will connect
clientPort=2181
server.1=master:2888:3888
server.2=mit02:2888:3888
5.scp 将zookeep文件夹复制到其它节点(记得修改myid内容)
二. hbase安装配置详细步骤
- 还是先在master节点下载hbase安装包,注意与hadoop的版本匹配
- 进入conf/文件夹下,打开hbase-site.xml文件并修改如下
<configuration>
<property>
<name>hbase.rootdirname>
<value>hdfs://master:9000/hbasevalue>
property>
<property>
<name>hbase.cluster.distributedname>
<value>truevalue>
property>
<property>
<name>hbase.mastername>
<value>master:60000value>
property>
<property>
<name>dfs.support.appendname>
<value>truevalue>
property>
<property>
<name>hbase.zookeeper.quorumname>
<value>master,mit02value>
property>
<property>
<name>hbase.zookeeper.property.dataDirname>
<value>/usr/local/hadoop/zkvalue>
property>
<property>
<name>hbase.zookeeper.property.clientPortname>
<value>2181value>
property>
<property>
<name>hbase.master.info.portname>
<value>60010value>
property>
configuration>
3.修改hbase-env.sh,增加以下内容:
export JAVA_HOME=/opt/software/java/jdk1.8.0_65
export HADOOP_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hadoop/hbase
其实这个pids我一开始不知道什么用处,后来启动hbase的时候我发现只要启动正常就会生成pids文件,当hbase出问题关闭的时候这个文件就自动删除了,所以通过这个可以直观的判断运行情况。所以可以把这个路径设置到自己比较方便看到的地方。
export HBASE_PID_DIR=/usr/local/hadoop/pids
另外一个比较关键的:这个默认值是true,就是用hbase自带的zookeeper,我一开始想偷懒就直接这么设置,不装zookeeper,但是发现启动不正常,或者关闭hbase的时候就报错,不知道什么原因,网上有说是只能在单机和伪分布式下可以。我想还是自己配个zookeeper集群吧,反正多学习学习。所以这里设置成false。
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false
4.在regionservers中添加内容如下(添加节点):
master
mit02
5.将配置好的hbase文件夹scp到其它节点对应目录下
三、启动/关闭 hbase
1.设置环境变量,/etc/profile增加如下内容:
export ZOOKEEPER_HOME=/usr/local/hadoop/zookeeper
export HBASE_HOME=/usr/local/hadoop/hbase
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$SQOOP_HOME/bin:$PATH
2.在master节点启动hadoop: start-all.sh
3.各个节点都启动zookeep: zkServer.sh start
4.启动hbase: start-hbase.sh
5.jps查看当前进程情况:
6512 ResourceManager
5984 NameNode
6144 DataNode
15570 HRegionServer
6647 NodeManager
15256 QuorumPeerMain
6349 SecondaryNameNode
16605 Jps
15406 Hmaster
6.网页端查看:http://master:60010/master-status
7.关闭hbase: stop-hbase.sh
关闭zookeeper:zkServer.sh stop
关闭hadoop: stop-all.sh