Hbase集群搭建过程
 
本次Hbase集群搭建参考链接
https://blog.51cto.com/xiong51/2047261

 
一、搭建方案规划
 
1 集群节点信息
角色 IP 系统 内核数 内存 硬盘
Master 172.20.62.69 Centos6.8_64bit 4 4G 50G
Slave1 172.20.62.70 Centos6.8_64bit 4 4G 50G
Slave2 172.20.62.71 Centos6.8_64bit 4 4G 50G
 
2 集群规划
  Master Slave1 Slave2
HMaster
HRegionServer  
NameNode    
SecondaryNameNode    
ResourceManager    
NodeManager  
DataNode  
QuorumPeerMain
 
3 版本选择
jdk-8u77-linux-x64.rpm
zookeeper-3.4.9.tar.gz
hbase-1.3.1-bin.tar.gz
hadoop-2.7.4.tar.gz
 
下载链接: https://pan.baidu.com/s/1dFuBnKt 密码: rhwu
 
二、基本环境准备
 
1 系统信息
3台虚机系统: centos6.8 内核:4   内存:4G  硬盘:50G

2 更改主机名称,ip地址
vi /etc/sysconfig/network
三个节点分别更改为master,slave1,slave2

 
 
3 配置hosts文件,三台机器内容相同
 
cat /etc/hosts
 
 
reboot后都可ping通,表明配置成功
 

 
4 配置用户,三个节点都需要配置
 
groupadd -g 4000 hadoop useradd -g 4000 -u 4001 hadoop
 
cd /home 查看创建结果
 

 
5 集群的所有节点,hbase,zookeeper 安装目录都是/opt/hadoop
 
mkdir /opt/hadoop chown hadoop.hadoop /opt/hadoop/ -R
 
6 防火墙配置
 
集群三个节点都直接关闭防火请
service iptables stop
chkconfig iptables off
 
三、集群ssh互信
 
参考链接
https://www.cnblogs.com/20kuaiqian/p/11202330.html
 
部分操作如图
 

 
四、ntp时间同步
 
注意:集群启动之前要进行时间同步,默认要求不要超过 30s
 
教程
https://www.cnblogs.com/ouyanghuanlin/articles/11207797.html
 
1 查看服务器是否安装ntp
rpm -qa | grep ntp
没有安装的自行安装(yum install ntp ntpdate -y)
 
2 配置NTP服务为自启动
chkconfig ntpd on
查看是否配置成功
chkconfig --list | grep ntp

 

3 服务器操作(可选择master为服务器)
设置系统时间 date -s "2019/09/20 12:36:40"
同步硬件时间 clock --systohc
查看硬件时间 hwclock
查看系统时间 date
 
更改配置(如下四行代码注释掉,在下面再添加一行)
vim /etc/ntp.conf
 
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
server 127.127.1.0 iburst
 
启动ntpd
/etc/init.d/ntpd restart
 
查询网络中的NTP服务器,同时显示客户端和每个服务器的关系
ntpq -p


 
4 客户端操作(slave1和slave2)
 
关闭ntpd服务,因为后面要用到ntpdate,两者会冲突 /etc/init.d/ntpd stop
 
更改配置文件 vim /etc/ntp.conf
 
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
server 192.168.0.11 iburst
restrict 192.168.0.11 nomodify notrap noquery
 
同步服务器时间 ntpdate -u 172.20.62.69
同步硬件时间 clock --systohc
查看硬件时间 hwclock
查看系统时间 date
 
五、JDK配置
 
集群中三个节点都需要安装jdk,并配置环境变量
 
1 安装1.8.0_77的JDK
rpm -ivh jdk-8u77-linux-x64.rpm
 
查看JDK版本
java -version
 
2 设置环境变量
vim /etc/profile.d/java.sh
 


3 重新加载配置文件使之生效
source /etc/profile.d/java.sh
 
重启后查看版本 java -version
 


六、zookeeper集群配置
 
参考链接
http://blog.csdn.net/reblue520/article/details/52279486
 
1 安装zookeeper 
cd /opt/hadoop/ tar xf zookeeper-3.4.9.tar.gz
 
2 做软链接,修改配置
做软链接,配置文件直接指向这个地址,未来方便更新版本(选择性的)
ln -sv zookeeper-3.4.9 zookeeper
cd /opt/hadoop/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
cat zoo.cfg(更改配置)
一定要用netstat -ano查看端口占用,这里最终选择了2185



3 创建数据以及日志目录
mkdir /opt/hadoop/zookeeper/data
mkdir /opt/hadoop/zookeeper/logs
 
4 在zoo.cfg中的dataDir指定的目录下,新建myid文件。
在myid文件中输入1。表示为server.1。
echo "1" > data/myid   这里表示的是server.1  如果是第二个机器那么表示server.2
 
5 测试是否能够启动zookeeper
 
找到文件所在位置,进入目录后执行
cd /opt/hadoop/zookeeper
bin/zkServer.sh start 执行要找到文件所在位置,进入目录后执行
 


查看状态:bin/zkServer.sh status
 
Zookeeper自动选主
 


七、hadoop集群配置
 
1 master节点软件放置路径为初级配置的路径 /opt/hadoop
tar xf hadoop-2.7.4.tar.gz
ln -sv hadoop-2.7.4 hadoop
 
配置属主属组权限 
[root@master hadoop]# chown hadoop.hadoop /opt/hadoop/hadoop-2.7.4 -R
 


环境变量设置 
vim /etc/profile.d/hadoop.sh
 
export HADOOP_HOME=/opt/hadoop/hadoop export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin # export HADOOP_SSH_OPTS="-p 22"
 
2 复制到其它节点中
scp /etc/profile.d/hadoop.sh slave1:/etc/profile.d/ scp /etc/profile.d/hadoop.sh slave2:/etc/profile.d/
 
3 加载环境变量
source /etc/profile.d/hadoop.sh
 
查看是否生效
hadoop version



4 master节点操作
修改配置文件
 
hadoop配置文件在放置于/opt/hadoop/hadoop/etc/hadoop
 
(1)vim core-site.xml
 
<configuration>
<property>
<name>fs.default.name</name> <value>hdfs://master:9000</value>
</property>
</configuration>


(2)vim hadoop-env.sh
 
#export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/usr/java/default
 
(3)vim hdfs-site.xml # 配置hdfs文件数据节点以及名称节点
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/opt/hadoop/hadoop/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/hadoop/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>

mkdir /opt/hadoop/hadoop/name mkdir /opt/hadoop/hadoop/data
 
(3)cp mapred-site.xml.template mapred-site.xml
 
vim !$
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>

配置从节点
 
cd /opt/hadoop/hadoop/etc/hadoop/slaves
 


三台机器都是一样的配置,放置相同的路径
 
scp -r hadoop-2.7.4 slave1:/opt/hadoop/
scp -r hadoop-2.7.4 slave2:/opt/hadoop/
 
5 集群三个节点的操作
 
制作软链接
ln -sv /opt/hadoop/hadoop-2.7.4 /opt/hadoop/hadoop
 
配置属主属组文件
chown hadoop.hadoop /opt/hadoop/hadoop -R
 
6 启动hadoop
 
进入master的/opt/hadoop/hadoop目录,执行以下操作
bin/hadoop namenode -format # 格式化namenode,第一次启动服务前执行的操作,以后不需要执行
 
启动hadoop服务
sbin/start-all.sh
 


jps命令查看进程
master节点



slave节点
 


八、hbase集群配置
 
1 软件放置路径为初级配置的路径 /opt/hadoop
 
tar xf hbase-1.3.1-bin.tar.gz ln -sv hbase-1.3.1 hbase
 
2 配置文件目录 /opt/hadoop/hbase/conf
 
(1)vim hbase-env.sh
 
export JAVA_HOME=/usr/java/default/ export HBASE_CLASSPATH=/opt/hadoop/hadoop/etc/hadoop export HBASE_MANAGES_ZK=false # 不使用自带的zk,使用独立的zookeeper
 
(2)vim hbase-site.xml    # 配置站点信息

<configuration>
<property>
<name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.master</name>
<value>master</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2185</value> # 这里指的是zook的端口
</property>
<property>
<name>hbase.zookeeper.quorum</name> # 主机名一定要对应上 <value>master,slave1,slave2</value>
</property>
<property>
<name>zookeeper.session.timeout</name> # zook的session超时时长 <value>60000000</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
</configuration>

(3)vim regionservers# 配置从节点 一定要对应上
 
slave1 slave2
 
3 设置软链接,方便未来升级
ln -sv /opt/hadoop/hbase-1.3.1 /opt/hadoop/hbase
 
设置属主属组权限
chown hadoop.hadoop /opt/hadoop/hbase-1.3.1 -R
 
4 启动hbase
 
启动三台机器上的 hbase服务
/opt/hadoop/hbase-1.3.1/bin/start-hbase.sh
 
启动master上的hbase,其它机器上会自动启动
/opt/hadoop/hbase/bin/start-hbase.sh 
 
jps命令查看服务
master
3064 NameNode
3257 SecondaryNameNode
3417 ResourceManager
35597 Jps
2495 QuorumPeerMain
4495 HMaster
 
2866 DataNode
3347 HRegionServer
23380 NodeManager
23782 Jps
3672 HMaster
2492 QuorumPeerMain
 
进入hbase shell进行验证
/opt/hadoop/hbase/bin/hbase shell
 
web端查看Hbase集群信息
http://172.20.62.69:16010/master-status