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