鸣谢——核心参考
1. 【linux】在三台阿里云服务器上搭建hbase集群(centos7)
2. 【linux】HBase配置web界面
前言
【前置条件】:【服务器】阿里云ECS上搭建Hadoop集群环境——设置(伪分布式)Hadoop安装
一、Hbase安装步骤:
【说明】:以下无特殊说明都是在master端执行
【说明】:以下无特殊说明都是在master端执行
【说明】:以下无特殊说明都是在master端执行
1.准备Hbase文件
cd ~ #master端进入根目录
#1.解压文件(默认,资源本地上传到阿里云——看我主页里的FileZilla搭建)
tar -zxvf /home/test/Downloads/hbase-1.5.0-bin.tar.gz -C /home/test/install/
#2.复制hadoop制定文件到hbase(注意,区别路径)
cp /home/test/install/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml /home/test/install/hbase-1.2.0-cdh5.14.0/conf/
cp /home/test/install/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml /home/test/install/hbase-1.2.0-cdh5.14.0/conf/
2.编辑配置文件
【说明】以下地址填自己的,我的目录名“/home/test/install/hbase-1.2.0-cdh5.14.0/”
【说明】以下地址填自己的,我的目录名“/home/test/install/hbase-1.2.0-cdh5.14.0/”
【说明】以下地址填自己的,我的目录名“/home/test/install/hbase-1.2.0-cdh5.14.0/”
0.进入对应目录
cd /home/test/install/hbase-1.2.0-cdh5.14.0/conf/ #hbase下的conf
1.hbase-env.sh
2.hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/test/install/hbase-1.2.0-cdh5.14.0/zookeeper</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.thrift.support.proxyuser</name>
<value>true</value>
</property>
<property>
<name>hbase.regionserver.thrift.http</name>
<value>true</value>
</property>
</configuration>
#:wq退出,并为上述配置,在命令行添加文件夹
cd /home/test/install/hbase-1.2.0-cdh5.14.0/
mkdir zookeeper
3.vim regionservers
4.配置环境变量
#4.配置环境
vim /etc/profile
#4.2输入如下配置
export HBASE_HOME=/home/test/install/hbase-1.2.0-cdh5.14.0 #你的hbase目录所在
export PATH=$PATH:$HBASE_HOME/bin
#4.3输入:wq后,再输入更新配置
source /etc/profile
【说明】完整的操作流程:
cd /home/test/install/hbase-1.2.0-cdh5.14.0/conf/ #进入你安装的hbase路径下的conf文件夹
#1.hbase-env.sh
vim hbase-env.sh #java_home那个变量前的注释也要去掉
#1.2文件内容,见上述图片
#2.hbase-site.xml
vim hbase-site.xml
#2.1文件代码,如下,
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/test/install/hbase-1.2.0-cdh5.14.0/zookeeper</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.thrift.support.proxyuser</name>
<value>true</value>
</property>
<property>
<name>hbase.regionserver.thrift.http</name>
<value>true</value>
</property>
</configuration>
#2.2:wq退出,并为上述配置,在命令行添加文件夹
cd /home/test/install/hbase-1.2.0-cdh5.14.0/
mkdir zookeeper
#3.regionservers
cd /home/test/install/hbase-1.2.0-cdh5.14.0/conf
vim regionservers #添加,master、slave1与slave2,如上图
#4.配置环境
vim /etc/profile
#4.2输入如下配置
export HBASE_HOME=/home/test/install/hbase-1.2.0-cdh5.14.0 #你的hbase目录所在
export PATH=$PATH:$HBASE_HOME/bin
#4.3输入:wq后,再输入更新配置
source /etc/profile
3.复制master文件到slave文件
cd /home/test/install/
tar -zcvf ~/hbase.master.tar.gz ./hbase-1.2.0-cdh5.14.0/
cd ~ #进入根目录(就是压缩文档所在)
scp ./hbase.master.tar.gz root@slave1:/home/test/Downloads/
```
```powershell
cd /home/test/Downloads/
tar -zxvf ./hbase.master.tar.gz -C /home/test/install
vim /etc/profile #同master端,两个slave端都要
二、检测hbase启动环境
1.Hadoop状态:
2.zookeeper状态:
#1.关闭dfs的关闭安全模式[每个服务器都要]
cd /home/test/install/hadoop-2.6.0-cdh5.14.0 #就是你输入:echo $HADOOP_HOME的地址
hdfs dfsadmin -safemode leave #hadoop dfsadmin -safemode enter是开启dfs安全模式
hadoop dfsadmin -safemode get #查看dfs的安全模式状态
#2.仅Maser端启动hadoop
cd /home/test/install/hadoop-2.6.0-cdh5.14.0 #就是你输入:echo $HADOOP_HOME的地址
sbin/start-all.sh #启动所有结点,#$HADOOP_HOME/sbin/stop-all.sh关闭hadoop所有结点
#2.3启动jobhistory
sbin/mr-jobhistory-daemon.sh start historyserver
#查看结点运行状态
hdfs dfsadmin -report
#3.三个服务器都要启动zookeeper[下面指令都在同一个目录]
#3.1进入,zookeeper的bin目录
cd /home/test/install/zookeeper-3.4.5-cdh5.14.0/bin
#3.2三个服务器端都要启动服务
./zkServer.sh start #./zkServer.sh stop该命令用于关闭zookeeper服务
#3.3一定得所有zookeeper服务都显示“started”后,查看zookeeper状态[每个服务器都要看一下]
./zkServer.sh status #!!!一定得所有zookeeper服务都显示“started”后,才能输入
启动hbase
1.(仅Master端)启动hbase进程
#4.上述都正常启动后,Master端
cd /home/test/install/hbase-1.2.0-cdh5.14.0/bin/
#4.1启动
start-hbase.sh #若出现停顿,则敲一下回车,如果没提示让你输入密码,则输入此命令再启动一次
./hbase-daemon.sh start regionserver RegionServer
hbase-daemon.sh start thrift #启东thrift,服务于hue
#4.2查看状态,会出现“HMaster”与“HRegionServer”
jps #若,HMaster未出现,则再次stop Hbase,之后再重启
#4.3进入hbase shell编辑
hbase shell
status #查看状态
#停止,Master端
cd /home/test/install/hbase-1.2.0-cdh5.14.0/bin
stop-hbase.sh
./hbase-daemon.sh stop regionserver RegionServer
【结果】
2.启动hbase的WebUI
问题Bugs描述
【问题-1】master: Connection closed by 172.16.1.8 port 22
【思路一】:检查软件兼容性,如果不符合的话就重配吧
【思路二】:软件兼容性没问题,尝试修正hbase-site.xml增加配置
#进入自己的hbase配置所在目录
cd /home/test/install/hbase-1.5.0/conf
vim hbase-site.xml
#检查各机器的hbase-site.xml中是否有,下面代码块
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
#重新启动hbase服务
cd /home/test/install/hbase-1.5.0 #自己安装hbase目录
start-hbase.sh
【问题-2】Hbase启动时,不让输入master密码,提示:“password: master: Permission denied, please try again.”
【思路】:关闭hbase服务,重新开始启动hbase
【问题-3】卸载原有版本的hbase且安装新的匹配hbase版本后,启动hbase提示:java.io.FileNotFoundException: /home/test/install/hbase-2.2.3/lib/hadoop-common-2.8.5.jar (No such file or directory)
【思路】:检查对应的文件夹下是否,依旧保留之前安装的软件目录(必须确保自己是否删除完全),若确认完全删除,则在此开启hbase即可
#重新启动hbase服务
cd /home/test/install/hbase-1.5.0 #自己安装hbase目录
start-hbase.sh
【问题-3】Hbase启动后,自动关闭,查看log提示:“org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /hbase/.tmp/hbase.version could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation.”
【思路】:dataNote未开启,查看对应log目录,提示:java.io.IOException: Incompatible clusterIDs in /home/test/install/hadoop-2.6.0-cdh5.14.0/tmp/dfs/data: namenode clusterID = CID-cc481aad-2549-44db-8ad6-928dd3c27c69; datanode clusterID = CID-6d41bb77-6129-44b1-94b9-9fb0fa0fc817(实际操作方法·链接)