`

搭建Zookeeper与Hbase过程及遇到的问题总结

 
阅读更多

我的经验是最好放在hadoop一块,这样可以做个全盘拷贝与管理。比如之前安装的hadoop在/usr/hadoop目录下,那就把这2个组件放在一 块,比如统一放在:/usr/hadoop/...或 /home/hadoop/...这样以后再有组件也可以放在这里,方便了后续集群的重新部署。为了避开混淆,可以不使用hadoop,如使 用:hdfs,bigdata, cloud,and so on.

1.安装zookeeper,自不必说,需要说明的是配置问题。

 (1)在conf目录下,将 zoo_sample.cfg 改名为 zoo.cfg,修改为如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 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/hdfs/zookeeper
# the port at which the clients will connect
clientPort=2181
initLimit=5
syncLimit=2
dataLogDir=/home/hdfs/zookeeper/logs
server.1=192.168.1.70:2888:3888
server.2=192.168.1.71:2888:3888
server.3=192.168.1.72:2888:3888
server.4=192.168.1.73:2888:3888
(2)创建myid文件与logs目录 

 

1) myid文件是在zookeeper_home下直接新建一个myid文件,并在里面写入编号。编号的确定是根据zoo.cfg里 自己ip对应的 server.X 

2)logs目录也是自己手动创建的。

2.安装hbase

解压安装后,修改conf 里的配置文件:

(1) hbase-env.sh

 

1
2
3
4
5
6
7
export JAVA_HOME=/usr/java/jdk1.7.0_17/
export HBASE_CLASSPATH=/usr/hadoop/conf
export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
#export HBASE_OPTS="-ea -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
export HBASE_MANAGES_ZK=false
 
export HBASE_PID_DIR=/home/hdfs/pids  #目录应该为hadoop:hadoop所有,以免发生权限问题

 

要注意的是:   HBASE_MANAGES_ZK 和 HBASE_PID_DIR

 

(2)hbase-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://Master.Hadoop:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>192.168.1.70:60000</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>192.168.1.71,192.168.1.72,192.168.1.73</value>
    </property>
    <!-- End of properties that are directly mapped from ZooKeeper's zoo.cfg -->
</configuration>

(3)regionservers

在regionservers添加slaves的ip:

1
2
3
192.168.1.71
192.168.1.72
192.168.1.73

3.启动/测试

启动顺序:hadoop-->zookeeper-->hbase

关闭顺序:hbase-->zookeeper-->hadoop

1)启动zookeeper

zookeeper的启动需要分别在每个计算机的节点上手动启动。进入zookeeper/bin目录: 

1
2
3
4
5
6
7
8
9
10
11
[... bin]$ ./zkServer.sh start
[... bin]$ jps
#启动成功应该含有:QuorumPeerMain 进程
 
查看状态:(已全部手动启动集群中的zookeeper)
[... bin]$ ./zkServer.sh status
......
#会显示 Model:follower/leader
 
关闭zookeeper
[... bin]$ ./zkServer.sh stop

2)启动hbase

在hbase的bin下进行操作:(注意顺序)

1
2
3
4
5
6
7
[... bin]$ ./hbase-daemon.sh start master //启动Master
[... bin]$ ./start-hbase.sh
[... bin]$ ./hbase shell //shell命令行接口,进入后可使用list显示tables
……
 
[... bin]$ ./hbase-daemon.sh stop master //启动Master
[... bin]$ ./stop-hbase.sh

可以通过:http://192.168.1.70:60010/master-status 查看hbase允许状态,也可通过其判断是否成功启动。

4.错误解决及排除

(1)zookeeper遇到的问题:

1)Error contactiong service. It is probably not runnin

查看zookeeper状态时出现:Error contactiong service. It is probably not running

先使用jps查看是否有QuorumPeerMain;

再查看2181端口是否开启:   netstat -an | grep 2181 

如果这2项都没有问题,原因可能是你只是单机启动,集群中其他计算机并没有启动zookeeper,把集群中其他的启动后再使用此命令。而且此命令功能太过单一,反馈信息也不准确。 

 

(2)Hbase遇到的问题

ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times

问题发生在list 查看表时,通过查看 logs/ 下的日子信息:

stopping hbasecat: /tmp/hbase-mango-master.pid: No such file or directory  

发现是HBASE_PID_DIR 没有配置,使用的是默认配置,但是默认配置会在下次启动后自动清除,所以需要手动配置并创建相应的文件。(参考:hbase-env.sh)  

(3)hadoop遇到的问题

All directories in dfs.data.dir are invalid

这个问题以前没有遇到过,而且在之前节点启动正常,但这次不知道是何原因。

通过:hadoop dfsadmin -report 发现一个节点没有启动,通过查看此节点的logs信息,发现是文件权限引起的:Invalid directory in dfs.data.dir: Incorrect permission for /hadoop/hadoop-data, expected: rwxr-xr-x, while actual: rwxrwxr-x 

更改权限,文件解决:chmod g-w /hadoop/hadoop-data/    (其他节点权限和以前一样却没有出现这问题,好奇怪~~)

Ps:最有效、快速定位错误的方法是看logs,千万不要忽视了哦! 

分享到:
评论

相关推荐

    zookeeper+hbase集群搭建

    在本文中,我们将深入探讨如何搭建一个Zookeeper和HBase集群,以及在过程中可能遇到的常见问题和解决方案。Zookeeper和HBase都是大数据处理领域的关键组件,Zookeeper作为一个分布式协调服务,而HBase是一个基于...

    hadoop+zookeeper+hbase集群搭建配置说明

    在搭建HBase集群时,我们需要配置HBase的主RegionServer(Master)、RegionServer实例以及与Zookeeper的连接。此外,还要设置表和列族的属性,如块大小、缓存设置等,以优化性能。 在实际搭建过程中,首先,你需要...

    hadoop搭建 zookeeper_hbase_hive_sqoop_mysql_spark_hdfs.doc

    在构建一个完整的Hadoop生态系统时,我们需要搭建多个组件,包括Zookeeper、HBase、Hive、MySQL、Kafka以及Spark,并且它们都要运行在HDFS之上。下面将详细介绍这些组件的安装与配置过程。 1. **Zookeeper**: ...

    Hadoop+Zookeeper+HBase部署指南

    Hadoop+Zookeeper+HBase是一种常用于构建云计算平台的搭建模式,其中Hadoop主要负责大数据存储与计算,Zookeeper提供高可用的分布式协调服务,而HBase是构建在Hadoop之上的NoSQL数据库,擅长处理大量数据。...

    hadoop ,hbase,zookeeper错误日志及相关应对措施

    hadoop、hbase、zookeeper错误日志及相关应对措施 本文将对hadoop、hbase和zookeeper的错误日志进行总结和分析,并提供相关的应对措施,以帮助读者更好地理解和解决这些错误。 Hadoop-0.20.2 & hbase-0.90.1 集群...

    3.基于hadoop集群搭建hbase

    ### 基于Hadoop集群搭建...需要注意的是,实际部署过程中可能还会遇到一些具体的配置细节问题,比如防火墙设置、权限问题等,这些问题也需要根据实际情况逐一解决。希望本指南能帮助您顺利完成HBase集群的搭建工作。

    hbase2.0环境搭建

    hbase2.0环境搭建的知识点可以从多个维度展开,包括环境准备、软件安装、配置调整、服务启动以及性能优化等方面。...在实际操作过程中,可能会遇到各种不同的问题,这时需要根据具体的错误信息进行调试和解决。

    hadoop+hbase+zookeeper搭建

    本文档是hbase集群的搭建文档,包含了搭建中遇到的问题。

    Hbase完全分布式集群搭建(详细+,看完就会,).docx

    在搭建 HBase 集群时,我们可能会遇到以下问题: * HMaster 自动关闭的问题,可以通过检查 HMaster 的日志来解决。 * 连接不到 8020 端口的问题,可以通过检查 HDFS 的配置来解决。 * HBase 启动报错的问题,可以...

    hbase的安装与简单操作.doc

    ### HBase的安装与简单操作知识点详解 #### HBase安装步骤及注意事项 ##### 版本选择与准备 ...需要注意的是,实际部署过程中可能会遇到各种具体问题,建议结合官方文档和其他资源进一步学习和实践。

    HBase官方文档

    这些升级指南帮助用户了解升级过程中可能遇到的问题,并提供了解决这些问题的方法。 ### HBaseShell HBaseShell是HBase的命令行接口,用户可以通过脚本或Shell技巧进行操作。它支持创建表、插入数据、查询数据、...

    zookeeper安装及开发笔记

    在搭建ZooKeeper集群环境时,首先需要准备多台服务器,例如在描述中提到的三台,每台服务器都需要配置相应的IP地址和主机名。确保所有服务器都安装了JDK,因为ZooKeeper的运行依赖Java环境。接着,从官方站点下载...

    Hbase个人总结

    #### 一、HBase与OLTP及OLAP 在大数据处理领域,企业常常面临着两种不同的数据处理需求:联机事务处理(OLTP)和联机分析处理(OLAP)。OLTP通常涉及频繁的更新、插入和删除操作,而OLAP则侧重于大量数据的复杂查询...

    kerberos环境搭建

    - 如果遇到问题,可以查看KDC的日志文件,如/var/log/krb5kdc/kdc.log,找出错误原因。 8. **安全考虑**: - 定期更改密码和密钥,避免密码泄露。 - 监控KDC活动,及时发现异常行为。 - 设置合理的过期策略,...

    HBase项目文档

    七、遇到问题及解决办法 遇到问题时,需要检查HBase的日志文件,查看错误信息,然后根据错误信息进行解决。例如,如果 RegionServer无法启动,可能是由于 RegionServer的配置文件出错,需要检查配置文件并进行修改...

    hbase分布式搭建

    **HBase 分布式搭建详解** HBase 是一个基于 Apache Hadoop 的...在实际操作中,可能还会遇到网络、磁盘I/O、内存等问题,需要根据具体情况灵活调整和解决。不断学习和实践,才能更好地驾驭这个强大的大数据存储系统。

    Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+ES+Redash等详细安装部署

    过程中可能遇到的问题包括网络配置、权限设置、依赖冲突等,解决这些问题通常需要查阅官方文档、社区经验分享以及实际操作中的调试。这样的集群不仅提供了数据处理的完整链条,也是大数据工程师学习和实践的重要平台...

Global site tag (gtag.js) - Google Analytics