centos7搭建hbase集群实验(三节点)
学习内容:
详细步骤
1、配置虚拟机静态ip
2、配置免密连接登录
3、java安装及环境配置
4、zookeeper集群安装配置
5、hadoop集群安装配置
6、hbase集群安装配置
一、配置虚拟机静态ip,并能上网
centos7的网络IP地址配置文件在 /etc/sysconfig/network-scripts 文件夹下,修改的配置文件为ifcfg-ens**,可能ifcfg-ens之后的编号不同,我这里是ifcfg-ens33。
[root@localhost opt]# cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]# ls
ifcfg-ens33 ifdown-ippp ifdown-routes ifup ifup-ipv6 ifup-ppp ifup-tunnel
ifcfg-lo ifdown-ipv6 ifdown-sit ifup-aliases ifup-isdn ifup-routes ifup-wireless
ifdown ifdown-isdn ifdown-Team ifup-bnep ifup-plip ifup-sit init.ipv6-global
ifdown-bnep ifdown-post ifdown-TeamPort ifup-eth ifup-plusb ifup-Team network-functions
ifdown-eth ifdown-ppp ifdown-tunnel ifup-ippp ifup-post ifup-TeamPort network-functions-ipv6
使用vi编辑如下,每台虚拟机配置不同的静态ip地址(node01为例):
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static# 使用静态IP地址,默认为dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=85c8078f-70e6-4f0f-b7f0-feee105d0e45
DEVICE=ens33
ONBOOT=yes# 是否开机启用,默认为no
IPADDR=192.168.80.150# 设置的静态IP地址
GATEWAY=192.168.80.2 # 网关地址
NETMASK=255.255.255.0# 子网掩码
然后使用service network restart命令即可配置静态IP地址。
service network restart
使用ip addr命令查看ip配置。
ip addr
结果如下:
[root@localhost network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:1c:b4:5a brd ff:ff:ff:ff:ff:ff
inet 192.168.80.150/24 brd 192.168.80.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::28c5:ca57:60cf:39bc/64 scope link noprefixroute
valid_lft forever preferred_lft forever
重新修改每台主机的主机名并配置相应的IP地址映。每台虚拟机都要进行这些修改。
使用hostnamectl set-hostname xxx命令修改主机名。主机名中间不要添加特殊符号,包括“_”。
//永久性的修改主机名称,重启后能保持修改后的。
hostnamectl set-hostname xxx
使用hostname命令查看主机名。
[root@localhost network-scripts]# hostname
node01
我这里三台虚拟机分别修改为修改为node01,node02,node03。
接下来配置相应的IP地址映。
使用 vi /etc/hosts命令配置。
vi /etc/hosts
配置如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.80.150 node01
192.168.80.151 node02
192.168.80.152 node03
修改resolv.conf配置文件
vi /etc/resolv.conf
添加
[root@node01 network-scripts]# cat /etc/resolv.conf
#generated by NetworkManager
nameserver 8.8.8.8
search localdomain
二、配置免密连接登录
使用root用户登录,进入到目录/root/.ssh。
cd /root/.ssh
执行命令:ssh-keygen -t rsa。
ssh-keygen -t rsa
一路回车,完成后会在目录/root/.ssh下面生成文件 id_rsa和id_rsa.pub
[root@localhost .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
将公钥写入文件authorized_keys。
cat id_rsa.pub >> authorized_keys
对每台虚拟机都进行这些操作,直到要免密登录的所有机器都生成了id_rsa和id_rsa.pub文件和authorized_keys,最后将其他机器的公钥拷贝到第一台机器authorized_keys文件中。
ssh-copy-id -i ~/.ssh/id_rsa.pub root@要拷贝到的机器ip
将第一台机器的authorized_keys复制到其他机器
scp /root/.ssh/authorized_keys 其他虚拟机ID或者IP:/root/.ssh/
这样就可以实现免密连接了。使用ssh命令进行连接。exit命令退出。
[root@localhost .ssh]# ssh node02
Last login: Tue Sep 29 07:29:03 2020 from node01
[root@node02 ~]# exit
登出
Connection to node02 closed.
三、java安装及环境配置
首先下载java,我这里提供一个百度云盘的链接,下载下来里面有hbase集群涉及到的大部分安装压缩包(Hadoop、zookeeper、hbase、Kafka压缩包)。上面的版本号是可用的,有些不同的版本不兼容,
例如jdk1.7和Hadoop3.3会出现编译错误。
例如zookeeper从目前的最新版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。
(以上这些都是踩的坑)
百度云链接
提取码:jdk8
将下下来的jdk压缩包上传到虚拟机上。我这里放在/opt目录下。
使用tar -zxvf jdk-8u261-linux-x64.tar.gz命令解压压缩包。
tar -zxvf jdk-8u261-linux-x64.tar.gz
解压成功后如下:
[root@node01 opt]# ls
apache-zookeeper-3.6.2 hadoop-3.3.0.tar.gz jdk1.7.0_80 jdk-8u261-linux-x64.tar.gz
apache-zookeeper-3.6.2.tar.gz hbase-2.3.2 jdk1.8.0_261 kafka_2.8.0-0.8.0-beta1
hadoop-3.3.0 hbase-2.3.2-bin.tar.gz jdk-7u80-linux-x64.tar.gz kafka_2.8.0-0.8.0-beta1.tgz
接下来配置Java环境变量。
使用vim /etc/profile命令编辑文件/etc/profile。
vim /etc/profile
在末尾添加如下内容
export JAVA_HOME=/opt/jdk1.8.0_261 #解压后的java文件地址
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使用source /etc/profile命令使环境变量生效,并使用java -version命令查看是否配置完成。
[root@localhost opt]# source /etc/profile
[root@localhost opt]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
使用scp -r jdk1.7.0_80/ 其他虚拟机ID:/opt/将解压后的java文件传到其他的虚拟机上,并配置相应的环境。操作同上,也可以直接把/etc/profile传到其他虚拟机上面,然后使环境变量生效。
scp -r jdk1.8.0_261/ node02:/opt/
scp -r jdk1.8.0_261/ node03:/opt/
四、zookeeper集群安装配置
将下载好的Hadoop、zookeeper、hbase、Kafka压缩包全部上传至/opt