hbase集群配置
来源:互联网 发布:java基础笔记 编辑:程序博客网 时间:2024/05/23 01:36
环境
hbase-0.90.4
hadoop-0.20.2
zookeeper3.3.3
三台机器
master 192.168.1.90 (master,namenode secondnamenode)
slaver1 192.168.1.92
slaver2 192.168.1.93
环境变量
在/etc/profile增加
export HADOOP_HOME=/webapp/nosql/hadoop-0.20.2
export JAVA_HOME=/webapp/jdk1.6.0_22
export HBASE_HOME=/webapp/nosql/hbase-0.90.4
配置文件
hbase-env.sh
hbase-site.xml
regionservers
hbase-env.sh设置hbase环境变量
hbase-site.xml设置hbase相关参数就在该文件
regionservers指定region server列表,用机器名
修改hbase-env.sh
export JAVA_HOME=java home目录
export HBASE_CLASSPATH=hadoop的conf目录
export HBASE_MANAGES_ZK=false //设置zookeeper不由hbase管理
修改hbase-site.xml
<property>
<name>hbase.master</name> //master机器名
<value>master</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:54310/hbase</value> //与fs.default.name设置的机器名与端口一致
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slaver1,slaver2</value> //必须为奇数与zookeeper机制有关
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>60000000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientport</name>
<value>2181</value>//必须与zoo.cfg中的配置一致
</property>
regionservers文件加入
slaver1
slaver2 //注意是机器名
将整个hbase的目录scp到每个regionserver机器
zookeeper配置
创建zookeeper data目录
mkdir zookeeper
进入$ZOOKEEPER_HOME/conf
修改zoo_sample.cfg为zoo.cfg
mv zoo_sample.cfg zoo.cfg
修改zoo.cfg
增加如下内容
server.1=master:2888:3888
server.2=slaver1:2888:3888
server.3=slaver2:2888:3888
修改dataDir=刚才创建的zookeeper目录
在zookeeper目录中创建一个myid文件
touch myid
设置myid的内容为
server.X=slaver1:2888:3888
中的server后的X
比如master中就应是1
zookeeper配置完成
将zookeeper scp到每个节点
不要忘记修改myid的值
启动hbase集群
./start-all.sh //启动hadoop
./zkServer.sh start //在每个机器上启动zookeeper
./start-hbase.sh //启动hbase
停止hbase集群
./stop-hbase.sh
./zkServer.sh stop
./stop-all.sh
常见问题
org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)
处理方法
删除把hbase-0.90.3/lib中的hadoop-core-0.20-append-r1056497.jar
将hadoop core.jar ant.jar tools.jar拷贝到hbase/lib下就ok
master-desktop:/opt/hbase-0.90.4/bin$ ./hbase shell //进入hbase 命令行
创建表
hbase(main):006:0> create 'test', 'cf'
0 row(s) in 2.5190 seconds
查看表
list
插入数据
hbase(main):007:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.1160 seconds
hbase(main):008:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0130 seconds
查看数据
hbase(main):009:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1320653219927, value=value1
row2 column=cf:b, timestamp=1320653236889, value=value2
2 row(s) in 0.0480 seconds
查询指定行
hbase(main):010:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1320653219927, value=value1
1 row(s) in 0.0150 seconds
删除test
hbase(main):011:0> disable 'test'
0 row(s) in 2.0520 seconds
hbase(main):012:0> drop 'test'
0 row(s) in 1.2670 seconds
退出shell
hbase(main):013:0> exit
关闭hbase
./stop-hbase.sh
相关错误
java.io.IOException: Call to node1/10.64.56.76:49002 failed on local exception: java.io.EOFException
从hadoop_home/下面cp一个hadoop/hadoop-core-0.20.203.0.jar到hbase_home/lib下。
因为Hbase建立在Hadoop之上,所以他用到了hadoop.jar,这个Jar在 lib 里面。这个jar是hbase自己打了branch-0.20-append 补丁的hadoop.jar. Hadoop使用的hadoop.jar和Hbase使用的 必须 一致。所以你需要将 Hbaselib 目录下的hadoop.jar替换成Hadoop里面的那个,防止版本冲突。比方说CDH的版本没有HDFS-724而branch-0.20-append里面有,这个HDFS-724补丁修改了RPC协议。如果不替换,就会有版本冲突,继而造成严重的出错,Hadoop会看起来挂了。
java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration
解决:
在NoClassDefFoundError,缺少 org/apache/commons/configuration/Configuration
果断给他加一个commons-configuration包,
从hadoop_home/lib下面cp一个hadoop/lib/commons-configuration-1.6.jar到hbase_home/lib下。
2)、去掉hadoop的安全模式:hadoop dfsadmin -safemode leave
3)、把/etc/hosts里的ubuntu的IP改为服务器当前的IP
4) 、确认hbase的hbase-site.xml中
<name>hbase.rootdir</name>
<value>hdfs://node:49002/hbase</value>
与hadoop的core-site.xml中
<name>fs.default.name</name>
<value>hdfs://node:49002/hbase</value>
红字部分保持一致
<value>hdfs://localhost:8020/hbase</value>
6)、重新执行./start-hbase.sh之前,先kill掉当前的hbase和zookeeper进程
- hbase集群配置
- HBase 集群配置
- Hbase集群配置
- Hbase集群配置
- Hbase集群安装配置
- HBase集群安装配置
- HBase集群配置
- Hbase集群配置
- Hbase集群安装配置
- hbase集群安装配置
- Hbase集群安装配置
- hbase集群的安装、配置
- Hadoop+ZooKeeper+HBase集群配置
- HBase数据集群配置安装
- HBase集群搭建+HA配置
- Hbase分布式集群安装配置
- HBase集群配置之Zookeeper安装配置
- HBase-0.90.4集群安装配置
- 获取dbgrid的行索引
- tomcat7.0无法启动 catalina.LifecycleException
- ActionError,ActionMessage介绍
- vc++ greta html转 txt
- jsp2.0新特性
- hbase集群配置
- Android Stream to String
- c#中的流,字节,字符,字符串
- oracle跨平台移动
- HibernateTemplate相关方法
- Linux常用基本命令及应用技巧
- 设计模式之责任链模式
- C++ using namespace std 详解
- XCode 3 中我的常用快捷键