热门IT资讯网

CDH 5 安装教程,Kafka 安装,LZO 安装

发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,目 录主机列表基础环境集群主机基础配置配置 NTP 服务配置 MySQL 服务器安装 Cloudera Manager Server 和 AgentServer配置 Server 端配置 Agent

目 录

  • 主机列表

  • 基础环境

  • 集群主机基础配置

  • 配置 NTP 服务

  • 配置 MySQL 服务器

  • 安装 Cloudera Manager Server 和 AgentServer

    • 配置 Server 端

    • 配置 Agent 端

  • 安装 CDH

    • 配置并分配 CDH5 parcel 包

    • 安装 Hadoop 集群及相关组件

    • 浏览 CDH Web 端相关布局

  • 安装 Kafka 组件

    • 配置并分配 Kafka parcel 包

    • 集群内安装 Kafka 服务

  • 配置 HDFS LZO 压缩

    • 配置并分配 LZO parcel 包

    • HDFS 相关 LZO 配置

    • YARN 相关 LZO 配置

主机列表

|主机名 | IP |Memory| CPU | 角色及服务 | | :------- | ----: |:---: |:--- |:--- | | test1.lan | 192.168.22.11 |9G |4核 | cm-agent, Namenode, YARN | | test2.lan | 192.168.22.12 |9G |4核 | cm-agent, SecondNameode, HBase-Master | | test3.lan |192.168.22.13 |9G |4核 | cm-agent, Datanode, zk-server, kafka-broker, Regionserver | | test4.lan |192.168.22.14 |9G |4核 | cm-agent, Datanode, zk-server, kafka-broker, Regionserver | | test5.lan | 192.168.22.15 |9G |4核 | cm-agent, Datanode, zk-server, kafka-broker, Regionserver | | test6.lan |192.168.22.16 |9G |4核 | cm-server, MySQL-Server |

基础环境

  1. CentOS 6 x86_64

  2. jdk-8u101-linux-x64.rpm

  3. MySQL-5.6.x

  4. NTPd => On

  5. CDH-5.12.0-1.cdh6.12.0.p0.29-el6.parcel(离线parcel)

  6. cloudera-manager-el6-cm5.12.0x8664.tar.gz

  7. KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel

集群主机基础配置

  1. 确保 / 目录至少100G以上

  2. SELinux 关闭

  3. iPtables 关闭

  4. 禁用 Transparent Hugepage Compaction

  5. 设置 vm.swapiness 为 1

  6. ntp 服务开启,时间同步(不推荐用ntpdate)

配置 NTP 服务

以下配置集群内每台主机均要做一次

```

vim /etc/sysconfig/ntpdate SYNC_HWCLOCK=yes // 打开硬件时钟同步保存 ntpdate time.windows.com
// 首次手动同步时钟,避免首次ntpd服务因时间偏差过大导致无法同步 vim /etc/ntp.conf server time.windows.com prefer // 添加时间同步服务器 service ntpd start && chkconfig ntpd on // 运行时间同步服务 ```

配置用于 cm-server 的 MySQL 服务器

该 MySQL 服务即可安装在 cm-server 服务器上,也可以与其他服务共用

> rpm -qa | grep -i -E "mysql-libs|mariadb-libs"> yum remove -y mysql-libs mariadb-libs && yum install -y -q crontabs postfix> tar  xf  MySQL-5.6.35-1.el6.x86_64.rpm-bundle.tar> rpm -ivh MySQL-client-5.6.35-1.el6.x86_64.rpm \MySQL-shared-* \MySQL-server-5.6.35-1.el6.x86_64.rpm \MySQL-devel-5.6.35-1.el6.x86_64.rpm

安装 MySQL-Server ```

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.44.tar.gz tar xf mysql-connector-java-5.1.44.zip ``` 下载 mysql-connector.jar (用于安装在 cm-server 服务器上)

> vim /etc/my.cnf [mysqld] character-set-server = utf8 // 初始密码在 ~/.mysql-secret 文件之中> mysql -p`default_secret` sql_cli > SET PASSWORD = PASSWORD("new_secret") sql_cli > exit

安装 Cloudera Manager Server 和 AgentServer

Cloudera Manager Server 安装在 test6.lan AgentServer 在集群内每台主机均需要单独安装 下载地址:http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.12.0x8664.tar.gz

配置 Server 端

cloudera-manager 下载完成后上传到 test6.lan 即可 然后解压到 /opt 目录下(只能是该目录下),因为cdh6的源会默认在 /opt/cloudera/parcel-repo 寻找

> tar xf cloudera-manager-el6-cm5.12.0_x86_64.tar.gz  -C /opt/

给集群内所有节点添加 cloudera-scm 用户 ```

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

cm-server 节点配置 mysql-connector-java,并且为 Cloudera Manager 5 创建初始数据库> cp /path/to/mysql-connector-java-5.1.44-bin.jar /opt/cm-5.12.0/share/cmf/lib/ 然后,创建初始数据库(-psecret 为数据库对应账户的密码) ```

/opt/cm-5.12.0/share/cmf/schema/scmpreparedatabase.sh mysql cm -hlocalhost -uroot -psecret --scm-host localhost scm scm scm ``` 见 Successfully connected to database. All done, you SCM database is configured correctly! 即库结构表结构配置成功。

运行 Cloudera Manager 5 的 Server 端:

> /opt/cm-5.12.0/etc/init.d/cloudera-scm-server start

注意:首次运行 Server 端,会有大概5-10分钟的数据初始化时间(服务端进程内存占用大概1.5G左右),初始化完成后会有 java 程序监听在 7180 7182 端口之上。

配置 Agent 端

在 Server 端修改 Agent 配置文件中 server_host 的主机地址

> vi /opt/cm-5.12.0/etc/cloudera-scm-agent/config.iniserver_host=test6.lan

在 Server 端复制 Agent 程序到集群内所有节点 /opt/ 目录下

> for i in {1..5}; do    echo "--------- Start scp to test${i}.lan --------"    scp -r -q /opt/cm-5.12.0/  test${i}.lan:/opt/    echo "######### Done ##########"done

等待复制成功,即可在 Agent 所有节点中启动 Agent 程序

> /opt/cm-5.12.0/etc/init.d/cloudera-scm-agent start

Agent 端程序为 Python 进程,会主动到配置文件中的 server_host 节点注册信息,该 Agent 也是用于后续接受 Server 端发送的相关指令,以及心跳信息监控。

安装 CDH

配置并分配 CDH5 parcel 包

需要单独回到 test6.lan shell终端,配置 CDH5 的 parcel 包(cloudera 采用预编译捆绑安装包的方式,以支持 Hadoop 离线安装)。 对应 CDH parcel 包下载地址为:http://archive-primary.cloudera.com/cdh6/parcels/5.12.0/ ```

cd /opt/cloudera/parcel-repo curl -O http://fileserver.lan/CDH5/CDH5-5.12.0-1.cdh6.12.0.p0.29-el6.parcel curl -O http://fileserver.lan/CDH5/CDH5-5.12.0-1.cdh6.12.0.p0.29-el6.parcel.sha1 mv CDH5-5.12.0-1.cdh6.12.0.p0.29-el6.parcel.sha1 \ CDH5-5.12.0-1.cdh6.12.0.p0.29-el6.parcel.sha ``` 此处需要把对应 parcel 包的 sha1 文件改名为 CDH5-5.12.0-1.cdh6.12.0.p0.29-el6.parcel.sha,不然 cm-server 识别不了该 parcel 包。

重启 cloudera-scm-server 服务端

> /opt/cm-5.12.0/etc/init.d/cloudera-scm-server restart

打开 http://test6.lan:7180/ 开始安装 CDH默认登陆用户名密码为 admin admin

同意相关条款

选择相关服务版本

该版本相关服务包及信息

添加集群主机 此处有当前管理的主机(5) 表示 Agent 端注册到 Server 端正常。 如果此处只有一个选项,即 新主机 ,那么表示 Agent 注册不正常,请检查网络或服务是否正常。 你亦可以选择通过指定主机名或IP的方式连接远程节点。

选择主机

选择集群安装的相关配套组件 parcel 包。

开始集群内节点的 parcel 包部署

此图最后的部署告警提示 cloudera-scm 用户未创建,确实是节点忘记创建,用户创建完毕后重新验证即可。

部署信息概览

安装 Hadoop 集群及相关组件

CDH 官方有已经打包好的配套匹配方案,也可以自行搭配组件

此处暂且选择几个组件,包括 HBase、HDFS、YARN 和 Zookeeper (Kafka属于另外一个单独的parcel包提供,后面再单独安装)

相关组件的配置参数

部署中....

其中各相关服务组件在服务器文件系统中的安装路径如下

安装完成

浏览 CDH Web 端相关布局

修改 NameNode 关于 Heapsize 大小的初始默认配置(推荐设置为 1-4G 大小) 修改配置后,需要重启服务,重启服务后稍等片刻,等待服务的相关附属子进程启动完毕,告警即消失。 (修改 NameNode 的 Heapsize 大小,当然也需要修改 SecondaryNameNode 的 Heapsize)

安装 Kafka 组件

配置并分配 Kafka parcel 包

在 Web 页面中,主机 -> Parcel 里面会列出当前集群以配置和分配的 parcel 包,目前只配置了 CDH5,Kafka 单独存在于其他 parcel 包中,所以需要单独加载 parcel ,然后分配到集群内各节点。

Cloudera官方Kafka组件的parcel包下载地址为:http://archive.cloudera.com/kafka/parcels/latest/ 照旧下载 percel 文件,以及该文件的 sha1 串,然后重命名 ***.sha1***.sha 方可。

下载好以上两个文件后,放到 cm-server 节点的 /opt/cloudera/parcel-repo/ 目录下 无需重启 server 守护进程,在页面即可在线刷新、分配、激活。

集群内安装 Kafka 服务

这里需要确认和修改 2 个默认配置

  • 复制进程,默认为1,修改为 3(视业务量而定)

  • 分区数,默认分区数为 50,这里暂且保留。

  • 删除旧topic,默认打开,不做更改。

业务端口为 9092 。

配置 HDFS LZO 压缩

配置并分配 LZO parcel 包

LZO 功能也是封装在单独的 parcel 包中,选择对应平台的包。 下载地址为:http://archive-primary.cloudera.com/gplextras/parcels/latest/ 这里并没有直接的提供 sha 文件,所以需要查看 manifest.json 文件,找到对应 parcel 包的 hash 值,手动保存至本地文件即可。

下载 parcel 包及其 sha 文件,存放至 cm-server 的 /opt/cloudera/parcel-repo/ 目录下。 同安装 Kafka 捆绑包一样,在页面上即可完成刷新,注册,分配,激活操作。

激活好 LZO 之后,有几个为之依赖的服务会提示重启载入新配置。 先别急重启,还有几个配置需要单独手动修改。

HDFS 相关 LZO 配置

io.compression.codecs 新增一行,填入 com.Hadoop.compression.lzo.LzopCodec 保存配置。

YARN 相关 LZO 配置

mapreduce.application.classpath 的属性值新增一行,填入 /opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/*

mapreduce.admin.user.env 的属性值,后补入 /opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/native

保存,重启相关依赖的服务即可。

相关服务最后预览


0