记一次CDH6.2.0环境搭建,废话不多说,直接上CDH环境搭建步骤
1.1硬件准备
建议最少4台物理机或者虚拟机(一个master,3个node),4核16G
如果用来学习,建议可以4核8G
如果是生产部署,推荐8核32G以上
1.2.主机规划
2.基础配置
2.1 静态ip配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static #这里修改为static
ONBOOT=yes
IPADDR0=192.168.16.120 # 根据需要填写
GATEWAY0=192.168.16.1 # 根据需要填写
DNS1=8.8.8.8
DNS2=8.8.4.4
重启网络
service network restart
2.2 修改hostname
每一台服务器上进行
vim /etc/hostname
修改
www.bigdata01.com
2.2 修改主机hosts
每一台服务器上都需要修改
vim /etc/hosts
192.168.16.120 www.bigdata01.com
192.168.16.121 www.bigdata02.com
192.168.16.122 www.bigdata03.com
192.168.16.123 www.bigdata04.com
2.3 jdk安装
mkdir /usr/java
tar -zxvf jdk-8u45-linux-x64.gz -C /usr/java
cd /usr/java/
ll
chown -R root:root /usr/java/jdk1.8.0_45
vi /etc/profile
添加
export JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=${JAVA_HOME}/bin:${PATH}
source /etc/profile
which java
2.4 MySQL安装
在www.bigdata01.com上安装MySQL
卸载原有mysql
因为mysql数据库在Linux上实在是太流行了
所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面
我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库
rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉
// 普通删除模式
rpm -e mysql-libs-5.1.73-3.el6_5.x86_64
// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令
rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
安装Mysql
#不推荐采用此方法
首先,我们可以使用yum命令来安装:
ps: 此方式有可能已经过时或有其他问题,最新安装方法请参考官方安装文档
yum install -y mysql-server mysql mysql-devel
但是,这里我们使用离线安装的方式安装mysql
// 使用wget命令从mysql官网下载离线包(地址可能不一定是下面这个,请自行更改)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el6.x86_64.rpm-bundle.tar
// 解压
tar -xvf mysql-5.7.29-1.el6.x86_64.rpm-bundle.tar
// 安装工具包以及兼容性相关包
rpm -ivh mysql-community-common-5.7.29-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.29-1.el6.x86_64.rpm
// 安装mysql客户端
rpm -ivh mysql-community-client-5.7.29-1.el6.x86_64.rpm
// 安装mysql服务端
rpm -ivh mysql-community-server-5.7.29-1.el6.x86_64.rpm
// 启动mysql
service mysqld start
至此,mysql安装完毕
配置mysql
mysql安装完毕之后,还需要做一些基本配置,如下:
// 创建配置文件
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
// 修改配置文件/etc/my.cnf,最后一行加上
`lower_case_table_names=1` #表名不区分大小写
// 由于mysql5.7有弱密码限制,可以在配置文件中加上下面内容,关闭限制
[mysqld]
validate_password=off
// 查看root用户初始密码并修改root密码
grep 'temporary password' /var/log/mysqld.log
截图中标记部分为MySQL对应的临时密码,用此密码登录进去,即可修改MySQL密码
修改MySQL密码
set password = password('your_password');
// 创建用户并授权
grant all on *.* to root@'%' identified by "*******" with grant option;
create database scm default character set utf8 default collate utf8_general_ci;
grant all on scm.* to 'scm'@'%' identified by '*********';
create database hue default character set utf8 default collate utf8_general_ci;
grant all on hue.* to 'hue'@'%' identified by '*********';
create database hive default character set utf8 default collate utf8_general_ci;
grant all on hive.* to 'hive'@'%' identified by '*********';
create database azkaban default character set utf8 default collate utf8_general_ci;
grant all on azkaban.* to 'azkaban'@'%' identified by '*********';
flush privileges;
2.5关闭防火墙和清空规则
service iptables stop
chkconfig iptables off
service iptables status
2.6 selinux关闭
vim /etc/selinux/config
修改
selinux=disabled
2.7 时区与时间同步
date
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.8 时间同步(一主多从)
yum install -y ntp
vi /etc/ntp.conf
添加
server 127.127.1.0 iburst local clock
restrict 192.168.16.0 mask 255.255.255.0 nomodify notrap
service ntpd start
service ntpd status
ntpq -p
service ntpd stop
service ntpd disable
ntpdate www.bigdata01.com
crontab -e
添加
# 分 时 日 月 周,每天00:00执行该脚本
00 00 * * * /usr/sbin/ntpdate www.bigdata01.com
2.9 修改Linux swappiness参数(所有节点)
为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0(cloudera建议10以下)
echo 0 >/pro/sys/vm.swappiness
2.10 禁用透明页(所有节点)
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久生效 在/etc/rc.local 添加上面命令
3.软件下载
下载cloudera 6.2.0 rpm(本次使用测操作系统为Centos6.10,建议大家使用Centos7.x)
下载地址:https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/
下载以下文件:
cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
下载cloudera 6.2.0 parcels
下载地址:https://archive.cloudera.com/cdh6/6.2.0/parcels/
下载以下文件:
CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha1
manifest.json
安装cloudera-manager-server(master节点)
rpm安装
yum install cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
parcel初始化
新建parcel目录
mkdir -p /opt/cloudera/parcel-repo
将CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel、CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha1、manifest.json 上传至 /opt/cloudera/parcel-repo 路径下
重命名
mv CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha1 CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha
数据库配置
在第一台服务器上编辑/etc/cloudera-scm-server/db.properties,配置数据库,示例如下:
vim /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=www.bigdata01.com
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=*******
注意:请保证mysql中有一个名为cmf的空数据库
启动server
service cloudera-scm-server start
安装cloudera-manager-agent(所有node节点)
rpm安装
yum install cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
config配置(每一台服务器都要配置,可以先配置一台服务器,scp发送过去)
编辑/etc/cloudera-scm-agent/config.ini文件,将host_server修改为master
vim /etc/cloudera-scm-agent/config.ini
server_host=www.bigdata01.com
主节点启动server
service cloudera-scm-server start
启动angent:
service cloudera-scm-agent start
安装cloudera
打开浏览器,访问www.bigdata:7180(启动比较慢,需要1-2分钟)
默认用户名/密码: admin/admin
因为我的环境已经安装好一段时间了,没有后面的保存后面的截图,所以无法提供我自己的截图了。另外,我的内存还是有点小,内存被调拨过度,有几个警告,目前不影响使用。有条件的,建议大家生产上采用128G或者256G的内存。