Bootstrap

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