下载安装包
zookeeper安装包
hbase安装包
网址:Apache HBase – Apache HBase Downloads
导入,安装,hbase和zookeeper
我这里使用mobaxterm导入虚拟机/opt/software/ 下
解压zookeeper
tar -zxvf /opt/software/apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local/src
解压hbase
tar -zxvf /opt/software/hbase-2.4.15-bin.tar.gz -C /usr/local/src
解压之后我这里重命名文件为,zookeeper,hbase,不这样做的记得环境变量配置要注意路径名
配置环境变量
cd /etc/profile #进入环境变量文件
#添加下列环境变量
export HBASE_HOME=/usr/local/src/hbase
export PATH=$HBASE_HOME/bin:$PATH
export ZOOKEEPER_HOME=/usr/local/src/zookeeper
export PATH=$PATH:${ZOOKEEPER_HOME}/bin
source /etc/profile
#刷新环境变量
修改配置文件
配置zookeeper
因为我这里要让hbase不使用自带的zookeeper,所以我们先配置zookeeper
cd /usr/local/src/zookeeper #进入到zookeepr目录下
mkdir data && mkdir logs #创建data,logs文件夹
echo 1 > /usr/local/src/zookeeper/data/myid
#创建myid并写入编号‘1’
cp /usr/local/src/zookeeper/conf/zoo_sample.cfg /usr/local/src/zookeeper/conf/zoo.cfg
#复制一份并重命名为zoo.cfg
vi /usr/local/src/zookeeper/conf/zoo.cfg #进入配置文件
#修改如下配置
dataDir=/usr/local/src/zookeeper/data
#在文章结尾添加如下:
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
chown -R hadoop:hadoop /usr/local/src/zookeeper #修改zookeeper归属为hadoop用户
ps:这里修改是因为我配置大数据集群需要,如果没有这方面的跳过这步骤
复制zookeeper目录到集群中的其他虚拟机
这里我使用xsync脚本实现传送文件,需要的可以查看我之前的文章中配置脚本过程
集群配置,hadoop配置过程,细节满满_hadoop集群过程中文件配置的过程_酥悲清风的博客-CSDN博客
sh xsync /usr/local/src/zookeeper #这个命令一定要手打一遍,复制会导致错误
配置hbase
修改./habase/conf/ 下hbase-env.sh文件
修改./habase/conf/ 下hbase-site.xml文件
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/local/src/hbase/tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
修改./habase/conf/ 下regionservers文件
删除localhost,添加除master结点以外结点机器名
chown -R hadoop:hadoop /usr/local/src/hbase #修改hbase归属为hadoop用户
同步hbase到其他虚拟机
sh xsync /usr/local/src/hbase
启动hbase
启动hadoop
start-all.sh
jps #查看hadoop是否启动完全
启动zookeeper(在三台电脑上分别启动zookeeper)
zkServer.sh start
jps #查看是否有QuorumPeerMain进程
#启动后会在/usr/local/src/zookeeper/data/ 下生成zookeeper_server.pid文件,它的用户归属为root,所以下一次启动是会报错权限不够,所以要在第一次启动后重新修改zookeeper用户归属
chown -R hadoop:hadoop /usr/local/src/zookeeper
启动hbase(在master,主结点上启动)
chown -R hadoop:hadoop /usr/local/src/hbase
启动之前确保文件中没有用户归属是root的文件
start-hbase.sh
jps
#查看是否有HMaster进程
#查看其他结点是否有HRegionServer进程
如果你做了映射
那么就进入master:60010,查看是否有正确web端界面
如果没有进入 你自己的ip地址 192.168.10.100:60010,查看是否有正确web端界面
关闭流程
关闭hbase,zookeeper
stop-hbase.sh
zkServer.sh stop
stop-all.sh
错误检测
- 查看安全模式
hdfs dfsadmin -safemode get
- 进入安全模式状
hdfs dfsadmin -safemode enter
- 离开安全模式
hdfs dfsadmin -safemode leave