我的经验是最好放在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
|
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是否与hadoop版本对应
Zookeeper和Hbase安装总结手册.
zookeeper+hbase集群搭建+搭建过程报错解决+原理,通俗易懂,详细配置注解!!!
详细的zookeeper和hbase的详细教程,以及含有与之对应的zookeeper3.5.7版本安装包文件,hbase是2.0.5版本安装包文件。含有hbase启动脚本,xsync分发脚本,hadoop启动脚本,zookeeper启动脚本,jpsall脚本,整个集群...
数据仓库hadoop+zookeeper+hbase集群安装方法记录,自己搭建纯手写的记录。相关软件请自行下载
Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)
hbase配置内置的zookeeper;hbase配置内置的zookeeper;
Hadoop+Zookeeper+Hbase+Hive部署
hadoop环境搭建,涉及zookeeper、hbase、hive、mysql、kafka等服务的搭建测试运用。
hadoop集群配置流程以及用到的配置文件,hadoop2.8.4、hbase2.1.0、zookeeper3.4.12
Hadoop+ZooKeeper+HBase+hive(HQL)安装步骤
Hadoop+Zookeeper+HBase环境搭建,详细步骤和实例,从零开始搭建Hadoop集群
Hadoop+Zookeeper+HBase部署指南
zookeeper和hbase相关安装包及安装手册,适合Hadoop初学者下载使用
ubuntu系统部署完全分布式hadoop时,先部署了zookeeper和hbase
hadoop,zookeeper,hbase,hive,spark,kafka,flink,clickhouse,数据仓库,等等
Docker(Hadoop_3.3.1+HBase_2.4.16+Zookeeper_3.7.1+Hive_3.1.3 )配置文件 搭建集群环境
HBase即Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在普通的PC Server上搭建起大规模结构化存储集群。 HBase是Google Bigtable的开源实现,类似Google Bigtable利用...
从零开始hadoop+zookeeper+hbase+hive集群安装搭建,内附详细配置、测试、常见error等图文,按照文档一步一步搭建肯定能成功。(最好用有道云打开笔记)
Hadoop+Zookeeper+HBase部署指南