您现在的位置是:首页 > 文章详情

hadoop搭建之HBase安装

日期:2019-02-19点击:441

本文搭建环境:

centos6.9
jdk1.8.0_201

hadoop-2.7.2

本文搭建HBase环境
hbase-1.2.4
zookeeper-3.4.9

1、下载安装包
hbase-1.2.4
zookeeper-3.4.9

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件

ZooKeeper相当于hadoop中yarn,但是它的单独安装

2、将下载好的安装包(个人使用WinSCP)导入opt下的software目录下

1

3、解压ZooKeeper,并重命名为 zookeeper

tar -zvxf /opt/software/zookeeper-3.4.9.tar.gz -C /opt/modules/

4、在hadoop安装目录下新建zookeeper/data目录,在data目录下新建myid文件,输入一个数字(c1 为 1,c2 为 2,c2 为 3【c2,c3为复制之后的文件,见第6步】)

5、修改配置文件 zoo.cfg

zoo.cfg是没有的,需要将文件目录下:opt/modules/zookeeper/conf/zoo_sample.cfg
复制并且改名为zoo.cfg

或使用命令:cp zoo_sample.cfg zoo.cfg

找到:dataDir=/tmp/zookeeper 将其删除 将以下信息复制进去:dataDir为第4步新建的文件目录,c1,c2,c3为节点 dataDir=/opt/madules/hadoop/zookeeper/data server.1=c1:2888:3888 server.2=c2:2888:3888 server.3=c3:2888:3888 

6、使用 scp 命令进行远程复制

主目录下,qiqi为我的主机名 scp -r /opt/modules/zooKeeper/ qiqi@c2:/opt/modules/ scp -r /opt/modules/zooKeeper/ qiqi@c3:/opt/modules/ 

7、启动 ZooKeeper 集群,在 ZooKeeper 集群的每个结点上,执行启动 ZooKeeper 服务的脚本

切换到/opt/modules目录下 zookeeper/bin/zkServer.sh start

(1) 如果启动报类似异常:QuorumCnxManager@384] - Cannot open channel to 2 at election address slave-02/192.168.0.178:3888 是可以忽略的,因为该服务启动时会尝试连接所有节点,而其他节点尚未启动。通过后面部分可以看到,集群在选出一个 Leader 后,最后稳定 了。其他结点可能也出现类似问题,属于正常。

(2) 关闭防火墙。在 hadoop 集群环境(linux 系统)中最好关闭防火墙,不然会出现很多问题,例如 namenode 找不到 datanode 等。如果不关闭防火墙,客户端使用 API 操作 HDFS 以及 ZooKeeper,可能就会出现下面常见的两种异常:

a、使用 API 操作 HDFS 时会出现异常:java.net.NoRouteToHostException: No route to host
b、使用 API 操作 ZK 时会出现异常: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for xxxx

(3) 使用 root 权限登陆后,输入关闭防火墙命令:

/etc/init.d/iptables stop $ service iptables stop

(4) 修改禁用 selinux: /etc/selinux/config 文件,设置"SELINUX=disabled"

8、HBase 集群安装配置,解压hbase-1.2.4,并重命名为 hbase

 tar -zvxf /opt/software/hbase-1.2.4-bin.tar.gz -C /opt/madules/ 

9、配置环境变量(只在主节点里配)

export HBASE_HOME=/opt/modules/hbase export PATH=$HBASE_HOME/bin:$PATH 

source /etc/profile 使之生效
建立hdfs缓存目录:

hadoop fs -mkdir hbase

10、配置hbase-env.sh

export HBASE_OPTS="-XX:+UseConcMarkSweepGC" export JAVA_HOME=/opt/modules/jdk1.8.0_201 export HBASE_CLASSPATH=/opt/madules/hadoop export HBASE_MANAGES_ZK=false 

11、配置hbase-site.xml

 <configuration> <property> // 节点修改 <name>hbase.rootdir</name> <value>hdfs://c1:9000/hbase</value> </property> <property> // 节点修改 <name>hbase.master</name> <value>c1</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> // 节点修改 <name>hbase.zookeeper.quorum</name> <value>c1,c2,c3</value> </property> <property> <name>zookeeper.session.timeout</name> <value>60000000</value> </property> <property> <name>dfs.support.append</name> <value>true</value> </property> // 节点修改 <property> <name>hbase.zookeeper.property.dataDir</name> <value>/opt/modules/hadoop/zookeeper/data</value> </property> </configuration>

11、更改 regionservers,删掉文件里的localhost,改为

c1 c2 c3

12、分发并同步安装包

scp -r /opt//modules/hbase c2:/opt//modules scp -r /opt//modules/hbase c3:/opt//modules 

13、启动集群,主目录切换到/opt/modules/ 目录下

[qiqi@c1 modules] 1、启动 ZooKeeper(三个节点) zookeeper/bin/zkServer.sh start 2、启动 hadoop(主节点) hadoop/sbin/start-all.sh 3、启动 hbase(主节点) hbase/bin/start-hbase.sh 

14、启动后,jps查看,master 上进程和 slave 进程列表

c1节点 4161 NodeManager #YARN进程 4545 HMaster # hbase 进程 3587 NameNode #HDFS进程 4759 Jps 3831 SecondaryNameNode # HDFS进程 4680 HRegionServer #HBase进程 3691 DataNode #HDFS进程 4046 ResourceManager # YARN 进程 3439 QuorumPeerMain # zookeeper 进程 c2、c3节点 3761 NodeManager 3980 Jps 3644 DataNode 3933 HRegionServer 

15、进入 hbase shell 进行验证

 [qiqi@c1 ~]$ hbase/bin/hbase shell 2015-07-20 00:42:11,725 WARN [main] util.NativeCodeLoader: Unable to loa d native-hadoop library for your platform... using builtin-java classes where ap plicable HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 1.0.1.1, re1dbf4df30d214fca14908df71d038081577ea46, Sun May 17 1 2:34:26 PDT 2015 //hbase shell操作,list 查看表 hbase(main):001:0> list TABLE 0 row(s) in 1.6950 seconds => [] //status 查看服务器状态 hbase(main):002:0> status 1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 average load 

16、查看是否启动

c1:50070
c1:8088 (查看hadoop)

原文链接:https://yq.aliyun.com/articles/690901
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章