安装包下载
CDH,全称Cloudera's Distribution, including Apache Hadoop。是Hadoop众多分支中对应中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,提供了Hadoop的核心(可扩展存储、分布式计算),最为重要的是提供基于web的用户界面。
CDH的优点:版本划分清晰,更新速度快,支持Kerberos安全认证,支持多种安装方式(如Yum、rpm等)。
CDH分为Cloudera Manager管理平台和CDH parcel(parcel包含各种组件的安装包)。这里采用CDH6.2.0。
https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/
CDH6.2.0 parcel地址为:https://archive.cloudera.com/cdh6/6.2.0/parcels/
由于操作系统为CentOS7,需要下载以下文件:
安装步骤
准备linux服务器
关闭防火墙和SELINUX
- systemctl stop firewalld 关闭防火墙
- systemctl disable firewalld 禁止防火墙开机自启
- vim /etc/selinux/config —> SELINUX=disabled (修改)
cdh01->02/03的免密登录
on cdh01:
# 生成秘钥
ssh-keygen
# 拷贝秘钥
ssh-copy-id cdh02
ssh-copy-id cdh03
配置NTP时间同步服务
# 修改时区(改为中国标准时区)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 安装ntp
yum -y install ntp
# manager节点,ntp主机配置
vim /etc/ntp.conf
# 注释掉原来的时间同步服务器,替换阿里云的
# server
# server
# server
# server
server ntp.aliyun.com
# agent节点,ntp主机配置
vim /etc/ntp.conf
# 注释掉原来的时间同步服务器,替换为阿里云的
# server
# server
# server
# server
server cdh01
- 重新启动 ntp 服务:service ntpd restart
- 设置开机自启:systemctl enable ntpd.service
- ntpdc -c loopinfo #查看与时间同步服务器的时间偏差
- ntpq -p #查看当前同步的时间服务器
- ntpstat #查看状态
- 配置成功状态(服务开启后前面出现*说明成功):
修改Linux swappiness参数(所有节点)
为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0(cloudera建议10以下)
echo 0 > /proc/sys/vm/swappiness
# 这样操作重启机器还是还原
# 修改配置文件,开机自动设置参数
vi /etc/sysctl.conf
在最后添加 vm.swappiness=0
- 上述方法rhel6有效,在rhel7.2中: tuned服务会动态调整系统参数
- 查找tuned中配置,直接修改
cd /usr/lib/tuned
grep "vm.swappiness" * -R # 查询出来后,挨个文件依次修改
修改完确认:
grep "vm.swappiness" * -R
[root@cdh01 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
禁用透明页(所有节点)
# 永久生效,在/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
安装oracle jdk
rpm -qa | grep java # 查询已安装的java
yum remove java* # 卸载
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
# 配置环境变量
vi /etc/profile 末尾添加
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera/
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version验证
创建/usr/share/java目录,将mysql-jdbc包放过去(所有节点)
mkdir -p /usr/share/java
mv /opt/mysql-j/mysql-connector-java-5.1.34.jar /usr/share/java/
mysql-connector-java-5.1.34.jar #一定要命名为mysql-connector-java.jar
为保证防火墙、虚拟机参数修改后生效,重启各节点
Mysql安装
- 卸载原生的mariadb
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
- 解压mysql
cd /opt/mysql/
# 解压mysql安装包
tar -xf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
- rpm方式安装
rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.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 # 最后一行将会有随机生成的密码
systemctl start mysqld.service # 设置mysql服务自启
mysql -uroot –p 如果不能登陆
systemctl restart mysqld
#登录并修改mysql的管理者密码
$>mysql -u root
mysql>use mysql;
mysql>set password = PASSWORD('root');
mysql>exit;
- 创建库(后续安装服务等使用)
create database cmserver default charset utf8 collate utf8_general_ci;
grant all on cmserver.* to 'root'@'%' identified by 'root';
create database metastore default charset utf8 collate utf8_general_ci;
grant all on metastore.* to 'root'@'%' identified by 'root';
create database amon default charset utf8 collate utf8_general_ci;
grant all on amon.* to 'root'@'%' identified by 'root';
create database rman default charset utf8 collate utf8_general_ci;
grant all on rman.* to 'root'@'%' identified by 'root';
create database oozie default charset utf8 collate utf8_general_ci;
grant all on oozie.* to 'root'@'%' identified by 'root';
create database hue default charset utf8 collate utf8_general_ci;
grant all on hue.* to 'root'@'%' identified by 'root';
安装Httpd服务(cdh01)
yum install httpd
systemctl start httpd
systemctl enable httpd.service 设置httpd服务开机自启
配置Cloudera Manager包yum源(cdh01节点)
mkdir -p /var/www/html/cloudera-repos/
# 将cdh manager安装包所在文件夹移入
mv cm6 /var/www/html/cloudera-repos/
# 创建repodata:
cd /var/www/html/cloudera-repos/cm6/
createrepo .
# 如果没有createrepo命令,则yum install createrepo
- 创建后结果如下
生成本地源repo配置
vim /etc/yum.repos.d/cloudera-manager.repo
[clouder-manager]
name = Cloudera Manager, Version
baseurl = http://cdh01/cloudera-repos/cm6/
gpgcheck = 1
enabled = 1
yum clean all
yum makecache
导入GPG key(如果没有这步操作,很可能cloudera服务安装失败)cdh01节点
rpm --import http://manager/cloudera-repos/cm6/RPM-GPG-KEY-cloudera
安装 Cloudera Manager(cdh01节点)
sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
- 安装完CM后/opt/ 下会出现cloudera目录
mv /opt/parcels/* /opt/cloudera/parcel-repo # 将parcel包移动到指定位置
- 在/opt/cloudera/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 root
- 打开server服务:
systemctl start cloudera-scm-server.service
静候几分钟,打开http://cdh01:7180
- 补充 cloudera manager server启动命令
systemctl start cloudera-scm-server.service
cloudera manager agent启动命令
systemctl start cloudera-scm-agent
安装Kylin
[root@cdh632-worker03 ~]# cd /opt/soft/
[root@cdh632-worker03 soft]# tar zxf apache-kylin-3.0.2-bin-cdh60.tar.gz -C /opt/module/
[root@cdh632-worker03 soft]# cd /opt/module/apache-kylin-3.0.2-bin-cdh60/
为解决报错01:
[root@cdh632-worker03 ~]# vi /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/bin/hbase
# CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
# 将上面的注释掉修改为如下
CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hbase/lib/*
[root@cdh632-worker03 apache-kylin-3.0.2-bin-cdh60]# vi ~/.bashrc
# kylin3.0.2
# 为解决报错02
export HADOOP_USER_NAME=hdfs
# 配置spark_home
export SPARK_HOME=/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/spark
export KYLIN_HOME=/opt/module/apache-kylin-3.0.2-bin-cdh60
[root@cdh632-worker03 apache-kylin-3.0.2-bin-cdh60]# $KYLIN_HOME/bin/check-env.sh
Retrieving hadoop conf dir...
# 还可以配置 FLINK_HOME
# 还可以配置 KAFKA_HOME
# 启动kylin
[root@cdh632-worker03 apache-kylin-3.0.2-bin-cdh60]#bin/kylin.sh start