HBase集群搭建
2015-10-04 12:22
183 查看
写在开头:在部署hbase集群之前,先把hadoop集群部署好。然后把zookeeper集群部署好。然后部署hbase,注意hbase相关的配置文件。
1.上传hbase安装包
2.解压
3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了)
3.1修改hbase-env.sh
3.2修改hbase-site.xml
3.3修改regionservers,配置Hbase小弟位置
3.4拷贝hbase到其他节点---拷贝前,最好把“/docs”文档删除
4.将配置好的HBase拷贝到每一个节点并同步时间。
5.启动所有的hbase
6.通过浏览器访问hbase管理页面
7.为保证集群的可靠性,要在hadoop02节点上启动standby的HMaster
同步集群时间(使用NTP)
1.修改选定的服务器(任意机器均可)的时区和本地时间
2. 将修改后的时间写入硬件时钟,确保重启有效
3. 配置NTP服务器(默认安装)
4.其他机器同步
等待大概五分钟,再到其他机上同步该机器时间(先确保时区一样,否则同步以后时间也是有时区差的)
5.根据需要,这里可以让分机器定时自动同步时间
5.1.crontab -e 编辑内容: * */12 * * * /usr/sbin/ntpdate 服务器IP(每12个小时更新一次)
5.2.保存退出即可,可以到/var/spool/mail/下查看记录
1.上传hbase安装包
2.解压
3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了)
//注意:要把hadoop的hdfs-site.xml和core-site.xml放到hbase/conf下 这是由于在配置<name>hbase.rootdir</name>时使用了抽象的路径,需要解析。 //另一种办法为:在$HBASE_HOME/conf/hbase-site.xml文件中进行配置,相对麻烦。
3.1修改hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_55 //告诉hbase使用外部的zk,集群模式 export HBASE_MANAGES_ZK=false
3.2修改hbase-site.xml
<configuration> <!-- 指定hbase在HDFS上存储的路径 --> <!-- ns1表示nameservice的抽象--> <property> <name>hbase.rootdir</name> <value>hdfs://ns1/hbase</value> </property> <!-- 指定hbase是分布式的 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 指定zk的地址,多个用“,”分割 --> <property> <name>hbase.zookeeper.quorum</name> <value>hadoop04:2181,hadoop05:2181,hadoop06:2181</value> </property> </configuration>
3.3修改regionservers,配置Hbase小弟位置
hadoop03 hadoop04 hadoop05 hadoop06
3.4拷贝hbase到其他节点---拷贝前,最好把“/docs”文档删除
scp -r /hadoop/hbase-0.96.2-hadoop2/ hadoop02:/hadoop/ scp -r /hadoop/hbase-0.96.2-hadoop2/ hadoop03:/hadoop/ scp -r /hadoop/hbase-0.96.2-hadoop2/ hadoop04:/hadoop/ scp -r /hadoop/hbase-0.96.2-hadoop2/ hadoop05:/hadoop/ scp -r /hadoop/hbase-0.96.2-hadoop2/ hadoop06:/hadoop/
4.将配置好的HBase拷贝到每一个节点并同步时间。
//根据错误日志,可得到slave2和maste机器时间差太多,导致启动失败,解决方法:同步集群的时间。
2015-07-17 09:28:19,392 INFO [regionserver60020] regionserver.HRegionServer: STOPPED: Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException: Server slave2,60020,1405560498057 has been rejected; Reported time is too far out of sync with master. Time difference of 28804194ms > max allowed of 30000ms at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:314) at org.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:215) at org.apache.hadoop.hbase.master.HMaster.regionServerStartup(HMaster.java:1292) at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$2.callBlockingMethod(RegionServerStatusProtos.java:5085) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2185) at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1889)
5.启动所有的hbase
//1.启动zk ./zkServer.sh start //2.启动hdfs集群 start-dfs.sh //3.启动hbase,在主节点上运行: start-hbase.sh
6.通过浏览器访问hbase管理页面
192.168.8.101:60010
7.为保证集群的可靠性,要在hadoop02节点上启动standby的HMaster
hbase-daemon.sh start master
同步集群时间(使用NTP)
1.修改选定的服务器(任意机器均可)的时区和本地时间
//设置时区命令: tzselect ,然后一步步的选择
#date -s '2014-11-21 12:48:30' +'%T' #2014-11-21 12:48:30为将要设定的时间,%T代表是24小时制
2. 将修改后的时间写入硬件时钟,确保重启有效
#hwclock -w
3. 配置NTP服务器(默认安装)
vim /etc/ntp.conf //在后面加上: server 127.127.1.0 Fudge 127.127.1.0 stratum 10 //关闭防火墙: #service iptables stop //重新启动服务: #service ntpd stop #service ntpd start
4.其他机器同步
等待大概五分钟,再到其他机上同步该机器时间(先确保时区一样,否则同步以后时间也是有时区差的)
ntpdate 服务器IP地址(第一步选定的主机IP) //Date查看时间是否同步完成
5.根据需要,这里可以让分机器定时自动同步时间
5.1.crontab -e 编辑内容: * */12 * * * /usr/sbin/ntpdate 服务器IP(每12个小时更新一次)
5.2.保存退出即可,可以到/var/spool/mail/下查看记录
相关文章推荐
- 95. Unique Binary Search Trees II (Tree; DFS)
- DirectX11 模板测试
- POJ 2251 Dungeon Master
- hibernate 异常
- 树的最小表示
- Uncaught TypeError: Cannot read property 'call' of undefined jquery.validate.min.js:28
- [263]Ugly Number
- 六种异常处理的陋习
- Linux - SVN下载项目
- iOS讲解迷惑深入浅出之开启子线程请求网络
- 多线程和多进程的区别(小结)
- Android Material Design Dialog
- C/C++中sizeof关键字总结
- AndroidUI 侧滑菜单 DrawerLayout的使用
- AndroidUI 侧滑菜单 DrawerLayout的使用
- DirectX11 模板
- JAVA IO处理流
- 不容忽视的网络安全
- linux 下 异步IO
- MeteoInfoLab脚本示例:创建netCDF文件(合并文件)