CDH6.2.0集群的下载及安装(亲测)

编程入门 行业动态 更新时间:2024-10-28 05:26:04

CDH6.2.0集群的下载及安装

1、vmware esxi上克隆虚拟机

1、克隆虚拟机前先关闭虚拟机电源。

2、在左边导航栏 ,存储 项目里 点击 数据存储浏览器 。

3、上边可以看到相关的以虚拟机命名的一些目录,目录下的文件夹名一般是虚拟机名称,创建虚拟机时按虚拟机名称创建了同名文件夹。
4、点击上方“创建目录”按钮,输入文件夹名,建议和想要新建的虚拟机名称一致,便于维护。

5.然后进入需要复制的虚拟机目录(就是刚刚我们关机了的那台机器),将后将缀名为.vmx(虚拟机)和.vmdk(虚拟磁盘)的文件进行点击右键后复制。其实你把 .nvram .vmxf 都可以复制过去,除了.log 选择新虚拟机目录,点击右键后进行粘贴。

6.粘贴完成之后,右键点击. vmx(虚拟机)文件,再点击“注册虚拟机”。

7.成功之后会多出一个Server14的虚拟机(它不会自己修改虚拟机名称的),重命名输入新的虚拟机名称Server15,建议与虚拟机文件夹名称一致,便于维护。

8.首次运行虚拟机时,ESXi会询问虚拟机文件的来源,这时候我们选择“我已复制”,这样ESXi就会自动修改虚拟机中的唯一标识,最重要的就是网卡的MAC地址,这是避免冲突的最好办法。

2、CDH6.2.0集群的安装

CDH6.2.0的下载地址:

链接:https://pan.baidu/s/14iizI6PjJSjbGCvkcsV-3g
提取码:apdc

一、环境准备

1、准备三台linux的服务器(centos7.8)

对应的ip和主机名(每台内存为16g)

192.168.100.15server15.zdysserver15
192.168.100.16server16.zdysserver16
192.168.100.17server17.zdysserver17

2、对应的软件准备

对应的软件准备(jdk,mysql,cdh 等对应版本,服务器常用工具)

Jdk1.8u181

Mysql5.7

Cdh6.2

3、常用工具

#所有节点安装常用工具

yum install sudo

#1.安装 vim 编辑器

yum install -y vim

#2.安装 lrzsz 文件传输工具

yum -y install lrzsz

#3.安装 wget 文件下载工具

yum -y install wget

#4.安装 netstat,查看端口监听状况: netstat -ntlp | grep 端口号

yum -y install net-tools

#5.下载 unzip 解压工具,解压命令: uzip 压缩包.zip -d 解压目录

yum install -y unzip zip

二、 环境初始化

1. 修改主机名和ip

# 修改主机名
vim /etc/hostname
server15

# 修改ip
vim /etc/sysconfig/network-scripts/ifcfg-ens192
IPADDR="192.168.100.15"

#重启网卡服务
systemctl restart network

2.关闭防火墙和SELINUX

# 关闭防火墙
systemctl stop firewalld  
# 禁止防火墙开机自启
systemctl disable firewalld  

vi /etc/selinux/config —> SELINUX=disabled (修改)

3.免密登录

所有节点上执行

#到 root 目录下:
cd /root
#执行生成密钥命令:
ssh-keygen -t rsa
#然后三个回车
#然后复制公钥追加到第一台节点的公钥文件中:
ssh-copy-id -i /root/.ssh/id_rsa.pub root@server16
#选择 yes
#输入登录第一台节点的密码(操作完成该节点公钥复制到第一台节点中)

#依次操作复制到其他几台的节点上
ssh-copy-id -i /root/.ssh/id_rsa.pub root@server17

4.设置时间同步

#先查看服务器是否安装 ntpd 服务(啥都没显示的话说明没有安装)
rpm -qa | grep ntpd
#安装 NTP 服务
yum install ntp 或者 yum –y install ntp

#启动 ntpd 的服务
service ntpd start
#设置 ntpd 的服务开机启动
systemctl enable ntpd.service
#查看 ntpd 的服务是否启动
service ntpd status
#设置定时任务
#与阿里云服务器进行时钟同步
crontab -e 
#设置的内容如下(其中 ip 为你需要和该 ip 的时间同步为准)
*/1 * * * * /usr/sbin/ntpdate -u ip;
#然后 date 查看时间是否一致

设置成功后会一直出现`You have new mail in /var/spool/mail/root`的邮件提示,可使用下面命
令关闭邮件提示
echo "unset MAILCHECK" >> /etc/profile
source /etc/profile

5.修改Linux swappiness参数(所有节点)

swap即交换空间,作用类似于Windows中的虚拟内存,也就是当物理内存不足时,将硬盘上的swap分区当做内存来使用。但是,由于磁盘的读写速率与内存相比差太多,一旦发生大量交换,系统延迟就会增加,甚至会造成服务长期不可用,这对于大数据集群而言是致命的。
vm.swappiness参数用于控制内核对交换空间的使用积极性,默认是60。值越高,就代表内核越多地使用交换空间。
对于内存较大的CDH集群,我们一般将这个值设为0或1。0表示只有当可用物理内存小于最小阈值vm.min_free_kbytes(后面会提到)时才使用交换空间,1则表示最低限度地使用交换空间。

为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0。

设置方法:

echo 0 > /proc/sys/vm/swappiness 
# 这样操作重启机器还是还原 
# 修改配置文件,开机自动设置参数 
vi /etc/sysctl.conf 
在最后添加 
vm.swappiness=0

上述方法rhel6有效,在rhel7.2中: tuned服务会动态调整系统参数

查找tuned中配置,直接修改

[root@server15 ~]# cd /usr/lib/tuned
[root@server15 tuned]# grep "vm.swappiness" * -R

latency-performance/tuned.conf:vm.swappiness=10
throughput-performance/tuned.conf:vm.swappiness=10
virtual-guest/tuned.conf:vm.swappiness = 30

修改完确认:

[root@server15 tuned]# grep "vm.swappiness" * -R   

latency-performance/tuned.conf:vm.swappiness=0
throughput-performance/tuned.conf:vm.swappiness=0
virtual-guest/tuned.conf:vm.swappiness = 0

6.禁用透明页(所有节点)

大页面(Huge Page)是内存分页管理的一种实现方式。计算机内存是通过表映射(页表)的方式进行内存寻址,目前系统内存以4KB为一个页,作为内存寻址的最小单元。随着内存不断增大,页表的大小将会不断增大。一台256G内存的机器,如果使用4KB小页,仅页表大小就要4G左右。页表是必须装在内存的,而且是在CPU内存,太大就会发生大量miss,内存寻址性能就会下降。

Huge Page就是为了解决这个问题,它使用2MB的大页代替传统小页来管理内存,这样页表大小就可以控制的很小,进而全部装在CPU内存,防止出现miss。它有两种实现方式,一是静态大页面(Static Huge Pages,SHP),二是透明大页面(Transparent Huge Pages,THP)。从它们的名字就可以看出,SHP是静态的,而THP是动态的。由于THP是在运行期做分配和管理,因此会有一定程度的延迟,对于内存密集型的应用十分不利,必须关闭它。

# 永久生效,在/etc/rc.local 添加如下命令: 
echo never > /sys/kernel/mm/transparent_hugepage/defrag 
echo never > /sys/kernel/mm/transparent_hugepage/enabled

# 给与可执行权限
chmod +x /etc/rc.d/rc.local

7.安装jdk

安装过程略。。。

java -version验证

java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

创建/usr/share/java目录,将mysql-jdbc包放过去(所有节点)

mkdir -p /usr/share/java

#上传jar包

[root@server15 java]# ll
total 984
-rw-r--r-- 1 root root 1006904 Nov 10 13:58 mysql-connector-java-5.1.49.jar
# 重新命名、一定要命名为mysql-connector-java.jar
mv mysql-connector-java-5.1.49.jar mysql-connector-java.jar

为保证防火墙、虚拟机参数修改后生效,重启各节点

8.主节点安装配置mysql(离线安装)

卸载原生的mariadb

[root@server15 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
mariadb-5.5.68-1.el7.x86_64

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64

解压mysql

[root@server15 mysql]# ll
total 518440
-rw-r--r-- 1 root root 530882560 Sep 13 17:32 mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

# 解压mysql安装包 
tar -xf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

rpm方式安装

rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm

# 如果安装过程中报缺依赖的错误,可按如下方式安装所缺依赖 
yum install net-tools 
yum install perl

MySQL的配置如下:

# 初始化mysql使mysql目录的拥有者为mysql用户 
mysqld --initialize --user=mysql

cat /var/log/mysqld.log # 最后一行将会有随机生成的密码
[Note] A temporary password is generated for root@localhost: W5fomFnA:KEr

systemctl start mysqld.service # 设置mysql服务自启

mysql -uroot -p 
# 如果不能登陆
systemctl restart mysqld

#登录并修改mysql的管理者密码
mysql>set password = PASSWORD('zd3@2021');
# 开启root用户远程登录权限 
mysql> grant all privileges on *.* to 'root'@'%' identified by 'zd3@2021' with grant option; 
mysql> flush privileges;

创建库(后续安装服务等使用)

create database cmserver default charset utf8 collate utf8_general_ci; grant all on cmserver.* to 'root'@'%' identified by 'zd3@2021';

#给hive 
create database metastore default charset utf8 collate utf8_general_ci; 
grant all on metastore.* to 'root'@'%' identified by 'zd3@2021';

# 给CM的activity mornitor 
create database amon default charset utf8 collate utf8_general_ci; grant all on amon.* to 'root'@'%' identified by 'zd3@2021';

# 给CM的Reports Manager 
create database rman default charset utf8 collate utf8_general_ci; grant all on rman.* to 'root'@'%' identified by 'zd3@2021';

# oozie
create database oozie default charset utf8 collate utf8_general_ci; grant all on oozie.* to 'root'@'%' identified by 'zd3@2021'; 

# hue
create database hue default charset utf8 collate utf8_general_ci; grant all on hue.* to 'root'@'%' identified by 'zd3@2021';

9.安装Httpd服务(server15节点)

yum install httpd 
systemctl start httpd 

systemctl enable httpd.service #设置httpd服务开机自启

注:这里出现了问题,记录一下

[root@server15 mysql]# systemctl start httpd                           
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

首先 systemctl status httpd 查看下状态:

[root@server15 mysql]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2021-11-10 14:54:57 CST; 52s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 1976 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 1976 (code=exited, status=1/FAILURE)

Nov 10 14:54:57 server15 systemd[1]: Starting The Apache HTTP Server...
Nov 10 14:54:57 server15 httpd[1976]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Nov 10 14:54:57 server15 httpd[1976]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Nov 10 14:54:57 server15 httpd[1976]: no listening sockets available, shutting down
Nov 10 14:54:57 server15 httpd[1976]: AH00015: Unable to open logs
Nov 10 14:54:57 server15 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Nov 10 14:54:57 server15 systemd[1]: Failed to start The Apache HTTP Server.
Nov 10 14:54:57 server15 systemd[1]: Unit httpd.service entered failed state.
Nov 10 14:54:57 server15 systemd[1]: httpd.service failed.

可以看出 80 端口被占用:

[root@server15 mysql]# netstat -antlp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1248/nginx: master  
tcp        0      0 0.0.0.0:8089            0.0.0.0:*               LISTEN      1248/nginx: master  
tcp6       0      0 :::80                   :::*                    LISTEN      1248/nginx: master

原来是 nginx 占用了端口,修改即可。

vim /etc/nginx/nginx.conf

(
)]

/usr/sbin/nginx -s reload # 重新启动

三、CDH的安装

1.配置Cloudera Manager包yum源(server15节点)

mkdir -p /var/www/html/cm6
cd /var/www/html/cloudera-repos/cm6

# 上传文件
[root@server15 cm6]# ll
total 1368752
-rw-r--r-- 1 root root      14041 Sep 13 15:09 allkeys.asc
-rw-r--r-- 1 root root   10215488 Sep 13 15:09 cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root 1187380436 Sep 14 14:06 cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root       9984 Sep 13 14:48 cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root      10992 Sep 13 14:48 cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root    4763392 Sep 13 14:48 docker-engine-1.7.1-1.el6.x86_64.rpm
-rw-r--r-- 1 root root   14200108 Sep 13 14:52 enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root  184988341 Sep 13 16:31 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
-rw-r--r-- 1 root root       1718 Sep 13 14:30 RPM-GPG-KEY-cloudera

# 创建repodata
createrepo .
# 如果没有createrepo命令,则yum install createrepo

创建后的结果如下:

[root@server15 cm6]# ll
total 1368756
-rw-r--r-- 1 root root      14041 Sep 13 15:09 allkeys.asc
-rw-r--r-- 1 root root   10215488 Sep 13 15:09 cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root 1187380436 Sep 14 14:06 cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root       9984 Sep 13 14:48 cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root      10992 Sep 13 14:48 cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root    4763392 Sep 13 14:48 docker-engine-1.7.1-1.el6.x86_64.rpm
-rw-r--r-- 1 root root   14200108 Sep 13 14:52 enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm
-rw-r--r-- 1 root root  184988341 Sep 13 16:31 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
drwxr-xr-x 2 root root       4096 Nov 10 15:22 repodata
-rw-r--r-- 1 root root       1718 Sep 13 14:30 RPM-GPG-KEY-cloudera

2.生成本地源repo配置

vi /etc/yum.repos.d/cloudera-manager.repo 
[cloudera-manager] 
name = Cloudera Manager, Version 
baseurl = http://server15/cm6/ 
gpgcheck = 1 
enabled = 1 


yum clean all 
yum makecache

验证:

在浏览器输入:

http://192.168.100.15/cm6/

(
)]

将该yum源scp到其他主机

scp /etc/yum.repos.d/cloudera-manager.repo root@server16:/etc/yum.repos.d/
scp /etc/yum.repos.d/cloudera-manager.repo root@server17:/etc/yum.repos.d/

3.导入GPG key(如果没有这步操作,很可能cloudera服务安装失败)(server15节点)

rpm --import http://server15/cm6/RPM-GPG-KEY-cloudera

4.安装 Cloudera Manager(server15节点)

sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

安装完CM后/opt/ 下会出现cloudera目录

# 创建/opt/cloudera/parcel-repo目录上传parcels中的文件
[root@server15 parcel-repo]# ll
total 2038856
-rw-r--r-- 1 root         root         2087665645 Sep 14 14:32 CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
-rw-r--r-- 1 root         root                 41 Nov 11 00:49 CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha
-rw-r--r-- 1 root         root              33725 Sep 13 14:29 manifest.json

在/opt/cloudera/parcel-repo执行以下命令:

[root@server15 parcel-repo]# sha1sum CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel | awk '{ print $1 }' > CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha

初始化脚本

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cmserver root zd3@2021

打开server服务

systemctl start cloudera-scm-server.service 

注:此时遇见了一个问题,没有启动

cloudera-scm-server.service failed.

通过命令journalctl -xe发现了一些端倪,提示JAVA_HOME找不到,但是我明明已经安装过了jdk怎么还会找不到呢,之后在一个脚本文件中找到了些答案,他会去使用/usr/java下的jdk,所以解决办法执行以下两条命令即可(所有节点上执行):

mkdir -p /usr/java

ln -s /home/programs/jdk1.8/ /usr/java/default

其中jdk1.8是我的安装目录,改成自己的

静候几分钟,打开http://server15:7180

admin/admin

5、页面操作及其安装其他服务

版本选择为免费版的

集群名称

输入ip地址,搜索,当出现可安装的主机时候,点击继续

自定义存储库

已经安装了jdk,无需安装,直接下一步

输入root密码点击继续

等待安装

agent安装完成

开始安装大数据组件

选择要添加的服务

角色分配,管理节点安装datanode等

设置各组件的数据库,点击测试

审核默认即可(需要添加kafka集群信息),然后集群启动成功,安装完成

更多推荐

CDH6.2.0集群的下载及安装(亲测)

本文发布于:2023-06-14 00:25:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1417418.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:集群

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!