CDH6安装教程(亲⾃测试越坑版)
⼀、Hadoop⼤数据平台
1、Hadoop 发⾏版
(1) 完全开源的原⽣的Apache Hadoop
(2) Cloudera与Hortonworks公司的CDH和HDP:在Cloudera和Hortonworks合并后,Cloudera公司推出了新⼀代的数据平台产
品CDP Data Center(以下简称为CDP),从2021年1⽉31⽇开始,所有Cloudera软件都需要有效的订阅,并且只能通过付费墙进⾏访问。也就是说CDH各版本都不能免费获取了。
(3) Ambari + HDP (在Cloudera和Hortonworks合并后,HDP也不能免费使⽤了)
(4) MapR公司的MapR(已经被HPE收购)
(5) AWS亚马逊的EMR
(6) 国内华为的fusioninsight
(7) 国内星环科技的TDH
CDH (全称:Cloudera’s Distribution Including Apache Hadoop)是由 Cloudera 公司发⾏的hadoop 软件包,由Cloudera Manager 安装监控管理⼯具和CDH⼤数据软件包(⾥⾯包含了hadoop、hdfs、yarn、hive、spark等许多⼤数据套件)组成。
2、CM和CDH简介
在安装之前先要梳理⼀下 CM(Cloudera Manager)和 CDH(Cloudera Distribution Hadoop)的区别:
CDH CDH 是由 Cloudera 公司发⾏的⼀套 hadoop 软件包,⾥⾯包含了hadoop、hdfs、yarn、hive、spark等等⼀系列稳定的、版本兼容的⼤数据套件。
CM CM 也是 Cloudera 公司开发的⼀套⽤于管理和监控 CDH 集群的软件,通过 CM 提供的 web 管理页⾯操作就可以轻松的管理和监控CDH 集群环境。
3、使⽤CM+CDH的原因
当集群数量有上百台或上千台机器时使⽤CDH等⼯具可以快速的安装和扩容
CDH曾经开源免费,从⽹上可以找到免费的软件安装包
⼆、安装准备
1、服务器准备
准备好 N 台服务器,我这⾥⽤了 3 台机器,分别如下:
IP主机名CPU内存硬盘系统
192.168.122.101master.bigdata4核16G50G CentOS7.x
192.168.122.102node1.bigdata4核16G50G CentOS7.x
192.168.122.103node2.bigdata4核16G50G CentOS7.x
注:所有机器的 root ⽤户登录密码要保持⼀致。
2、软件包准备
(1) 下载如下软件安装包:
JDK1.8安装包
MySQL5.7安装包
CM6.3.1安装包
CDH6.3.2软件包
(2) 下载地址:
(3) 下载的软件包内容如下:擅长用英语怎么说
[root@localhost cdh6.3.2]# tree .去新加坡留学
.
├── CDH6.3.2
│├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
│├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
│├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
│└── manifest.json
├── CM6.3.1
│├── allkeys.asc
冷餐会│├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
│├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
│├── cloudera-manager-rver-6.3.1-1466458.el7.x86_64.rpm
│├── cloudera-manager-rver-db-2-6.3.1-1466458.el7.x86_64.rpm
│├── enterpri-debuginfo-6.3.1-1466458.el7.x86_64.rpm
│└── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
├── JDK1.8
│└── jdk-8u261-linux-x64.rpm
└── MySQL5.7
泪的告白歌词├── mysql-community-client-5.7.16-1.el7.x86_64.rpm
├── mysql-community-common-5.7.16-1.el7.x86_64.rpm
├── mysql-community-libs-5.7.16-1.el7.x86_64.rpm
├── mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
└── mysql-community-rver-5.7.16-1.el7.x86_64.rpm
3、搭建CM本地YUM仓库
这⾥(在master.bigdata主机上)搭建本地YUM源作为离线安装CM的仓库,让其他主机也使⽤该源下载CM相关的软件: (1) 安装httpd和createrepo教师节送什么最好
systemctl stop firewalld
yum install -y httpd createrepo
systemctl start httpd && systemctl enable httpd
(2) 将从⽹盘上下载的软件包上传得到/var/www/html/⽬录内:
[root@localhost html]# pwd
/var/www/html
[root@localhost html]# tree .
.
└── CM6.3.1
│├── allkeys.asc
│├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
│├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
│├── cloudera-manager-rver-6.3.1-1466458.el7.x86_64.rpm
│├── cloudera-manager-rver-db-2-6.3.1-1466458.el7.x86_64.rpm
│├── enterpri-debuginfo-6.3.1-1466458.el7.x86_64.rpm
│└── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
├── CDH6.3.2
│├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
│├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
│└── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
1 directory, 5 files
[root@localhost html]#
(3) 配置CM本地Yum源
createrepo /var/www/html/CM6.3.1/
createrepo /var/www/html/CDH6.3.2/
三、在所有主机上操作
由于cloudera-manager采⽤Server-Agent的结构,管理⼈员点击web页⾯的启动,重启,停⽌按钮,Server端会将指令发送到Agent 端,Agent收到命令后启动相应的进程,这样根本就不需要ssh登录服务器执⾏命令了。
1、主机名设置
为三台机器设置好对应的主机名,并在hosts中做好对应的 IP 解析:
(1) 修改所有机器的/etc/hosts⽂件内容如下:
cat > /etc/hosts <<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.122.101 master.bigdata
192.168.122.102 node1.bigdata
192.168.122.103 node2.bigdata
EOF
(2) 分别设置机器的主机名,执⾏以下命令
主机上192.168.122.101执⾏:
hostnamectl t-hostname master.bigdata
主机上192.168.122.102执⾏:
hostnamectl t-hostname node1.bigdata
主机上192.168.122.103执⾏:
hostnamectl t-hostname node2.bigdata
2、关闭防⽕墙和 SELinux
关闭所有机器的防⽕墙和 SELinux,执⾏以下命令:
systemctl stop firewalld && systemctl disable firewalld
d -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/linux/config && tenforce 0
3、时间同步配置
配置时间同步,执⾏以下命令:
yum install -y ntpdate
(echo "*/5 * * * * /usr/sbin/ntpdate -u p") | crontab
systemctl restart crond
注:这⾥也可配置为局域⽹内的某个时间服务器。
4、安装 JDK环境
CDH6.0以后JDK版本最低为1.8。
(1) 卸载⾃带的openjdk
rpm -qa | grep openjdk |xargs -I {} rpm -e --nodeps {}
(2) 安装oracle-jdk1.8女人步上楼梯时
将jdk安装RPM包上传到服务器上,执⾏如下命令安装:
rpm -ivh jdk-8u261-linux-x64.rpm
5、配置本地的yum仓库
cat > /pos.po <<EOF
[manager-repos]
假如我会72变name = Cloudera Manager, Version 6.3.1
baurl = master.bigdata/CM6.3.1/
enabled = 1
gpgcheck = 0
EOF
然后执⾏yum listrepo命令检查本地仓库是否添加成功。
6、[优化项]禁⽌透明⼤页
(1) 所有主机输⼊以下命令:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
(2) 所有主机的/etc/rc.local中也需要加⼊这两条命令,配置为开机启动时⾃动配置。
7、[优化项]减少集群使⽤交换内存
运⾏以下三条命令:
sysctl -w vm.swappiness=0
echo 'vm.swappiness=0' >> /f
sysctl -p
四、在Master主机上操作
1、安装MySQL数据库
注意:MySQL数据库也可以使⽤或安装在其他服务器上。
(1) 将MySQL的RPM包上传到Master服务器上:
[root@localhost MySQL5.7]# pwd
/root/MySQL5.7
[root@localhost MySQL5.7]# tree .
.
├── mysql-community-client-5.7.16-1.el7.x86_64.rpm
├── mysql-community-common-5.7.16-1.el7.x86_64.rpm
├── mysql-community-libs-5.7.16-1.el7.x86_64.rpm
├── mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
└── mysql-community-rver-5.7.16-1.el7.x86_64.rpm
0 directories, 5 files
然后执⾏如下命令安装MySQL5.7数据库:
[root@localhost MySQL5.7]# yum install -y ./*.rpm
启动MySQL数据库:
systemctl start mysqld && systemctl enable mysqld
获取mysql初始化密码:悲伤近义词
grep 'temporary password' /var/log/mysqld.log
修改Mysql密码,⽤命令mysql -uroot -p输⼊上⾯获取到的密码,修改密码:
mysql> alter ur root@localhost identified by '1qazXSW@';
mysql> flush privileges;
mysql> exit
(3) 下载mysql客户端的jdbc驱动(其实最好所有主机节点都需要操作下)
yum install -y wget
mkdir -p /usr/share/java/
wget -P /usr/share/java/ repo1.maven/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar mv /usr/share/java/mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
(4) 创建数据库
使⽤命令mysql -u root -p登陆MySQL(上⾯配置的密码为: 1qazXSW@)后,执⾏如下命令创建数据库: