一、安装包下载
链接:https://pan.baidu.com/s/1G6V9u5PDyxlixZ2PwGWdJA
提取码:q8mb
注:以上安装包是一个zip包,内包含安装CDH6.1所有的包,下载后解压即可
二、上传安装包到master节点
注意:这里的安装目录最好以本文为主,这样后面的指令直接可以粘贴复制即可,不用修改
1、在root目录下新建cloudera目录,并将下载的安装包放于里面
指令:
#在root目录下创建cloudera目录
cd /root
mkdir cloudera
截图:
2、上传安装包于cloudera目录下,并解压
上传安装包后截图:
指令:
#解压指令
unzip cloudera.zip
#这里解决一下一个bug,文件名命名不对,我懒得去更新压缩包内的内容了,所有搭建者看到这就自己辛苦下
cd /root/cloudera/cloudera-manager
mv allkeys.asc.txt allkeys.asc
解压后截图:
3、查看所有安装包目录信息
指令:
#如果没有tree指令,则先下载安装指令
yum install tree
#查看root目录下cloudera目录的目录树
tree -C /root/cloudera
截图:(这图可以清晰看到我们安装CDH所需要的安装包信息)
三、前期服务器环境准备
1、安装常用工具(每一个节点都需要执行)
指令:
yum install -y vim wget ntp net-tools
截图:
每一个节点都需要执行)
指令:
#此处为例子,根据实际情况自行设定名称,此处将服务器名称改为master
hostnamectl set-hostname master
#设置第二个节点服务器的名称为slave-1
hostnamectl set-hostname slave-1
#设置第三个节点服务器的名称为slave-2
hostnamectl set-hostname slave-2
截图:(因为之前我就设置了服务器名称,所以此处截图名称已经修改为了master)
每一个节点都需要执行)
指令:
#编辑hosts文件
vim /etc/hosts
#在hosts文件尾部追加如下内容
192.168.127.117 master
192.168.127.118 slave-1
192.168.127.119 slave-2
截图:
每一个节点都需要执行)
指令:
#打开文件
vim /etc/sysconfig/network
#写入对应的服务器
HOSTNAME=master
注:其余节点服务器分别写入各自服务器名称
截图:
每一个节点都需要执行)
指令:
hostname
截图:
6、关闭防火墙(每一个节点都需要执行)
指令:
#直接全部粘贴复制执行就好
systemctl stop firewalld \
&& systemctl disable firewalld \
&& systemctl status firewalld
截图:
每一个节点都需要执行)
指令:
#编辑selinux文件
vim /etc/sysconfig/selinux
#修改如下内容,将enforcing换成permissive
SELINUX=permissive
###注意:此处需要重启服务器,不然不生效,会导致后面搭建本地yum源的时候报403的错误
截图:
每一个节点都需要执行)
参考如下文章:
9、设置NTP服务
9.1、在主节点上
指令:
#编辑ntp.conf文件
vim /etc/ntp.conf
#注释掉如下内容
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
#添加如下内容
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
#修改如下信息
restrict ${当前节点ip} nomodify notrap nopeer noquery
restrict ${集群所在网段的网关} mask ${子网掩码} nomodify notrap
截图:
其余节点都需要执行)
指令:
#编辑ntp.conf文件
vim /etc/ntp.conf
#注释掉如下内容
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
#添加如下内容
server ${主节点ip}
Fudge ${主节点ip} stratum 10
#修改如下信息
restrict ${当前节点ip} nomodify notrap nopeer noquery
restrict ${集群所在网段的网关} mask ${子网掩码} nomodify notrap
截图:
每一个节点都要执行)
指令:
#直接全部粘贴复制运行即可
systemctl start ntpd \
&& systemctl enable ntpd \
&& ntpdate -u 0.cn.pool.ntp.org \
&& hwclock --systohc \
&& date
#查看是否链接上主节点时间服务器
ntpstat
截图:
只需要在主节点,也就是安装CM的节点)
指令:
#前面强调了把下载的安装包放于/root/cloudera下面,此处下面指令就全部粘贴复制运行即可,否则需要更改路径信息
yum -y install httpd createrepo \
&& systemctl start httpd \
&& systemctl enable httpd \
&& cd /root/cloudera/cloudera-manager/ \
&& createrepo . \
&& mv /root/cloudera/cloudera-manager/ /var/www/html/
截图:
只需要在主节点,也就是安装CM的节点)
指令:
#进入到安装路径下,(安装前面所示安装包路径,则直接粘贴使用)
cd /var/www/html/cloudera-manager/
rpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
截图:
只需要在主节点,也就是安装CM的节点)
12.1、卸载mariadb
指令:
#以下指令全部粘贴复制就行
#卸载自带的mariadb
yum -y remove mariadb-libs
截图:
12.2、解压下载MySQL的安装包
指令:
#解压下载的MySQL包
cd /root/cloudera/mysql/
tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
截图:
12.3、安装MySQL
指令:
#直接全部粘贴复制运行
yum install -y libaio \
&& rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm \
&& rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm \
&& rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm \
&& rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm \
&& rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
截图:
12.4、配置 my.cnf
指令:
#粘贴复制运行即可
echo character-set-server=utf8 >> /etc/my.cnf
截图:
12.5、创建数据库以及授权
指令:
#这只是一个创建数据库的SQL脚本文件,里面涉及到数据库的密码,根据个人进行修改即可,修改后全部粘贴复制运行就好
(
cat <<EOF
set password for root@localhost = password('123456Aa.');
grant all privileges on *.* to 'root'@'%' identified by '123456Aa.';
flush privileges;
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456Aa.';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456Aa.';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '123456Aa.';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456Aa.';
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '123456Aa.';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456Aa.';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456Aa.';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456Aa.';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456Aa.';
SHOW DATABASES;
EOF
) >> /root/c.sql
截图:
12.6、启动MySQL服务
指令:
#直接粘贴复制运行即可
systemctl enable mysqld && systemctl start mysqld && grep password /var/log/mysqld.log | sed 's/.*\(............\)$/\1/'
截图:
12.7、登陆MySQL并运行之前写好的SQL脚本
指令:
#登陆MySQL
mysql -uroot -p
#密码就输入上面打印出的初始化密码就好
#运行SQL文件(注意你的sql是否放在该目录下,建议以文档为主,懒得修改那么多)
source /root/c.sql
截图:
12.8、配置MySQL JDBC驱动
指令:
#直接粘贴复制执行
mkdir -p /usr/share/java/ \
&& cd /root/cloudera/mysql-jdbc/;tar -zxvf mysql-connector-java-5.1.47.tar.gz \
&& cp /root/cloudera/mysql-jdbc/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/share/java/mysql-connector-java.jar
截图:
四、CM搭建
1、在主节点上配置本地yum源
指令:
#配置本地yum源,记得要修改ip,修改后直接粘贴复制执行即可
(
cat <<EOF
[cloudera-manager]
name=Cloudera Manager 6.1.0
baseurl=http://${当前节点IP}/cloudera-manager/
gpgcheck=0
enabled=1
EOF
) >> /etc/yum.repos.d/cloudera-manager.repo \
&& yum clean all \
&& yum makecache
截图:
2、安装 Cloudera Manager
指令:
yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
截图:
3、配置本地Parcel存储库
指令:
#以下指令依次粘贴执行就好,第一条指令
mv /root/cloudera/parcel/* /opt/cloudera/parcel-repo
#第二条指令
cd /opt/cloudera/parcel-repo/
#第三条指令
sha1sum CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel | awk '{ print $1 }' > CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha
#第四条指令
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
截图:
4、初始化scm库
指令:
#注意修改你所配置的mysql对应scm库的密码,如果按照本文所设置,则直接粘贴复制执行
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm 123456Aa.
截图:
5、启动CM
指令:
#直接粘贴复制执行
systemctl start cloudera-scm-server \
&& sleep 2 \
&& tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log | grep "INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server"
截图:
6、登陆CM界面
指令:
http://${CM所在节点的IP}:7180
账号/密码:admin/admin
截图: