CentOS7.8搭建CDH6.2.1详细步骤

机器信息

IP 机器名称 内存 硬盘
172.16.0.209 bigdata09 64G 1.8T
172.16.0.208 bigdata08 16G 1.8T
172.16.0.207 bigdata07 16G 1.8T
172.16.0.206 bigdata06 16G 1.8T
172.16.0.205 bigdata05 16G 1.8T

修改名称并配置host

每个节点都要执行

hostnamectl set-hostname bigdata09
vi /etc/hosts

添加一下配置:

172.16.0.205 bigdata05
172.16.0.206 bigdata06
172.16.0.207 bigdata07
172.16.0.208 bigdata08
172.16.0.209 bigdata09

追加完成后重启服务

service network restart

验证

hostname

可以看到已经修改了机器名称了

关闭防火墙

每个节点都要执行
永久关闭防火墙

systemctl disable firewalld

验证(查看防火墙状态)

systemctl status firewalld

在这里插入图片描述

禁用 SELinux

每个节点都要执行
永久禁用需要修改配置文件

vi /etc/selinux/config

然后把SELINUX的属性设置为:disabled
修改完成后需要重启电脑

reboot  #重启

SSH免密登录

每个节点都要执行

mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa

连续3次回车即可,不用做别的操作
在这里插入图片描述
查看结果,出现
id_rsa文件
id_rsa.pub文件
说明创建成功,如图
在这里插入图片描述
主机执行操作
把创建好的秘钥复制到authorized_keys文件中

cp id_rsa.pub authorized_keys

查看当前文件,会发现多出一个authorized_keys文件
在这里插入图片描述
查看authorized_keys文件

cat  authorized_keys

在这里插入图片描述本机秘钥已经在里面了
编辑配置文件

vi /etc/ssh/sshd_config   

需要把这些代码前面的注释去掉
PermitRootLogin yes
StrictModes yes
AuthorizedKeysFile .ssh/authorized_keys
AuthorizedPrincipalsFile none
AuthorizedKeysCommand none
AuthorizedKeysCommandUser nobody

给当前用户的ssh文件配置权限

chmod g-w /home/zdicc
chmod 700  /home/zdicc/.ssh
chmod 600  /home/zdicc/.ssh/authorized_keys

重启服务

service sshd restart

接下来就是把~/.ssh文件下的authorized_keys 拷贝到已经配置好的机器中
把 authorized文件拷贝到第二台机器上

scp authorized_keys bigdata04:/home/zdicc/.ssh/    

要输入yes和密码
在这里插入图片描述拷贝成功后进入到第二台机器执行

cd ~/.ssh
ll
cat authorized_keys

在这里插入图片描述进入.ssh文件查看文件里的内容
会发现里面已经有了前一台机器的秘钥,这时我们需要把本机的秘钥也放进去

cat id_rsa.pub >> authorized_keys
ll
cat authorized_keys

在这里插入图片描述这里可以看到已经把本机的秘钥放在里面了

因为我这边需要配置10台,所以我这里把10台的拷贝代码都写出来了
每次只需要执行当前台数以前的代码即可
比如当前是第五台,那只需要执行前4行即可。

scp authorized_keys bigdata01:/home/zdicc/.ssh/  
scp authorized_keys bigdata02:/home/zdicc/.ssh/  
scp authorized_keys bigdata03:/home/zdicc/.ssh/  
scp authorized_keys bigdata04:/home/zdicc/.ssh/    
scp authorized_keys bigdata05:/home/zdicc/.ssh/  
scp authorized_keys bigdata06:/home/zdicc/.ssh/  
scp authorized_keys bigdata07:/home/zdicc/.ssh/  
scp authorized_keys bigdata08:/home/zdicc/.ssh/  
scp authorized_keys bigdata09:/home/zdicc/.ssh/ 
scp authorized_keys bigdata10:/home/zdicc/.ssh/   

需要输入yes和密码
拷贝完成后 记得修改配置和权限,修改完了之后
跳转到zdicc用户下就可以验证一下是否配置成功

su zdicc
ssh bigdata01

在这里插入图片描述

同步服务器时间

每个节点都要执行
NTPDATE同步上海授时服务器时间
需要用root权限登录
执行同步时间命令

ntpdate -u ntp.api.bz
hwclock -w
hwclock --show

在这里插入图片描述

NTP服务部署

每个节点都要执行
安装NTP

yum –y install ntp
rpm –qa | grep ntp

在这里插入图片描述
能看到两个文件ntpdate-4.2和ntp-4.2
配置NTP服务

vi /etc/ntp.conf

在这里插入图片描述修改前
在这里插入图片描述
修改后
在这里插入图片描述需要禁掉chronyd.service

systemctl disable chronyd.service

启动NTP服务,并设置开机自动启动

systemctl start ntpd
systemctl enable ntpd

查看同步

ntpq -p

在这里插入图片描述
查看服务

systemctl status ntpd

在这里插入图片描述

安装JDK

每个节点都要执行
直接在网络上下载好jdk8然后上传到服务器
创建jdk文件夹,目录为:/usr/java/
因为CDH会在这个文件夹中找jdk文件,创建在别的地方后面的步骤会有报错

mkdir  /usr/java
tar -zxvf jdk-8u144-linux-x64.tar.gz  -C /usr/java   
vi /etc/profile

添加环境变量

export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=${
    
    JAVA_HOME}/jre
export CLASSPATH=.:${
    
    JAVA_HOME}/lib:${
    
    JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${
    
    JAVA_HOME}/bin:${
    
    JRE_HOME}/bin
export PATH=$PATH:${
    
    JAVA_PATH}

执行环境变量

source /etc/profile

查看java版本

java -version

在这里插入图片描述
查看jdk路径

$JAVA_HOME

在这里插入图片描述

主机安装mysql

主机执行

cd /usr/local/src
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-server

下载安装,依次执行命令,根据提示信息操作,基本都是输入yes
编辑配置

vi /etc/my.cnf

在开始位置插入如下数据

[client]
default-character-set=utf8

然后在[mysql]下

skip-grant-tables

重启MySQL,并查看默认密码,登陆mysql 数据库,修改默认密码
配置外网访问

systemctl restart mysqld.service
grep "password" /var/log/mysqld.log
mysql -h 127.0.0.1 -u root -p
flush privileges;
set password for root@localhost = password('84726886');
use mysql;
select user,host from user;
update user set host='%'
flush privileges;

部署httpd并安装pstree

主机执行
下载并启动httpd服务

yum install -y httpd
systemctl start httpd.service

设置开机启动

systemctl enable httpd.service

查看服务状态

systemctl status httpd.service

当访问该服务器的80端口出现如下画面即为安装和启动成功

http://172.16.0.209/

在这里插入图片描述
安装pstree

yum install psmisc -y

因为服务器安装的CentOS7.8是精简版的,所以不包含pstree
提前安装好,省的后期启动CM的时候报错

创建 parcels文件

主机执行
下载地址: http://archive.cloudera.com/cdh5/parcels/5.7.0/
在/var/www/html下创建一个parcels文件夹,并将上述下载的3个文件上传到该目录下

cd /var/www/html/
mkdir parcels
cd parcels

上传如下3个文件
CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel
CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha
manifest.json

校验文件下载未损坏

/usr/bin/sha1sum CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel
cat CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha

如果2个验证码一样,证明该文件未损坏,可以使用:
在这里插入图片描述
在浏览器中能打开如下网址,证明配置成功:
http://172.16.0.209/parcels/
在这里插入图片描述

创建cm文件

主机执行
下载地址: http://archive.cloudera.com/cm5/repo-as-tarball/5.7.0/
在/var/www/html创建cm5/redhat/7/x86_64/文件夹(和官网一样的路径)

cd /var/www/html/
mkdir -p cm5/redhat/7/x86_64/

上传cm5.7.0-centos7.tar.gz包到/var/www/html目录下,并解压

tar -zxf cm5.7.0-centos7.tar.gz

将解压好的文件夹移动到上述创建的文件夹下

mv cm /var/www/html/cm5/redhat/7/x86_64/

每个节点都要执行

vi /etc/yum.repos.d/cloudera-manager.repo

在该文件下插入如下数据

[cloudera-manager]
name = Cloudera Manager, Version 5.7.0
baseurl = http://172.16.0.209/cm5/redhat/7/x86_64/cm/5/
gpgcheck = 0

在浏览器中出现如下界面:
http://172.16.0.209/cm5/redhat/7/x86_64/cm/
在这里插入图片描述

安装CM的server+agent

主机执行

cd /var/www/html/cm5/redhat/7/x86_64/cm/5.7.0/RPMS/x86_64/
yum install cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el7.x86_64.rpm
yum -y install cloudera-manager-server-5.7.0-1.cm570.p0.76.el7.x86_64.rpm

进入上述创建的CM的文件目录下
安装cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el7.x86_64.rpm
安装cloudera-manager-server-5.7.0-1.cm570.p0.76.el7.x86_64.rpm,请注意,不用安装db版本的,那是使用默认数据库的,在生产环境中一般不使用,生产环境中是使用MySQL数据库的

创建元数据库

主机执行
登陆mysql数据库

mysql -h127.0.0.1 -uroot -p84******86

在MySQL中创建元数据库

create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
create database hive DEFAULT CHARACTER SET utf8;
create database oozie DEFAULT CHARACTER SET utf8;
create database hue DEFAULT CHARACTER SET utf8;

修改CDH关于数据库的配置文件(如下图所示)
在这里插入图片描述每个节点都要执行
上传与MySQL连接的jar包(注:jar包需要放入如下目录,没有就创建)

mkdir /usr/share/java
cd /usr/share/java

上传mysql 的jar包,然后修改jar包名称,不需要版本号

mv mysql-connector-java-5.1.39-bin.jar  mysql-connector-java.jar

可以每个机器都上传
也可以直接同步过去

scp mysql-connector-java.jar  bigdata08:/usr/share/java/
scp mysql-connector-java.jar  bigdata07:/usr/share/java/
scp mysql-connector-java.jar  bigdata06:/usr/share/java/
scp mysql-connector-java.jar  bigdata05:/usr/share/java/

禁止透明大页面及交换分区设置

每个节点都要执行
禁止透明大页面

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'>>  /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'>>  /etc/rc.local

交换分区设置

echo 'vm.swappiness = 10' >> /etc/sysctl.conf

启动服务

启动服务

service cloudera-scm-server start

查看服务

systemctl status cloudera-scm-server.service

查看日志

cd /var/log/cloudera-scm-server/
ll
cat cloudera-scm-server.out

等两分钟后大概就启动成功了
访问:http://172.16.0.209:7180?useSSL=false
在这里插入图片描述说明启动成功
到此CDH平台 基本算是部署成功了,剩下的就是给里面增加组件了
账户密码都是 admin
前面几个页面 勾选知道协议,选择免费就行了
然后输入集群机器IP搜一下就行
在这里插入图片描述
在这里插入图片描述选择更多选项进入之后
将其他远程Parcel删除,并输入先前配置好的Parcel:
http://172.16.0.209/parcels/
在这里插入图片描述下面的cm也要选自定义存储库
http://172.16.0.209/cm5/redhat/7/x86_64/cm/5/

然后继续
jdk不用管 直接点击下一步
单用户模式不用管直接下一步
ssh凭证 输入密码 都用root
然后下一步 等待集群安装就行了

启动关闭集群


service cloudera-scm-server stop
service cloudera-scm-agent stop

service cloudera-scm-server start
service cloudera-scm-agent start

CDH的升级

集群安装的是5.7版本
需要升级到5.9版本
可以升级到6.2.1版本升级方式 和升级到5.9版本一样

cm下载地址:http://archive.cloudera.com/cm5/repo-as-tarball/5.9.0/

(主节点)

service cloudera-scm-server stop
service cloudera-scm-agent stop
service mysqld stop

(其余节点)

service cloudera-scm-agent stop

(主节点)
进入到httpd里创建5.9的文件夹

cd /var/www/html/
mkdir -p cm5/redhat/9/x86_64/

上传cm的安装包然后解压安装包,把cm文件移动到5.9的文件夹下

tar -zxf cm5.9.0-centos7.tar.gz
mv cm /var/www/html/cm5/redhat/9/x86_64/

配置本地的yum源,cdh集群在安装时会就从本地down包,不会从官网了,所有节点都要执行

vi /etc/yum.repos.d/cloudera-manager.repo

将原来的

[cloudera-manager]
name = Cloudera Manager, Version 5.7.0
baseurl = http://172.16.0.209/cm5/redhat/7/x86_64/cm/5/
gpgcheck = 0

改为

[cloudera-manager]
name = Cloudera Manager, Version 5.9.0
baseurl = http://172.16.0.209/cm5/redhat/9/x86_64/cm/5/
gpgcheck = 0

访问
http://172.16.0.209/cm5/redhat/9/x86_64/cm/

(主节点)

yum clean all
rpm -qa 'cloudera-manager-*'
yum upgrade 'cloudera-*'
rpm -qa 'cloudera-manager-*'

(其余节点)

yum clean all
rpm -qa 'cloudera-manager-*'
yum upgrade 'cloudera-*'
rpm -qa 'cloudera-manager-*'

(主节点)

service mysqld start
service cloudera-scm-agent start
service cloudera-scm-server start

(其余节点)

service cloudera-scm-agent start

登陆网站 按照升级的操作步骤即可
在这里插入图片描述

CM 就升级到最新了
接下来升级CDH
下载地址: http://archive.cloudera.com/cdh5/parcels/5.9.0/
创建新的 parcels文件

cd /var/www/html/
mkdir parcels9
cd parcels9

上传3个文件
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcell.sha
manifest.json

上传好了之后 登陆到cm上 修改parcels
把原来的
http://172.16.0.209/parcels/
改为
http://172.16.0.209/parcels9/
接下来下载 分配 升级

猜你喜欢

转载自blog.csdn.net/weixin_44677459/article/details/112235802