HBase分布式部署
1、版本对应()

选用版本:hadoop-3.1.4 + hbase-2.3.4 + apache-zookeeper-3.5.9 + java version "1.8.0_181"
2、Hadoop分布式部署
2.1 部署计划

2.2 配置文件
core-site.xml是全局配置,hdfs-site.xml和mapred-site.xml分别是hdfs和mapred的局部配置。
core-default.html
fs.defaultFS
hdfs://test-194:8020
hadoop.tmp.dir
/home/hadoop/data/tmp/
io.file.buffer.size
4096
fs.trash.interval
10080
hdfs-site.xml
dfs.namenode.secondary.http-address
test-194:9868
dfs.namenode.http-address
test-194:9870
dfs.namenode.name.dir
file:///home/hadoop/data/namenodedatas
dfs.datanode.data.dir
file:///home/hadoop/data/datanodedatas
dfs.namenode.edits.dir
file:///home/hadoop/data/dfs/name-edits
dfs.namenode.checkpoint.dir
file:///home/hadoop/data/dfs/name
dfs.namenode.checkpoint.edits.dir
file:///home/hadoop/data/dfs/secondry-edits
dfs.replication
3
dfs.permissions.enabled
false
dfs.blocksize
134217728
hadoop-env.sh
export JAVA_HOME=/usr/local/jdk
export HADOOP_SSH_OPTS="-p 56789"
mapred-env.sh
export JAVA_HOME=/usr/local/jdk
mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.job.ubertask.enable
true
mapreduce.jobhistory.address
test-194:10020
mapreduce.jobhistory.webapp.address
test-194:19888
yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
mapreduce.map.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
mapreduce.reduce.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
yarn-site.xml
yarn.resourcemanager.hostname
test-194
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.vmem-check-enabled
false
yarn.nodemanager.pmem-check-enabled
false
workers
test-194
test-206
test-210
创建对应目录
mkdir -p /home/hadoop/data/tmp/
mkdir -p /home/hadoop/data/namenodedatas
mkdir -p /home/hadoop/data/datanodedatas
mkdir -p /home/hadoop/data/dfs/name-edits
mkdir -p /home/hadoop/data/dfs/name
mkdir -p /home/hadoop/data/dfs/secondry-edits
环境变量
export HADOOP_HOME=/home/hadoop
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
2.3 启动集群
(主节点上执行以下命令)
start-dfs.sh
start-yarn.sh
# 已过时mr-jobhistory-daemon.sh start historyserver
mapred --daemon start historyserver
停止集群
stop-dfs.sh
stop-yarn.sh
# 已过时 mr-jobhistory-daemon.sh stop historyserver
mapred --daemon stop historyserver
逐个启动
# 在主节点上使用以下命令启动 HDFS NameNode:
# 已过时 hadoop-daemon.sh start namenode
hdfs --daemon start namenode
# 在主节点上使用以下命令启动 HDFS SecondaryNamenode:
# 已过时 hadoop-daemon.sh start secondarynamenode
hdfs --daemon start secondarynamenode
# 在每个从节点上使用以下命令启动 HDFS DataNode:
# 已过时 hadoop-daemon.sh start datanode
hdfs --daemon start datanode
# 在主节点上使用以下命令启动 YARN ResourceManager:
# 已过时 yarn-daemon.sh start resourcemanager
yarn --daemon start resourcemanager
# 在每个从节点上使用以下命令启动 YARN nodemanager:
# 已过时 yarn-daemon.sh start nodemanager
yarn --daemon start nodemanager
#以上脚本位于$HADOOP_HOME/sbin/目录下。如果想要停止某个节点上某个角色,只需要把命令中的start 改为stop 即可。
检验节点
[root@test-194 ~]# jps
14627 SecondaryNameNode
14915 ResourceManager
15636 Jps
14405 DataNode
15447 JobHistoryServer
15033 NodeManager
14283 NameNode
[root@test-206 ~]# jps
5832 Jps
5611 NodeManager
5455 DataNode
[root@test-210 ~]# jps
21073 Jps
13201 DataNode
13663 NodeManager
3、Zookeeper部署
zookeeper:开源分布式协调服务框架,主要解决分布式系统中的一致性和数据管理问题。
本质上是分布式文件系统,适合存放小的文件(最好不超过1M),也可以理解为数据库(存放配置文件)。
端口号:详情
3888:选举Leader。
2888:集群内的机器通讯使用。(Leader使用此端口)
2181:对Client端提供服务的端口。
1、解压文件
[root@test-194 file]# tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /home/
2、同步时钟
[root@test-194 ~]# ntpdate time1.aliyun.com
[root@test-206 ~]# ntpdate time1.aliyun.com
[root@test-210 ~]# ntpdate time1.aliyun.com
3、zoo.cfg配置文件
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zookeeper/zkdatas
clientPort=2181
#保留多少个快照(默认3)
autopurge.snapRetainCount=3
#日志多久清理一次(默认1h)
autopurge.purgeInterval=1
#服务器集群地址
mid.1=node01:端口1:端口2
server.1=test-194:2888:3888
server.2=test-206:2888:3888
server.3=test-210:2888:3888
4、添加mid
#创建zkdatas目录
mkdir -p /home/zookeeper/zkdatas
echo 1 > /home/zookeeper/zkdatas/myid
5、启动zookeeper
#启动zookeeper
./bin/zkServer.sh start
#查看zookeeper状态
[root@test-194 zookeeper]# ./bin/zkServer.sh status
/usr/local/jdk/bin/java
ZooKeeper JMX enabled by default
Using config: /home/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
#从
Mode: follower
#主
Mode: leader
4、HBase部署
1、解压安装包
[root@test-194 file]# tar -zxvf hbase-2.3.4-bin.tar.gz -C /home/
2、配置文件
regionservers
test-194
test-206
test-210
hbase-env.sh
#jdk环境变量
export JAVA_HOME=/usr/local/jdk/
#不使用内置zookeeper
export HBASE_MANAGES_ZK=false
#ssh端口
export HBASE_SSH_OPTS="-p 56789"
hbase-site.xml
hbase.tmp.dir
./tmp
hbase.rootdir
hdfs://test-194:8020/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
test-194,test-206,test-210
hbase.zookeeper.property.dataDir
/home/zookeeper/zkDatas
hbase.master.port
16000
hbase.master.info.port
16010
the port for the hbase master web UI
set to -1 if you do not wan a UI instance run
制作Hadoop配置文件的软连接
ln -s /home/hadoop/etc/hadoop/core-site.xml /home/hbase/conf/core-site.xml
ln -s /home/hadoop/etc/hadoop/hdfs-site.xml /home/hbase/conf/hdfs-site.xml
3、启动HBase
/home/hbase/bin/start-hbase.sh
5、最终检验
[root@test-194 ~]# jps
12096 QuorumPeerMain
17314 Jps
16706 HMaster
14627 SecondaryNameNode
14915 ResourceManager
14405 DataNode
15447 JobHistoryServer
15033 NodeManager
16202 HRegionServer
14283 NameNode
[root@test-206 ~]# jps
4932 QuorumPeerMain
5911 HRegionServer
5611 NodeManager
6175 Jps
5455 DataNode
[root@test-210 ~]# jps
13201 DataNode
1188 Jps
3976 QuorumPeerMain
25914 HRegionServer
13663 NodeManager