mysileng
posts - 200, comments - 8, trackbacks - 0, articles - 0
导航
C++博客
首页
新随笔
联系
聚合
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
C(4)
c++(9)
Hadoop(12)
HBASE(2)
hibernate(1)
Java(4)
JULY_程序员编程艺术(17)
LIBEVENT(13)
linux编程(28)
linux多线程专题(8)
linux基础(15)
linux进程通信专题(9)
linux内核(13)
Myeclipse(3)
redis(6)
STL(5)
本人分析研究(3)
分布式(3)
海量数据处理(10)
前台(1)
设计模式(2)
数据结构与算法(14)
数据挖掘(1)
学习方法与路线(2)
杨强linux视频笔记系列(13)
随笔档案
2015年1月 (1)
2014年9月 (5)
2014年8月 (2)
2014年7月 (1)
2014年4月 (2)
2013年10月 (1)
2013年9月 (1)
2013年6月 (10)
2013年5月 (15)
2013年4月 (13)
2013年3月 (5)
2013年2月 (12)
2013年1月 (23)
2012年12月 (49)
2012年11月 (28)
2012年10月 (10)
2012年9月 (8)
2012年8月 (4)
2012年7月 (2)
2012年1月 (2)
2011年12月 (1)
2011年11月 (1)
2011年9月 (1)
2011年5月 (2)
2011年3月 (1)
搜索
最新评论
1. re: select函数与stdio混用的不良后果 (原)
赞!
--2b程序员
2. re: 最长上升子序列 O(nlogn)解法 (转)
写的不错 谢谢
--无忧
3. re: 进程并发服务器中,sigchld信号引发的血案?(原)
评论内容较长,点击标题查看
--anonymous
4. re: 翻译:libevent参考手册第六章:bufferevent:概念和入门 (八) (转)[未登录]
不错,学习了
--zz
5. re: 最小堆&&最大堆的实现(c++)(转)[未登录]
错误也太多了吧。
--ccc
阅读排行榜
1. 最长上升子序列 O(nlogn)解法 (转)(14841)
2. libevent: evbuffer缓冲 (转)(13994)
3. Skip List(跳跃表)原理详解与实现(13308)
4. 翻译:libevent参考手册第六章:bufferevent:概念和入门 (八) (转)(9940)
5. __builtin_expect 解惑(7636)
评论排行榜
1. 慢系统调用与信号中断(转)(2)
2. HADOOP_CLASSPATH设置(转)(1)
3. 最小堆&&最大堆的实现(c++)(转)(1)
4. select函数与stdio混用的不良后果 (原)(1)
5. 翻译:libevent参考手册第六章:bufferevent:概念和入门 (八) (转)(1)
HBASE安装和简单测试
Posted on 2013-04-15 20:45
鑫龙
阅读(299)
评论(0)
编辑
收藏
引用
所属分类:
HBASE
转自:
http://blog.chinaunix.net/uid-451-id-3156060.html
1. 修改HDFSS设置
vi conf/hdfs-site.xml
增加下面的设置,HBASE需要访问大量的文件
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
2. 设置NTP同步
rpm -qa |grep ntp
master用缺省配置
slaves:
vi /etc/ntp.conf
server 192.168.110.127
把缺省配置的server都去掉,改为master的地址
chkconfig ntpd on
service ntpd restart
另外:最好使用同一时区
ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime
3. 修改nofile和nproc设置
HBase需要使用很多文件,每次flush都是写一个新文件,缺省1024远远不够
vi /etc/security/limits.conf
hadoop - nofile 32768
hadoop - nproc 32768
重新登录hadoop,验证一下
ulimit -a
4.下载和安装
到http://hbase.apache.org去下载最新的稳定版本
tar zxf hbase-0.92.1.tar.gz
5. 设置环境变量
export HBASE_HOME=$HOME/hbase-0.92.1
export HBASE_CONF_DIR=$HOME/hbase-conf
同时设置添加到PATH和CLASSPATH
6. 配置
cp -r $HBASE_HOME/conf $HOME/hbase-conf
vi hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
export HBASE_HEAPSIZE=300
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_MANAGES_ZK=true
vi hdfs-site.xml
添加下面的配置,开启durable sync特性,Hadoop 0.20.205以上的版本有的功能
开启这个功能十分重要,否则HBASE会丢失数据。(本人猜测,这是些Hlog的需要,需要随时appdend redo log,而HDFS一般只能建新文件)
<configuration>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
</configuration>
在Hadoop -.20.205的elease notes上有这么一句:
* This release includes a merge of append/hsynch/hflush capabilities from 0.20-append branch, to support HBase in secure mode.
7. 设置Fully-distributed模式
vi hdfs-site.xml
设置hbase.rootdir和hbase.cluster.distributed=true
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
8. 设置RegionServers
cat regionservers
slave1
slave2
9. 配置ZooKeepers
vi hbase-env.sh
export HBASE_MANAGES_ZK=true
vi hdfs-site.xml
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property>
10. 复制安装配置到其他节点
scp -r conf slave1:
scp -r conf slave2:
scp -r hbase-conf slave1:
scp -r hbase-conf slave2:
scp -r hbase-0.92.1 slave1:
scp -r hbase-0.92.1 slave2:
scp -r .bash_profile slave1:
scp -r .bash_profile slave2:
11. 重新登录,重启hadoop
stop-all.sh
start-all.sh
jps
12. 启动HBASE
start-hbase.sh
验证,
用jps命令查看java进程
Master上有
11420 HMaster
ZoomKeeper上有
575 HQuorumPeer
RegionServer上有
686 HRegionServer
13 简单测试
hbase shell
hbase(main):006:0> create 'test','data'
0 row(s) in 1.1190 seconds
hbase(main):007:0> list
TABLE
test
1 row(s) in 0.0270 seconds
hbase(main):009:0> put 'test','1','data:1','xxxx'
0 row(s) in 0.1220 seconds
hbase(main):010:0> put 'test','1','data:1','xxxx'
0 row(s) in 0.0120 seconds
hbase(main):011:0> put 'test','1','data:1','xxxx'
0 row(s) in 0.0120 seconds
hbase(main):015:0* put 'test','2','data:2','yyy'
0 row(s) in 0.0080 seconds
hbase(main):016:0> put 'test','3','data:3','zzz'
0 row(s) in 0.0070 seconds
hbase(main):017:0>
hbase(main):018:0*
hbase(main):019:0* scan 'test'
ROW COLUMN+CELL
1 column=data:1, timestamp=1333160616029, value=xxxx
2 column=data:2, timestamp=1333160650780, value=yyy
3 column=data:3, timestamp=1333160664490, value=zzz
3 row(s) in 0.0260 seconds
hbase(main):020:0>
14. 查看了HDFS上建立的文件
./hadoop dfs -lsr /hbase
Warning: $HADOOP_HOME is deprecated.
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/-ROOT-
-rw-r--r-- 2 hadoop supergroup 551 2012-03-31 10:07 /hbase/-ROOT-/.tableinfo.0000000001
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/-ROOT-/.tmp
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/-ROOT-/70236052
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/-ROOT-/70236052/.oldlogs
-rw-r--r-- 2 hadoop supergroup 411 2012-03-31 10:07 /hbase/-ROOT-/70236052/.oldlogs/hlog.1333159627476
-rw-r--r-- 2 hadoop supergroup 109 2012-03-31 10:07 /hbase/-ROOT-/70236052/.regioninfo
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/-ROOT-/70236052/info
-rw-r--r-- 2 hadoop supergroup 714 2012-03-31 10:07 /hbase/-ROOT-/70236052/info/bd225e173164476f88111f622f5a7839
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/.META.
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/.META./1028785192
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/.META./1028785192/.oldlogs
-rw-r--r-- 2 hadoop supergroup 124 2012-03-31 10:07 /hbase/.META./1028785192/.oldlogs/hlog.1333159627741
-rw-r--r-- 2 hadoop supergroup 111 2012-03-31 10:07 /hbase/.META./1028785192/.regioninfo
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/.META./1028785192/info
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/.logs
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/.logs/slave1,60020,1333159627316
-rw-r--r-- 3 hadoop supergroup 293 2012-03-31 10:07 /hbase/.logs/slave1,60020,1333159627316/slave1%2C60020%2C1333159627316.1333159637444
-rw-r--r-- 3 hadoop supergroup 0 2012-03-31 10:07 /hbase/.logs/slave1,60020,1333159627316/slave1%2C60020%2C1333159627316.1333159637904
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:07 /hbase/.logs/slave2,60020,1333159627438
-rw-r--r-- 3 hadoop supergroup 0 2012-03-31 10:07 /hbase/.logs/slave2,60020,1333159627438/slave2%2C60020%2C1333159627438.1333159638583
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:18 /hbase/.oldlogs
-rw-r--r-- 2 hadoop supergroup 38 2012-03-31 10:07 /hbase/hbase.id
-rw-r--r-- 2 hadoop supergroup 3 2012-03-31 10:07 /hbase/hbase.version
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:22 /hbase/test
-rw-r--r-- 2 hadoop supergroup 513 2012-03-31 10:22 /hbase/test/.tableinfo.0000000001
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:22 /hbase/test/.tmp
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:22 /hbase/test/929f7e1caca5825974e0e991543fe2c5
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:22 /hbase/test/929f7e1caca5825974e0e991543fe2c5/.oldlogs
-rw-r--r-- 2 hadoop supergroup 124 2012-03-31 10:22 /hbase/test/929f7e1caca5825974e0e991543fe2c5/.oldlogs/hlog.1333160541983
-rw-r--r-- 2 hadoop supergroup 219 2012-03-31 10:22 /hbase/test/929f7e1caca5825974e0e991543fe2c5/.regioninfo
drwxr-xr-x - hadoop supergroup 0 2012-03-31 10:22 /hbase/test/929f7e1caca5825974e0e991543fe2c5/data
Error
==========================================
slave1: java.io.IOException: Could not find my address: db1 in list of ZooKeeper quorum servers
slave1: at org.apache.hadoop.hbase.zookeeper.HQuorumPeer.writeMyID(HQuorumPeer.java:133)
slave1: at org.apache.hadoop.hbase.zookeeper.HQuorumPeer.main(HQuorumPeer.java:60)
Reason:hostname是db1,但是我配置的名字是slave1,但是是同一个IP.HBase会用hostname取得的主机名来方向方向解析DNS
Solution:
修改hostname为slave1重新启动server
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
HBase简介(很好的梳理资料)
HBASE安装和简单测试
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 鑫龙