hadoop搭建之HBase安装
本文搭建环境:
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目录下
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)
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
阿里云MaxCompute 2019-1月刊
亲爱的开发者们,MaxCompute 2019.1月刊为您带来产品最新动态和丰富的产品技术内容,欢迎阅读。导读 【新视频】精选视频集锦全新上线 【新故事】精选案例集锦全面更新 【新文档】2019年1月MaxCompute 重要产品文档更新推荐 【新干货】2019年1月MaxCompute 精选技术文章推荐 【1月重要活动回顾】 【2月重要活动预告】 【新视频】MaxCompute 精彩视频集锦页面全新上线,查看详情>>> 精选MaxCompute 产品、技术、最佳实践等视频汇集而成,帮您全面了解MaxCompute功能介绍、操作指导、问题排查及最佳实践。【新故事】MaxCompute案例集锦全面更新,查看详情>>> MaxCompute在高德大数据上的应用基于MaxCompute的媒体大数据开放平台建设基于Max
-
下一篇
是时候放弃 Spark Streaming, 转向 Structured Streaming 了
正如在之前的那篇文章中 Spark Streaming 设计原理 中说到 Spark 团队之后对 Spark Streaming 的维护可能越来越少,Spark 2.4 版本的 Release Note 里面果然一个 Spark Streaming 相关的 ticket 都没有。相比之下,Structured Streaming 有将近十个 ticket 说明。所以各位同学,是时候舍弃 Spark Streaming 转向 Structured Streaming 了,当然理由并不止于此。我们这篇文章就来分析一下 Spark Streaming 的不足,以及Structured Streaming 的设计初衷和思想是怎么样的。文章主要参考今年(2018 年)sigmod 上面的这篇论文: *Structured Streaming
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7


微信收款码
支付宝收款码