1.准备工作
经过几次测试以及探索,最终采用了各版本如下:
apache-zookeeper-3.5.7-bin.tar.gz
hadoop-2.8.5.tar.gz
hbase-2.2.3-bin.tar.gz
jdk-8u201-linux-x64.tar.gz
以上版本直接从Apache的官网可以下载,至于为什么选择这样的版本。
1.zookeeper版本不依赖hbase和hadoop版本,使用最新的稳定版本即可
2.hbase版本可能依赖hadoop版本,所以先下载hbase稳定版本后解压,在lib文件夹中可以找到该版本的hbase支持的hadoop版本,然后去官网下载即可。
3.笔者选择了4个虚拟机
192.168.18.128 slave01 (zookeeper+hbase)
192.168.18.129 slave02 (zookeeper+hbase)
192.168.18.130 master (hadoop+hbase)
192.168.18.131 slave03 (zookeeper+hbase)
4.准备好shell工具,笔者使用的是MobaXterm.exe
5.centos7-x64镜像
2.安装配置
1)先启动一个虚拟机,使用shell工具将zookeeper,hadoop,hbase,jdk上传到 /softwares(需要创建 mkdir /softwares)
2)映射IP地址(每个主机都要映射,笔者稍后会使用虚拟机的克隆)
vi /etc/hosts
为避免出现错误,请将原来的第一行注释或者删除,类似下图
127.0.0.1 localhost localhost.domain
3)安装JDK,需要先创建 mkdir /opt/modules
cd /softwares
tar -zxf jdk-8u201-linux-x64.tar.gz -C /opt
4)设置JDK环境变量
vi /etc/profile
在文件末尾追加
5)配置zookeeper
先解压zookeeper, 在softwares目录下执行下面命令
tar -zxf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/modules
进入zookeeper解压目录,将conf/zoo.sample.cfg修改成zoo.cfg
cd /opt/modules/apache-zookeeper-3.5.7-bin
cp conf/zoo.sample.cfg conf/zoo.cfg
创建zkData并进入该目录,执行pwd,复制该路径
mkdir zkData
cd zkData
pwd
打开zoo.cfg,dataDir=(刚刚复制的路径),末尾追加zookeeper集群的信息
cd ../conf
vi zoo.cfg
在zkData目录下新建myid文件并赋值1 (slave01--1 slave02 --2 slave03--3 主机名对应的myid数值)`
cd ../zkData
touch myid
vi myid
关闭防火墙
systemctl stop firewalld.service
6)克隆,关闭虚拟机
右击选中管理==》克隆
选择名称以及位置点击“完成”,等待
7)修改/opt/modules/apache-zookeeper-3.5.7-bin/zkData/myid
8)配置hadoop
选一个已经配置zookeeper的虚拟机,启动并删除zookeeper文件目录
解压hadoop压缩包
tar -zxf hadoop-2.8.5.tar.gz -C /opt/modules
配置/opt/modules/hadoop-2.8.5/etc/hadoop/hadoop-env.sh,修改JAVA_HOME=
在hadoop根目录下创建 data/tmp目录
配置/opt/modules/hadoop-2.8.5/etc/hadoop/core-site.xml
配置/opt/modules/hadoop-2.8.5/etc/hadoop/hdfs-site.xml
配置/opt/modules/hadoop-2.10.0/etc/hadoop/slaves
hadoop根目录执行下面命令
bin/hdfs namenode -format
启动
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
查看进程jps
出现Jps DataNode NameNode三个进程
远程访问页面:192.168.18.130:50070
9)配置hbase
解压
tar -zxf hbase-2.2.3.tar.gz -C /opt/modules
修改/opt/modules/hbase-2.2.3/conf/hbase-env.sh
修改/opt/modules/hbase-2.2.3/conf/regionservers
配置/opt/modules/hbase-2.2.3/conf/hbase-site.xml
在hbase根目录下新建data/tmp目录
分发hbase到zookeeper集群,需要shell免密,每台主机都需要安装ntp,同步虚拟机时间!!!
shell免密以及安装并启动ntp请自行百度
分发命令
scp -r /opt/modules/hbase-2.2.3 slave01:/opt/modules/
scp -r /opt/modules/hbase-2.2.3 slave02:/opt/modules/
scp -r /opt/modules/hbase-2.2.3 slave03:/opt/modules/
10)启动hbase
先启动zookeeper集群,在zookeeper根目录下执行下面命令
slave01,slave02,slave03都执行(笔者是个新手,不会shell全部启动)
bin/zkServer.sh start
再启动hadoop,hadoop根目录执行(前面已经启动过的,可以跳过)
master主机
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
最后启动hbase,hbase根目录执行
bin/start-hbase.sh
11)查看hbase是否启动
192.168.18.130:16010
出现下面页面说明启动成功,如果报错请查看日志文件注意排除