Hbase单机模式和伪分布式模式安装
来源:互联网 发布:逆袭网络剧在线观看04 编辑:程序博客网 时间:2024/05/17 20:28
安装环境:
Centos7.2 64位
jdk1.8.0_91
一、安装前准备工作:
1.在安装之前首先应将防火墙和SELinux关闭。
2.若没有jdk或者版本过低请先安装相应的jdk
3.我没有在root用户下安装而是安装在了hadoop用户下,所以先创建hadoop用户
4.修改/etc/sysconfig/network和/etc/hosts文件来修改hostname(一开始我以为这一步是可以忽略的,但是后来出现了很多问题,还是老老实实的做这一步吧)
注意:如果你不修改主机名,默认为localhost,而它是和127.0.0.1相对应的,这一点要注意
5.在hadoop用户下ssh免密登录
[hadoop@localhost ~]$ ssh-keygen -t rsa
[hadoop@localhost ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h153
注:以上这些步骤都在我的http://blog.csdn.net/m0_37739193/article/details/71222673和http://blog.csdn.net/m0_37739193/article/details/77479948的开头都有详细步骤,这里就不加以累述了。
二、hbase单机模式(很简单,其实就两个主要步骤)
1.解压相应的hbase安装包
[hadoop@h153 ~]$ tar -zxvf hbase-1.0.0-cdh5.5.2.tar.gz
2.修改hbase-env.sh
[hadoop@h153 ~]$ vi hbase-1.0.0-cdh5.5.2/conf/hbase-env.sh
添加
export JAVA_HOME=/usr/jdk1.8.0_91
3.配置hbase-site.xml,创建用于存放数据的目录
[hadoop@h153 ~]$ vi hbase-1.0.0-cdh5.5.2/conf/hbase-site.xml
添加
<property> <name>hbase.rootdir</name> <value>file:///home/hadoop/hbase-1.0.0-cdh5.5.2/data</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/hbase-1.0.0-cdh5.5.2/zookeeper</value> </property>
4.启动hbase
[hadoop@h153 hbase-1.0.0-cdh5.5.2]$ bin/start-hbase.sh
5.hbase验证
[hadoop@h153 hbase-1.0.0-cdh5.5.2]$ jps
19658 HMaster
19978 Jps
6.启动shell命令验证
[hadoop@h153 hbase-1.0.0-cdh5.5.2]$ bin/hbase shellhbase(main):001:0> listTABLE 0 row(s) in 0.4270 seconds=> []hbase(main):002:0> create 'scores','grade','course'0 row(s) in 0.4920 seconds=> Hbase::Table - scoreshbase(main):003:0> put 'scores','zhangsan01','course:math','99'0 row(s) in 0.1680 secondshbase(main):004:0> scan 'scores'ROW COLUMN+CELL zhangsan01 column=course:math, timestamp=1502138745681, value=99 1 row(s) in 0.1130 seconds
7.配置运行环境
[hadoop@h153 ~]$ vi .bash_profile
export CLASSPATH=.:/home/hadoop/hbase-1.0.0-cdh5.5.2/lib/*
注意:这里要写成*而不是*.jar
[hadoop@h153 ~]$ source .bash_profile
补充:zookeeper单节点安装
1.[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ vi conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=/home/hadoop/zookeeper-3.4.5-cdh5.5.2/data
dataLogDir=/home/hadoop/zookeeper-3.4.5-cdh5.5.2/log
2.[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ mkdir -pv data log
3.[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ ./bin/zkServer.sh start
JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo.cfg
Starting zookeeper ... ./zookeeper-3.4.5-cdh5.5.2/bin/zkServer.sh: line 120: [: /home/hadoop/zookeeper-3.4.5-cdh5.5.2/data: binary operator expected
STARTED
4.[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ ./bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo.cfg
Mode: standalone
思考:后来我本来想在单机模式下让hbase不使用自带的zookeeper而用我自己安装,设置export HBASE_MANAGES_ZK=false后发现hbase在单机模式下还是会自动启动2181端口,而hbase完全分布式模式下则不会。并且不管hbase在单机模式下是否配置为使用自带的zookeeper在启动hbase后都会自动启动2181端口,而且也不会有HQuorumPeer进程产生,我目前也没有想明白也不知道是什么原因。这就导致我自己安装的zookeeper在启动时2181被占用而无法启动,报java.net.BindException: Address already in use。
最后无奈只能将我自己安装的zookeeper在zoo.cfg中端口改为2182再启动才行,可这样hbase会使用它吗?我这样做的应用场景是在单机模式中安装了hbase和kafka,而kafka还必须要有zookeeper,所以只能自己安装了,因为也不知道kafka咋引用hbase自带的zookeeper(后来发现既然hbase使用了自带的zookeeper,那么根本就不用自己再安装了,kafka在配置的时候直接配置成zookeeper.connect=h153:2181就OK了)。
后来惊奇的发现,不管hbase在单节点模式下配置是否使用自己的zookeeper,在启动hbase后,即使我自己安装的zookeeper-3.4.5-cdh5.5.2虽然无法成功启动,但是执行[hadoop@h153 ~]$ ./zookeeper-3.4.5-cdh5.5.2/bin/zkServer.sh status命令却能查看到zookeeper显示的是Mode: standalone,这让我很是困惑。
1.安装hadoop
(1).解压相应的hadoop安装包
[hadoop@h153~]$ tar -zxvf hadoop-2.6.0-cdh5.5.2.tar.gz
(2).修改core-site.xml
[hadoop@h153 ~]$ vi hadoop-2.6.0-cdh5.5.2/etc/hadoop/core-site.xml
添加
<property> <name>fs.defaultFS</name> <value>hdfs://h153:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> <description>Size of read/write buffer used inSequenceFiles.</description> </property>
(3).修改hdfs-site.xml文件
[hadoop@h153 ~]$ vi hadoop-2.6.0-cdh5.5.2/etc/hadoop/hdfs-site.xml
添加
<property> <name>dfs.namenode.secondary.http-address</name> <value>h153:50090</value> <description>The secondary namenode http server address andport.</description> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/hadoop-2.6.0-cdh5.5.2/dfs/name</value> <description>Path on the local filesystem where the NameNodestores the namespace and transactions logs persistently.</description> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoop/hadoop-2.6.0-cdh5.5.2/dfs/data</value> <description>Comma separated list of paths on the local filesystemof a DataNode where it should store its blocks.</description> </property> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:///home/hadoop/hadoop-2.6.0-cdh5.5.2/dfs/namesecondary</value> <description>Determines where on the local filesystem the DFSsecondary name node should store the temporary images to merge. If this is acomma-delimited list of directories then the image is replicated in all of thedirectories for redundancy.</description> </property> <property> <name>dfs.replication</name> <value>1</value> </property>
(4).编辑mapred-site.xml
[hadoop@h153 ~]$ cp hadoop-2.6.0-cdh5.5.2/etc/hadoop/mapred-site.xml.template hadoop-2.6.0-cdh5.5.2/etc/hadoop/mapred-site.xml
[hadoop@h153 ~]$ vi hadoop-2.6.0-cdh5.5.2/etc/hadoop/mapred-site.xml
添加
<property> <name>mapreduce.framework.name</name> <value>yarn</value> <description>Theruntime framework for executing MapReduce jobs. Can be one of local, classic oryarn.</description> </property> <property> <name>mapreduce.jobhistory.address</name> <value>h153:10020</value> <description>MapReduce JobHistoryServer IPC host:port</description> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>h153:19888</value> <description>MapReduce JobHistoryServer Web UI host:port</description> </property>
(5).编辑yarn-site.xml
[hadoop@h153 ~]$ vi hadoop-2.6.0-cdh5.5.2/etc/hadoop/yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>h153</value> <description>The hostname of theRM.</description> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <description>Shuffle service that needs to be set for Map Reduceapplications.</description> </property>
(6).格式化文件系统
[hadoop@h153 hadoop-2.6.0-cdh5.5.2]$ bin/hdfs namenode -format
(7).启动hadoop
[hadoop@h153 hadoop-2.6.0-cdh5.5.2]$ sbin/start-all.sh
(8).用jps命令查看相应进程
[hadoop@h153 hadoop-2.6.0-cdh5.5.2]$ jps
4416 SecondaryNameNode
4148 NameNode
4260 DataNode
4822 NodeManager
4954 Jps
4556 ResourceManager
2.zookeeper安装(运行模式为:集群伪分布模式)
说明:也可以使用hbase自带的zookeeper,而且启动一个zookeeper进程似乎就够用了。我这里是启动了三个zookeeper进程,模拟zookeeper集群。。。
(1).解压相应的zookeeper安装包
[hadoop@h153 ~]$ tar -zxvf zookeeper-3.4.5-cdh5.5.2.tar.gz
(2).编辑zoo1.cfg、zoo2.cfg、zoo3.cfg
[hadoop@h153 ~]$ vi zookeeper-3.4.5-cdh5.5.2/conf/zoo1.cfg
添加
tickTime=2000initLimit=10syncLimit=5clientPort=2181dataDir=/home/hadoop/zookeeper-3.4.5-cdh5.5.2/data1dataLogDir=/home/hadoop/zookeeper-3.4.5-cdh5.5.2/logsserver.1=h153:2887:3887server.2=h153:2888:3888server.3=h153:2889:3889
[hadoop@h153 ~]$ vi zookeeper-3.4.5-cdh5.5.2/conf/zoo2.cfg
添加
tickTime=2000initLimit=10syncLimit=5clientPort=2182dataDir=/home/hadoop/zookeeper-3.4.5-cdh5.5.2/data2dataLogDir=/home/hadoop/zookeeper-3.4.5-cdh5.5.2/logsserver.1=h153:2887:3887server.2=h153:2888:3888server.3=h153:2889:3889
[hadoop@h153 ~]$ vi zookeeper-3.4.5-cdh5.5.2/conf/zoo3.cfg
添加
tickTime=2000initLimit=10syncLimit=5clientPort=2183dataDir=/home/hadoop/zookeeper-3.4.5-cdh5.5.2/data3dataLogDir=/home/hadoop/zookeeper-3.4.5-cdh5.5.2/logsserver.1=h153:2887:3887server.2=h153:2888:3888server.3=h153:2889:3889
(3).创建目录
[hadoop@h153 ~]$ cd zookeeper-3.4.5-cdh5.5.2/
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ mkdir -pv data1 data2 data3 logs
(4).在zoo*.cfg中的dataDir指定的目录下,新建myid文件。
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ vi data1/myid
1
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ vi data2/myid
2
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ vi data3/myid
3
(5).启动zookeeper
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ bin/zkServer.sh start zoo1.cfg
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ bin/zkServer.sh start zoo2.cfg
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ bin/zkServer.sh start zoo3.cfg
(6).验证是否启动成功
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ bin/zkServer.sh status zoo1.cfg
JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo1.cfg
Mode: follower
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ bin/zkServer.sh status zoo2.cfg
JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo2.cfg
Mode: leader
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ bin/zkServer.sh status zoo3.cfg
JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo3.cfg
Mode: follower
注意:如果启动失败,可以查看生成的zookeeper.out查看原因
[hadoop@h153 zookeeper-3.4.5-cdh5.5.2]$ jps
4416 SecondaryNameNode
12352 QuorumPeerMain
4148 NameNode
4260 DataNode
12421 QuorumPeerMain
4822 NodeManager
12635 Jps
4556 ResourceManager
5165 QuorumPeerMain
3.hbase安装
(1).解压相应的hbase安装包
[hadoop@h153 ~]$ tar -zxvf hbase-1.0.0-cdh5.5.2.tar.gz
(2).修改hbase-env.sh
[hadoop@h153 ~]$ vi hbase-1.0.0-cdh5.5.2/conf/hbase-env.sh
添加
export JAVA_HOME=/usr/jdk1.8.0_91
export HBASE_MANAGES_ZK=false //不使用自带的zookeeper
(3).配置hbase-site.xml,创建用于存放数据的目录
[hadoop@h153 ~]$ vi hbase-1.0.0-cdh5.5.2/conf/hbase-site.xml
添加
<property> <name>hbase.rootdir</name> <value>hdfs://h153:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>h153</value> </property> <property> <name>zookeeper.session.timeout</name> <value>60000</value> </property>
(4).启动hbase
[hadoop@h153 hbase-1.0.0-cdh5.5.2]$ bin/start-hbase.sh
(5).hbase验证
[hadoop@h153 hbase-1.0.0-cdh5.5.2]$ jps
4416 SecondaryNameNode
12352 QuorumPeerMain
12946 Jps
4148 NameNode
4260 DataNode
12421 QuorumPeerMain
4822 NodeManager
12855 HRegionServer
12762 HMaster
4556 ResourceManager
5165 QuorumPeerMain
(6).启动shell命令验证
[hadoop@h153 hbase-1.0.0-cdh5.5.2]$ bin/hbase shell
hbase(main):001:0> list
TABLE
0 row(s) in 0.4270 seconds
(7).配置运行环境
[hadoop@h153 ~]$ vi .bash_profile
HADOOP_HOME=/home/hadoop/hadoop-2.6.0-cdh5.5.2HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopPATH=$HADOOP_HOME/bin:$PATHexport HADOOP_HOME HADOOP_CONF_DIR PATHexport CLASSPATH=.:/home/hadoop/hadoop-2.6.0-cdh5.5.2/etc/hadoop:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/common/lib/*:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/common/*:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/hdfs:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/hdfs/*:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/yarn/lib/*:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/yarn/*:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop-2.6.0-cdh5.5.2/share/hadoop/mapreduce/*:/home/hadoop/hadoop-2.6.0-cdh5.5.2/contrib/capacity-scheduler/*.jar:/home/hadoop/hbase-1.0.0-cdh5.5.2/lib/*[hadoop@h153 ~]$ source .bash_profile
- Hbase单机模式和伪分布式模式安装
- 【Hbase】单机模式与伪分布式模式安装
- hadoop单机模式和伪分布式模式安装过程
- hadoop单机模式和伪分布式模式安装过程
- hadoop单机模式和伪分布式模式安装过程
- 【HBase基础教程】1、HBase之单机模式与伪分布式模式安装
- HBase入门基础教程 HBase之单机模式与伪分布式模式安装
- HBase入门基础教程 HBase之单机模式与伪分布式模式安装
- Hadoop单机模式的伪分布式安装
- HBase运行模式:单机和分布式
- HBase安装步骤_伪分布式模式
- HBase安装配置之伪分布式模式
- HBase安装配置之伪分布式模式
- Hadoop单机伪分布式模式
- hbase单机模式安装
- HBase单机模式安装
- HBase单机/伪分布式安装/配置笔记
- Hbase单机模式安装和使用
- IVS.3D.Fledermaus.Professional.v7.0.1d.323.Linux.x64 1CD
- AB1601 PWM注意事项
- Django基础,Day10
- 网络层-4、IP地址和IP子网
- cookie 和 session 的区别localstorage
- Hbase单机模式和伪分布式模式安装
- so(3) se(3) optimization
- Makefile六条件语句
- handlebars获取json数据(集合对象中嵌套集合对象)each嵌套使用
- 非常好的Ansible入门教程(超简单)
- 使用tkinter,用直方图动画表示排序过程的python代码
- Butterknife深入剖析,自己实现Butterknife
- 支付宝(alipay)集成的注意事项
- OSPF LSA