Centos7.9.2009离线部署CDH5.14.2.3 hbase集群

安装环境及所需软件包

  • CentOS Linux release 7.9.2009 (Server with GUI)
  • Cloudera manager安装包
    • cloudera-manager-centos7-cm5.14.2_x86_64.tar.gz
  • CDH5.14.2.3安装包
    • CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel
    • CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha
    • manifest.json
  • MySQL安装包
    • mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
  • MySQL jdbc驱动
    • mysql-connector-java.tar.gz
  • Oracle JDK
    • jdk-8u201-linux-x64.rpm

Cloudera官方从2021年1月31日开始,所有Cloudera软件都需要有效的订阅,并且只能通过付费墙进行访问。为此网上很多教程使用的官方下载链接,目前访问都提示需要输入账号密码验证,而没有订阅Cloudera账户登录会提示403无权限。对于6.3.3之前的社区版也下载不了,只能找已经下载过的朋友拿安装包了~~~

环境准备

拟配置三台机器的hbase CDH集群,设计如下

机器名IP地址
hbase1192.168.1.100
hbase2192.168.1.101
hbase3192.168.1.102
集群内机器(所有节点),都需要执行以下操作。

1.修改网络配置和主机名

若安装Centos7系统时普通用户没有管理员权限,则需要切换到root用户下才可以正常配置。

vi /etc/sysconfig/network
# 添加如下内容
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=hbase1 # 其他两台机器对应修改机器名称
NTPSERVERARGS=iburst

vi /etc/hostname
hbase1 # 其他两台机器对应修改机器名称

2.取消网卡关于IPv6的相关配置

注意:cdh集群需要禁止ipv6,不禁止会导致集群机器通信问题。

不同机器安装Centos7系统后网卡名称不同,所以在/etc/sysconfig/network-scripts/目录下存在的网卡配置文件不同,请编辑要使用的网卡配置文件,将以下默认IPv6配置注释。

# IPV6_AUTOCONF=yes
# IPV6_DEFROUTE=yes
# IPV6_FAILURE_FATAL=no
# IPV6_ADDR_GEN_MODE=stable-privacy

3.关闭防火前和selinux

①关闭防火墙

systemctl stop firewalld # 关闭防火墙
systemctl disable firewalld # 禁用防火墙

②关闭selinux

vi /etc/sysconfig/selinux

将SELINUX=enforcing
修改为SELINUX=disabled

4.修改主机名映射

vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.100	hbase1
192.168.1.101	hbase2
192.168.1.102	hbase3

5.禁用IPv6

echo "#禁用IPv6   " >> /etc/modprobe.d/tuned.conf
echo "alias net-pf-10 off" >> /etc/modprobe.d/tuned.conf 
echo "alias ipv6 off" >> /etc/modprobe.d/tuned.conf

tail /etc/modprobe.d/tuned.conf #查看是否追加成功

6.关闭透明大主题

临时关闭透明大主题(立即生效)

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled 

如果要永久生效,需要将这两条命令放到一个脚本内,再将脚本启动命令写入到/etc/rc.local文件
查看是否已经关闭

cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled

7.修改swappiness

sysctl -w vm.swappiness=10 # 临时生效
echo "vm.swappiness=10" >> /etc/sysctl.conf # 重启后永久生效

8.操作系统语言使用英文(UTF8)

# 查看操作系统系统语言
echo $LANG

# 修改操作系统系统语言
vim /etc/locale.conf
LANG="en_US.UTF-8"

9.配置集群内机器免密码登录

①分别在三台机器上执行

ssh-keygen -t rsa

三次回车后生成新的公钥(id_rsa.pub)私钥(id_rsa)文件。
②在hbase1上复制公钥

cd ~/.ssh/
cp id_rsa.pub authorized_keys

# 下面的命令是把其他主机的公钥复制到本机
ssh-copy-id -i /root/.ssh/id_rsa.pub root@hbase1 # 添加hbase1自身公钥
ssh-copy-id -i /root/.ssh/id_rsa.pub root@hbase2
ssh-copy-id -i /root/.ssh/id_rsa.pub root@hbase3

③拷贝authorized_keys到hbase2和hbase3

scp /root/.ssh/authorized_keys hbase2:/root/.ssh/
scp /root/.ssh/authorized_keys hbase3:/root/.ssh/

安装Oracle JDK

集群内机器(所有节点),都需要执行以下操作。

1.卸载原有JDK

[root@hbase1 .ssh]# rpm -qa|grep java
java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
tzdata-java-2020a-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
[root@hbase1 .ssh]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 tzdata-java-2020a-1.el7.noarch java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64

2.安装Oracle JDK

rpm -ivh jdk-8u201-linux-x64.rpm

3.验证是否安装成功

[root@hbase1 Downloads]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

4.添加环境变量

/etc/profile最后添加以下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=/usr/java/jdk1.8.0_201-amd64/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

5.生效环境变量

source /etc/profile

配置时间同步

yum install –y ntp # 安装ntp服务
systemctl start ntpd # 开启ntp服务器
chkconfig ntpd on # 配置ntp服务开机自启动

安装MySQL

安装数据库操作仅需在主节点进行,可以根据需要多配置一个数据库进行主从备份

1.删除系统自带的mariadb

[root@hbase1 Downloads]# rpm -qa|grep mariadb # 查询mariadb包名称
mariadb-libs-5.5.68-1.el7.x86_64
[root@hbase1 Downloads]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 # 卸载软件包

2.tar命令解压安装包

[root@hbase1 Downloads]#  tar -xvf mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
mysql-community-client-5.7.32-1.el7.x86_64.rpm
mysql-community-common-5.7.32-1.el7.x86_64.rpm
mysql-community-devel-5.7.32-1.el7.x86_64.rpm
mysql-community-embedded-5.7.32-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.32-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.32-1.el7.x86_64.rpm
mysql-community-libs-5.7.32-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm
mysql-community-server-5.7.32-1.el7.x86_64.rpm
mysql-community-test-5.7.32-1.el7.x86_64.rpm

3.按顺序安装rpm包

rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm

4.配置数据库

编辑/etc/my.cnf文件,在[mysqld]下面添加这两行

skip-grant-tables
character_set_server=utf8

skip-grant-tables:跳过登录验证
character_set_server=utf8:设置默认字符集UTF-8

5.启动MySQL服务

systemctl start mysqld.service

6.设置一个简单密码

mysql # 无密码连接mysql
update mysql.user set authentication_string=password('123456') where user='root'; # 设置mysql密码为123456
flush privileges; # 立即生效密码

7.关闭MySQL服务

systemctl stop mysqld.service

8.修改数据库配置

编辑/etc/my.cnf文件,在[mysqld]下面添加这几行,修改默认密码规则

validate_password_policy=0
validate_password_length=0
validate_password_mixed_case_count=0
validate_password_number_count=0
validate_password_special_char_count=0

validate_password_policy:设置密码策略
validate_password_length:设置密码最小长度
validate_password_mixed_case_count:设置密码需要包含大小写得数量
validate_password_number_count:设置密码需要包含数字的数量
validate_password_special_char_count:设置密码需要包含特殊字符得数量

9.再次启动MySQL服务

systemctl start mysqld.service # 启动mysql服务
mysql -uroot -p123456 # 登录mysql
set password=password('123456'); # 重设密码,否则无法输入其他命令
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; # 开启远程登录,这里密码还是设置为123456
flush privileges; # 立即生效

10.创建必备数据库

mysql -uroot -p123456
create database if not exists amon default charset utf8 collate utf8_general_ci; 
create database if not exists rman default charset utf8 collate utf8_general_ci; 
create database if not exists nav default charset utf8 collate utf8_general_ci; 
create database if not exists navms default charset utf8 collate utf8_general_ci;
create database if not exists hue default charset utf8 collate utf8_general_ci;
create database if not exists sentry default charset utf8 collate utf8_general_ci; 
create database if not exists cm default charset utf8 collate utf8_general_ci;
create database if not exists reports default charset utf8 collate utf8_general_ci;
create database if not exists hive;
create database if not exists oozie; 
grant all on hive.* to 'hive'@'%' identified by 'hive' with grant option; 
grant all on oozie.* to 'oozie'@'%' identified by 'oozie' with grant option; 
grant all on hue.* to 'hue'@'%' identified by 'hue' with grant option; 
grant all on amon.* to 'amon'@'%' identified by 'amon' with grant option; 
grant all on rman.* to 'rman'@'%' identified by 'rman' with grant option; 
grant all on nav.* to 'nav'@'%' identified by 'nav' with grant option; 
grant all on navms.* to 'navms'@'%' identified by 'navms' with grant option;
grant all on sentry.* to 'sentry'@'%' identified by 'sentry' with grant option; 
grant all on reports.* to reports @'%' identified by 'reports' with grant option; 
grant all on cm.* to 'cm'@'%' identified by 'cm' with grant option;  
grant all on *.* to reports @'%' identified by '*' with grant option; 
flush privileges;

安装Cloudera Manager

以下操作在hbase1机器上执行

1.解压cloudera-manager安装包到/opt目录

mkdir /opt
 tar -zxf cloudera-manager-centos7-cm5.14.2_x86_64.tar.gz -C /opt # 解压安装包

2.拷贝MySQL驱动jar包

tar -xvf mysql-connector-java.tar.gz
cd mysql-connector-java-5.1.49
mv mysql-connector-java-5.1.49.jar mysql-connector-java.jar # 重命名jar包
cp mysql-connector-java.jar /usr/share/java/ # 拷贝jar包到java共享目录下
scp /usr/share/java/mysql-connector-java.jar hbase2:/usr/share/java/ # 同步jar包到hbase2
scp /usr/share/java/mysql-connector-java.jar hbase3:/usr/share/java/ # 同步jar包到hbase3
cp mysql-connector-java-5.1.49-bin.jar /opt/cm-5.14.2/share/cmf/lib/ # 拷贝bin jar包到cloudera目录

3.创建用户

sudo useradd --system --home=/opt/cm-5.14.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

4.初始化scm数据库

/opt/cm-5.14.2/share/cmf/schema/scm_prepare_database.sh mysql -h localhost -uroot -p123456 --scm-host localhost scm root 123456

5.配置Agent

vi /opt/cm-5.14.2/etc/cloudera-scm-agent/config.ini

# 将server_host=localhost改为:
server_host=hbase1

6.配置Parcel目录

mkdir -p /opt/cloudera/parcel-repo/

CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcelCDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.shamanifest.json拷贝进去。

7.同步/opt目录到hbase2和hbase3

scp -r /opt hbase2:/
scp -r /opt hbase3:/

hbase2hbase3两台机器上分别再执行

useradd --system --home=/opt/cm-5.14.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm # 创建cloudera-scm用户

安装Cloudera集群

1.启动集群

hbase1上执行

/opt/cm-5.14.2/etc/init.d/cloudera-scm-server start # 启动服务端
/opt/cm-5.14.2/etc/init.d/cloudera-scm-agent start # 启动agent

hbase2hbase3上都执行

/opt/cm-5.14.2/etc/init.d/cloudera-scm-agent start # 启动agent

2.浏览器访问7180端口

初始账号密码均为admin,可通过http://192.168.1.100:7180访问,若成功启动,则会有如下页面:
在这里插入图片描述
登录账户
在这里插入图片描述
勾选接收许可条款和条件,然后点击继续

在这里插入图片描述
选择免费的许可证,然后点击继续
在这里插入图片描述
点击继续
在这里插入图片描述

选择当前管理的主机,若所有主机的agent服务都启动成功,应该可以看到三台主机,勾选所有主机,然后点击继续开始进行集群安装
在这里插入图片描述
勾选识别到的CDH版本,然后点击继续安装

在这里插入图片描述
在这里插入图片描述
若安装全部完成,则会出现继续按钮,点击继续进行下一步,会进行主机检查,如果主机正常,则会出现如下界面
在这里插入图片描述
点击完成,会出现集群设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我选择自定义服务,然后勾选HBaseHDFSZookpeer,点击继续进入集群自定义角色分配。
在这里插入图片描述
点击继续,会进行审核更改,以及对应的配置目录,修改后点击继续即可开始自定义服务安装。
在这里插入图片描述
安装完成后点击继续,提示安装完成。
在这里插入图片描述

完成后可进入安装后的集群。集群启动有时候会有点慢,大约2-5分钟后,集群就会全部正常显示绿色圈,如下图所示:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值