CDH5.14.0基础环境搭建

一、架构设计
配置对内存最好的要求是16G,4G,4G;第一台机器内存要大一些
系统centos7.6
CentOS-7-x86_64-DVD-2003.iso
cdh5.14.0
mysql5.7.19
jdk-8u121-linux-x64.rpm
mysql-connector-java-5.1.47.jar

  1. 安装包下载:
    链接:https://pan.baidu.com/s/1hWyd478XgiZE_bS03ui0TQ
    提取码:1qaz
    192.168.50.111 cdh01.irc.com cdh01 17.1GB 70GB 2CPU
    192.168.50.112 cdh02.irc.com cdh02 4.6GB 70GB 2CPU
    192.168.50.113 cdh03.irc.com cdh03 4.6GB 70GB 2CPU
  2. 修改网络
    三台虚拟机分别修改对应静态ip,并重启
    vi /etc/sysconfig/network-scripts/ifcfg-ens32
    TYPE=“Ethernet”
    PROXY_METHOD=“none”
    BROWSER_ONLY=“no”
    BOOTPROTO=“static” # 修改静态
    DEFROUTE=“yes”
    IPV4_FAILURE_FATAL=“no”
    #IPV6INIT=“yes”
    #IPV6_AUTOCONF=“yes”
    #IPV6_DEFROUTE=“yes”
    #IPV6_FAILURE_FATAL=“no”
    #IPV6_ADDR_GEN_MODE=“stable-privacy”
    NAME=“ens32”
    UUID=“0fd5fd8f-819d-49de-8e85-fe6c0a686267”
    DEVICE=“ens32”
    ONBOOT=“yes” # 修改启动
    IPADDR=“192.168.50.113” # 修改IP
    NETMASK=“255.255.255.0” # 修改子网掩码
    PREFIX=“24”
    GATEWAY=“192.168.50.2” # 修改网关
    DNS1=“114.114.114.114” # 修改DNS
    #IPV6_PRIVACY=“no”

systemctl restart network

  1. 增加磁盘空间
    每台机器增加20G数据,挂载在/下面,操作文档:
    https://www.yuque.com/docs/share/86f9cc5d-3a52-4f7f-97dd-16e1cf899987?# 《centos7 挂载未分配的硬盘空间》
    二、准备环境安装

  2. 安装一些常用指令(所有节点)
    yum -y install vim wget net-tools telnet

  3. 关闭防火墙(所有节点)
    systemctl stop firewalld.service && systemctl disable firewalld.service

  4. 关闭SELinux(所有节点)
    sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config
    setenforce 0

  5. 安装ssh(所有节点)
    cdh01节点配置/etc/hosts
    vim /etc/hosts
    192.168.50.111 cdh01.irc.com cdh01
    192.168.50.112 cdh02.irc.com cdh02
    192.168.50.113 cdh03.irc.com cdh03
    发送/etc/hosts到cdh02,cdh03节点
    for((i=2;i<=3;i++));do scp /etc/hosts cdh0${i}:/etc/ ;done
    在cdh01,cdh2,cdh03分别做
    ssh-keygen -t rsa
    cd ~/.ssh
    ssh-copy-id cdh01
    ssh-copy-id cdh02
    ssh-copy-id cdh03
    测试ssh,从cdh01跳转到其他机器:ssh cdh01

  6. 上传文件安装包(cdh01)
    在cdh01上创建以下目录
    mkdir /root/cloudera
    mkdir /root/cloudera/RPM
    mkdir /root/cloudera/mysql5.7
    mkdir /root/cloudera/parcels
    上传mysql有关至/root/cloudera/mysql5.7

上传 cm至/root/cloudera/RPM下(安装cm6.3.2时还需要上传个allkeys.asc包,不然会报不能复制文件)

上传cdh安装包至 /root/cloudera/parcels 下

上传系统镜像及jdk至 /root/cloudera 下

  1. 安装JDK(所有节点)

将cdh01上的jdk的rpm包发送到其它几台机器上
for((i=2;i<=3;i++));do scp /root/cloudera/jdk-8u121-linux-x64.rpm cdh0${i}:/opt/ ;done
分别在每台机器的jdk目录下安装jdk
rpm -ivh jdk-8u121-linux-x64.rpm

配置环境变量,在/etc/profile增加
vim /etc/profile
#jdk配置
export JAVA_HOME=/usr/java/default
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
使配置的环境变量更新
source /etc/profile
验证安装
java -version

echo $JAVA_HOME

  1. 增加mysql连接jdbc驱动(所有节点)
    每台机器创建/usr/share/java目录
    mkdir /usr/share/java
    将mysql-connector-java-5.1.47-bin.jar放到/usr/share/java下,并建立软链接
    mv mysql-connector-java-5.1.47-bin.jar /usr/share/java/
    cd /usr/share/java/
    ln -s mysql-connector-java-5.1.47-bin.jar mysql-connector-java.jar

  2. 安装mysql(cdh01)

mysql安装在cdh01上,mysql安装文档见:https://www.yuque.com/docs/share/01e2b8e0-dbf8-4b8c-b3fa-53616bb96b1e?# 《Linux下离线安装mysql5.7.27》
安装完过后,建立CM和Hive需要的表
进入mysql:mysql -uroot -p123456
create database metastore default character set utf8;

CREATE USER ‘hive’@‘%’ IDENTIFIED BY ‘hive’;

GRANT ALL PRIVILEGES ON metastore. * TO ‘hive’@‘%’;

create database cm default character set utf8;

CREATE USER ‘cm’@‘%’ IDENTIFIED BY ‘cmdemo’;

GRANT ALL PRIVILEGES ON cm. * TO ‘cm’@‘%’;

create database am default character set utf8;

CREATE USER ‘am’@‘%’ IDENTIFIED BY ‘amdemo’;

GRANT ALL PRIVILEGES ON am. * TO ‘am’@‘%’;

create database rm default character set utf8;

CREATE USER ‘rm’@‘%’ IDENTIFIED BY ‘rmdemo’;

GRANT ALL PRIVILEGES ON rm. * TO ‘rm’@‘%’;

create database hue default character set utf8;

CREATE USER ‘hue’@‘%’ IDENTIFIED BY ‘huedemo’;

GRANT ALL PRIVILEGES ON hue. * TO ‘hue’@‘%’;

create database oozie default character set utf8;

CREATE USER ‘oozie’@‘%’ IDENTIFIED BY ‘oozie’;

GRANT ALL PRIVILEGES ON oozie. * TO ‘oozie’@‘%’;

create database sentry default character set utf8;

CREATE USER ‘sentry’@‘%’ IDENTIFIED BY ‘sentry’;

GRANT ALL PRIVILEGES ON sentry. * TO ‘sentry’@‘%’;

create database kudu default character set utf8;

CREATE USER ‘kudu’@‘%’ IDENTIFIED BY ‘kudu’;

GRANT ALL PRIVILEGES ON kudu. * TO ‘kudu’@‘%’;

FLUSH PRIVILEGES;

exit;
9. ntp集群时钟同步(所有节点)
https://my.oschina.net/longkingxu/blog/3012553
9.1 服务器端配置(cdh01)
yum install ntp
timedatectl set-timezone Asia/Shanghai
cdh01服务器用自己做时钟同步,其他服务器连接到cdh01服务器做时钟同步。
systemctl start ntpd && systemctl enable ntpd
[root@cdh01 cloudera]# vim /etc/ntp.conf

在 /ntp.conf 中定义的 server 都不可用时,将使用 local 时间作为 ntp 服务提供给 ntp 客户端。建议配置,否则 ntp 服务器无法与公网 ntp 服务器同步时,其客户端也会无法同步

修改

restrict 192.168.50.11 nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

Hosts on local network are less restricted.

restrict 192.168.50.2 mask 255.255.255.0 nomodify notrap

Use public servers from the pool.ntp.org project.

Please consider joining the pool (http://www.pool.ntp.org/join.html).

#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

重启ntpd服务
systemctl restart ntpd
[root@cdh01 cloudera]# ntpdate cdh01.irc.com 同步时钟
[root@cdh01 cloudera]# systemctl status ntpd

9.2 客户端配置(所有客户节点)
yum install ntp
timedatectl set-timezone Asia/Shanghai
systemctl start ntpd && systemctl enable ntpd
[root@cdh03 ~]# vim /etc/ntp.conf 示例

restrict cdh01.irc.com nomodify notrap noquery 允许时钟服务器修改本地时间
[root@cdh03 ~]# systemctl restart ntpd
[root@cdh03 ~]# ntpdate cdh01.irc.com 同步时间
[root@cdh03 ~]# crontab -e
*/5 * * * * /sbin/ntpdate -u cdh01.irc.com 每5分钟同步一次时间
[root@cdh03 ~]#hwclock -w 同步本地时间到BIOS
在shell窗口中同时向所有窗口发送date命令,查看时间是否同步

内网中ntp更新不了时间,采用了这种方式
sudo date -s “$(wget -S “https://www.baidu.com/” 2>&1 | grep -E ‘1[dD]ate:’ | sed 's/2[dD]ate:[[:space:]]*//’ | head -1l | awk ‘{print $1, $3, $2, $5 ,“GMT”, $4 }’ | sed ‘s/,//’)”

  1. 挂载操作系统repo(cdh01)
    挂载操作系统iso文件
    mkdir /media/DVD1
    mount -o loop /root/cloudera/CentOS-7-x86_64-DVD-2003.iso /media/DVD1/

查看/media/DVD1/下挂载的系统

  1. 安装http服务(cdh01)
    安装httpd服务
    yum -y install httpd

启动并设置开机自启httpd服务
systemctl start httpd && systemctl enable httpd

  1. 安装依赖包(所有节点)
    在root 权限下,选择全部主机窗口同时安装一下依赖包

yum -y install bind-utils chkconfig cyrus-sasl-gssapi cyrus-sasl-plain fuse fuse-libs gcc libxslt mod_ssl MySQL-python openssl openssl-devel perl portmap postgresql-server psmisc python-devel python-psycopg2 python-setuptools sed sqlite swig zlib
13. 制作repo(cdh01)
13.1 系统镜像的repo
13.1.1 拓展知识:(在安装的时候不需要这步)
这里因为前面第10步操作后,有点麻烦了(实际上不麻烦,要是直接挂载到centos下去,一关机重启就会报错,集群会搭建失败),所以把挂载的/media/DVD1/目录给先解除挂载,然后挂载到/var/www/html/centos下去
解除挂载:
umount /root/cloudera/CentOS-7-x86_64-DVD-2003.iso /media/DVD1/
如果报umount: /media/DVD1:目标忙,则执行
fuser -mv /media/DVD1/
查看到使用的pid,kill掉,再查看fuser -mv /media/DVD1/,无使用的pid,再执行解除挂载命令
umount /root/cloudera/CentOS-7-x86_64-DVD-2003.iso /media/DVD1/

[root@ cdh01 ~]# mkdir /var/www/html/centos
[root@ cdh01 ~]# mount -o loop /root/cloudera/CentOS-7-x86_64-DVD-2003.iso /var/www/html/centos

13.1.2 系统镜像的repo制作
本地镜像:
[root@ cdh01 ~]# yum repolist
[root@ cdh01 ~]# scp -r /media/DVD1/* /var/www/html/centos/
[root@ cdh01 ~]# vim /etc/yum.repos.d/local_os.repo
[local_iso]

name=CentOS-$releasever - Media

baseurl=file:///media/DVD1

gpgcheck=0

enabled=1
远端镜像:
[root@ cdh01 ~]# vi /etc/yum.repos.d/centos.repo
[centos]
baseurl=http://cdh01/centos/
gpgcheck=1
gpgkey=http://cdh01/centos/RPM-GPG-KEY-CentOS-7
列出你所有的yum repo
[root@ cdh01 ~]# yum repolist
13.2 CM的repo(cdh001)
将Cloudera Manager安装需要的rpm包放到需要的目录下,能通过http访问到,再在RPM 目录下执行createrepo命令生成rpm元数据。
[root@cdh01 cloudera]# mv /root/cloudera/RPM /var/www/html/cloudera/
[root@cdh01 cloudera]# mv /root/cloudera/parcels/ /var/www/html/cloudera/
[root@cdh01 cloudera]# cd /var/www/html/cloudera/RPM
[root@cdh01 RPM]# yum -y install createrepo
[root@cdh01 RPM]# createrepo .

制作ClouderaManager的repo源
[root@cdh01 RPM]# vim /etc/yum.repos.d/cm.repo
[cm_repo]

name = cm_repo

baseurl = http://cdh01/cloudera/RPM

enable = true

gpgcheck = false

[root@cdh01 RPM]# yum repolist
将centos.repo,cm.repo发送到其它客户节点
[root@cdh01 RPM]# for((i=2;i<=3;i++));do scp /etc/yum.repos.d/cm.repo cdh0 i : / e t c / y u m . r e p o s . d / ; s c p / e t c / y u m . r e p o s . d / c e n t o s . r e p o c d h 0 {i}:/etc/yum.repos.d/ ;scp /etc/yum.repos.d/centos.repo cdh0 i:/etc/yum.repos.d/;scp/etc/yum.repos.d/centos.repocdh0{i}:/etc/yum.repos.d/ ;done

  1. 修改系统参数(每个节点)

14.1 禁用swap(所有节点)
[root@cdh01 RPM]# sysctl vm.swappiness=10
[root@cdh01 RPM]# echo ‘vm.swappiness=10’ >> /etc/sysctl.conf
[root@cdh01 RPM]# echo 10 > /proc/sys/vm/swappiness
14.2 禁用透明页(所有节点)
[root@cdh01 RPM]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@cdh01 RPM]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@cdh01 RPM]# echo ‘echo never > /sys/kernel/mm/transparent_hugepage/defrag’ >> /etc/rc.local
[root@cdh01 RPM]# echo ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled’ >> /etc/rc.local
三、安装CM服务

3.1 安装Cloudera Manager Server(cdh01)
通过yum安装ClouderaManager Server
[root@cdh01 ~]# yum -y install cloudera-manager-server
初始化数据库
[root@cdh01 ~]# /usr/share/cmf/schema/scm_prepare_database.sh mysql cm cm cmdemo
● cdh6初始化为 /opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm cm cmdemo

启动ClouderaManager Server
[root@cdh01 ~]# systemctl start cloudera-scm-server
通过http://cdh01:7180/cmf/login访问CM,记得在访问的window上配置host,cdh01
检查端口是否监听
netstat -lnpt | grep 7180

3.2. 快照备份
对每个节点备份快照,以免发生错误无法返回
3.3 检查各项服务
因为上面关机备份过快照,有些服务可能已经关闭了,所以再次检查下
[root@cdh01 ~]# systemctl status ntpd
[root@cdh01 ~]# systemctl status httpd
[root@cdh01 ~]# service mysql status
[root@cdh01 ~]# systemctl status cloudera-scm-server


  1. [:space:] ↩︎

  2. [:space:] ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值