安装说明

版本依赖

节点间的角色分配

Package与Parcel的区别

[Parcels]( Parcels | 5.14.x | Cloudera Documentation )

[更新Cloudera版本]( Cloudera Enterprise Upgrade Guide | (5.x and 6.x) | Cloudera Documentation )

一、概述

Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于Web的用户界面,支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop,简化了大数据平台的安装、使用难度。

官方文档

概览

二、安装部署

2.0 安装centos7

使用root用户

00.配置网卡【 /etc/sysconfig/network-scripts/ifcfg-ens18】

## 将原有配置中【BOOTPROTO=dhcp】改为【BOOTPROTO=static】,【ONBOOT=no】改为【ONBOOT=yes】;此外,再添加以下配置
# server
IPADDR=172.20.3.81
NETMASK=255.255.255.0
GATEWAY=172.20.3.254
DNS1=8.8.8.8
#METRIC=104
# hadoop-1
IPADDR=172.20.3.82
NETMASK=255.255.255.0
GATEWAY=172.20.3.254
DNS1=8.8.8.8
#METRIC=104
# hadoop-2
IPADDR=172.20.3.83
NETMASK=255.255.255.0
GATEWAY=172.20.3.254
DNS1=8.8.8.8
#METRIC=104

检测网络

service network restart
service network status
ping -c 3 baidu.com

01.安装openssh-server, openssh-client,以便远程连接【所有主机】

yum install -y openssh-server openssh-client

02.使用Finalshell连接

2.1 基础环境配置

a.修改主机名配置hosts【所有主机】

#更改主机名,其他主机为 hadoop-1, hadoop-2,...
hostnamectl set-hostname  cm-server 
#临时关闭SELinux
setenforce 0
#查看状态
getenforce   
#永久关闭(当前不生效,下次开机生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#添加各个节点hosts解析
cat >>/etc/hosts<<EOF    
172.20.3.81    cm-server
172.20.3.82    hadoop-1
172.20.3.83    hadoop-2
EOF
#在生成密钥之前重启
reboot
#开机后检查主机名是否修改,并关闭防火墙【每次开机后都要记得关闭】
systemctl stop firewalld

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。

sed -i 's/要被取代的字串/新的字串/g' file

b.配置cm-server免密钥登录其他节点 【公钥加密,私钥解密】

ssh-keygen -t rsa     #在cm-server生成密钥对
for num in `seq 1 2`;do ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop-$num;done

-i 指定公钥文件

c.配置各节点服务器需求 【所有主机】

#临时调整
sysctl -w vm.swappiness=10
#永久调整(当前不生效,下次开机生效)
echo "vm.swappiness=10" >>/etc/sysctl.conf
#临时禁用透明大页
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
  • 内核参数【vm.swappiness】控制换出运行时内存的【相对权重】,参数值大小对如何使用swap分区有很大联系。值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值swappiness=60,表示内存使用率超过100-60=40%时开始使用交换分区。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间;swappiness=100的时候表示积极使用swap分区,并把内存上的数据及时搬运到swap空间。

  • Centos7禁用THP(Transparent HugePages):

    THP的目的是通过将页表项映射更大的内存,来减少 Page Fault,从而提升 TLB (快表)的命中率

    当程序的访存【局部性】较好时,THP 将带来性能提升,反之 THP 的优势不仅丧失,还有可能化身为恶魔,引起系统的不稳定。遗憾的是【数据库】的负载访问特征通常是【离散的】。

    #查看THP的启用状态
    cat /sys/kernel/mm/transparent_hugepage/defrag
    输出: 
    [always] madvise never  表示THP启用了
    always [madvise] never  表示THP禁用了
    always madvise [never]  表示只在MADV_HUGEPAGE标志的VMA中使用THP(用户进程拥有用户空间的地址)

2.2 Java环境配置

使用oracle的jdk,此处使用jdk-8u271-linux-x64.tar.gz 【所有主机】

cat >/etc/profile.d/java.sh<<EOF
export JAVA_HOME=/usr/java/jdk1.8.0_271
export CLASSPATH=.:\$JAVA_HOME/jre/lib/rt.jar:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar 
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
source /etc/profile.d/java.sh
  • 关于path和classpath的含义:

    path变量的含义就是系统在任何路径下都可以识别java,javac命令

    classpath 变量的含义是告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件

  • rt.jar是JAVA基础类库,dt.jar是关于运行环境的类库,tools.jar是工具类库

2.3 安装配置数据库

在cm-server上安装mariadb,用于后期数据存储,默认没有密码

yum install mariadb*
service mariadb start
# 默认不使用密码
mysql -uroot
# 设置密码
mysqladmin -uroot password mysqladmin

2.4 安装CM

a.下载解压Cloudera Manager软件包 【官网不可用,见压缩包文件】

mkdir /software && cd /software
wget -c https://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.14.1_x86_64.tar.gz 
wget -c http://archive.cloudera.com/cdh5/parcels/5.14.2/CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel
wget -c http://archive.cloudera.com/cdh5/parcels/5.14.2/CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha1 -O CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha
wget -c http://archive.cloudera.com/cdh5/parcels/5.14.2/manifest.json

wget -c https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.zip
tar -zxvf cloudera-manager-centos7-cm5.14.1_x86_64.tar.gz -C /opt/   #解压cm包
unzip mysql-connector-java-5.1.46.zip  #解压java-mysql连接jar包
cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar /opt/cm-5.14.1/share/cmf/lib/    #将jar包复制到指定目录下

2.5 配置CM数据库

a.创建用户及初始化数据库

【在所有节点均创建这个用户】

useradd --system --home=/opt/cm-5.14.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 

指向cm-server

vim /opt/cm-5.14.1/etc/cloudera-scm-agent/config.ini 将其中的 server_host=cm-server

/opt/cm-5.14.1/share/cmf/schema/scm_prepare_database.sh mysql cmdb -h"cm-server" -uroot -pmysqladmin --scm-host cm-server scm scm scm 
/opt/cm-5.14.1/share/cmf/schema/scm_prepare_database.sh  [options]    

–scm-host 指定Cloudera Manager Server安装在的 hostname 可以不指定,在数据库和cms安装在同一个主机的情况下

SCM_HOST=, SCM_DATABASE=, SCM_USER=, SCM_PASSWORD=,

查看新增目录

b.将cm-server修改完成的文件分发到其他各节点

for i in `seq 1 2`;do scp -r /opt/cm-5.14.1 hadoop-$i:/opt/;done

c.创建本地源 【只在server节点】【parcel.sha1 名字要改为 parcel.sha

mv CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel* manifest.json /opt/cloudera/parcel-repo/

<img src="https://cdn.jsdelivr.net/gh/HongdaChen/image-home@master/20210612/snipaste_20220414_125322.74m7d1pllvo0.webp&quot; style="zoom:150%;" />

2.6 安装CDH

a.启动服务
在cm-server启动server和agent服务,在其他节点启动agent服务

/opt/cm-5.14.1/etc/init.d/cloudera-scm-server start
/opt/cm-5.14.1/etc/init.d/cloudera-scm-agent start

安装服务时执行脚本需要这个工具:

yum -y install perl perl-devel

服务均启动后,可以浏览器访问cm-server的7180端口,用户名/密码为admin/admin

接受协议继续

可以选择适用60天

提示一些涉及许可证的信息

勾选管理的主机继续操作

受控主机不够时检查日志【/opt/cm-5.14.1/log/cloudera-scm-agent/cloudera-scm-agent.log 】

选择CDH-5.14版本

parcel安装

主机正确性检查

群集设置(选择安装的服务)

自定义角色分配,选择安装在哪个节点上

数据库设置
需要提前创建数据库及授权其他节点可以正常连接

审核更改

集群安装

完成安装

后期可添加服务

打赏作者

5 个评论

  1. 如果 network无法连接,查看 systemctl status network 发现有报错 【Failed to start LSB: Bring up/down networking.】 可以关闭 NetworkManage服务,systemctl stop NetworkManager, systemctl disable NetworkManager.然后重启network,systemctl restart network。

  2. server开机后执行:
    systemctl stop firewalld
    systemctl start mariadb
    /opt/cm-5.14.1/etc/init.d/cloudera-scm-server start
    /opt/cm-5.14.1/etc/init.d/cloudera-scm-agent start

    其他节点开机后执行:
    systemctl stop firewalld
    /opt/cm-5.14.1/etc/init.d/cloudera-scm-agent start

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

CAPTCHA