IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 尚硅谷大数据项目之CDH -> 正文阅读

[系统运维]尚硅谷大数据项目之CDH

第一章 数仓之Cloudera Manager?

1.1 CM简介

1.1.1 CM简介

Cloudera Manager是一个拥有集群自动化安装中心化管理集群监控报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。

1.1.2 CM架构

1.2 环境准备

1.2.1 虚拟机准备

虚拟机信息
IPHostnameCPU内存硬盘
192.168.10.221node01420G50G
192.168.10.222node02420G50G
192.168.10.223node03420G50G

准备三台虚拟机(node01、node02、node03),配置好对应主机的网络IP、主机名称、关闭防火墙。

查看网络的网段的范围:192.168.10.[128-254]

# 查看网关
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.2    0.0.0.0         UG    100    0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
# 配置 IP 地址
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

# 设置所有节点(三台虚拟机)的 hosts 文件
[root@localhost ~]# vi /etc/hosts

# 配置完成后,重启网络
[root@localhost ~]# systemctl restart network

# 查看主机名
[root@localhost ~]# hostname

# ping 其他主机域名进行验证
[root@localhost ~]# ping node01

# ?关闭所有节点的防火墙并清空规则
# 停止并禁用防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

# 清空规则
[root@localhost ~]# iptables -F

# 查看防火墙状态
[root@localhost ~]# systemctl status firewalld

# 关闭所有节点的 selinux
[root@localhost ~]# vi /etc/selinux/config
? ? SELINUX=disabled

# 设置后重启生效
[root@localhost ~]# reboot

安全增强型 Linux(SELinux)是一种采用安全架构的 Linux 系统,它能够让管理员更好地管控哪些人可以访问系统。其旨在提高 Linux 系统的安全性,主要作用是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

1.2.2 设置所有节点的时区一致及时钟同步

① 时区

# 查看节点时区
timedatectl

# 所有节点设置亚洲上海?时区
timedatectl set-timezone Asia/Shanghai

② 时间同步
主从:主节点和互联网同步时间,从节点与主节点同步

# 所有节点安装 ntp
yum install -y ntp

# 选取 node01 为 ntp 的主节点
[root@node01 ~]# vi /etc/ntp.conf
? ? # 当外部时间不不可用时,使用本地硬件时间
? ? server 127.127.1.0 iburst local clock
? ? # 允许哪些网段的机器来同步时间
? ? restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

# 开启 ntpd 及查看状态
[root@node01 ~]# systemctl start ntpd
[root@node01 ~]# systemctl status ntpd

# 验证
[root@node01 ~]# ntpq -p

# 其他从节点停止禁用 ntpd 服务,并同步时间
[root@node02 ~]# systemctl stop ntpd
[root@node02 ~]# systemctl disable ntpd
[root@node02 ~]# ntpdate node01
    11 May 11:13:04 ntpdate[9877]: adjust time server 192.168.10.221 offset 0.008564 sec

# 其他从节点每天凌晨同步 node01 节点时间
[root@node01 ~]# crontab -e
? ? 00 00 * * * /usr/sbin/ntpdate node01 

1.2.3 安装JDK(重要)

需要使用官网提供的?jdk

# 在 node01 的 /opt 目录下创建 module 和 software 文件夹
[root@node01 ~]# cd /opt/
[root@node01 opt]# mkdir moudle software
# 上传 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 并安装
[root@node01 software]# rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 
[root@node01 software]# vi /etc/profile
    JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
    export PATH=${JAVA_HOME}/bin:${PATH}
[root@node01 software]# source /etc/profile
[root@node01 software]# java -version
java version "1.8.0_262"
# 分发文件,并 source
[root@node01 software]# scp -r /usr/java/ node02:/usr/
[root@node01 software]# scp -r /usr/java/ node03:/usr/
[root@node01 software]# scp /etc/profile node02:/etc/
[root@node01 software]# scp /etc/profile node03:/etc/
[root@node02 software]# source /etc/profile
[root@node02 software]# java -version
[root@node03 software]# source /etc/profile
[root@node03 software]# java -version

1.2.4 安装MySQL

注意:一定要用root用户操作如下步骤;先卸载MySQL再安装

1)安装包准备

# 查看 MySQL 是否安装
[root@node01 ~]# rpm -qa|grep -i mysql
    mysql-libs-5.1.73-7.el6.x86_64
# 如果安装了 MySQL,就先卸载,并删除原有 MySql 依赖
rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
yum remove mysql-libs(要做)
# 下载 MySql 依赖并安装
[root@node01 ~]# yum install libaio
[root@node01 ~]# yum -y install autoconf
[root@node01 ~]# cd /opt/software/
[root@node01 software]# wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-shared-compat-5.6.24-1.el6.x86_64.rpm
[root@node01 software]# wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-shared-5.6.24-1.el6.x86_64.rpm
# 上传 mysql-libs.zip 到 node01 的 /opt/software 目录,并解压文件到当前目录
[root@node01 software]# yum install unzip
[root@node01 software]# unzip mysql-libs.zip
[root@node01 software]# ls
    mysql-libs.zip
    mysql-libs
# 可进入到 mysql-libs 文件夹下查看文件
[root@node01 software]# ll mysql-libs/
总用量 76048
-rw-r--r-- 1 root root 18509960 3月  26 2015 MySQL-client-5.6.24-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  3575135 12月  1 2013 mysql-connector-java-5.1.27.tar.gz
-rw-r--r-- 1 root root 55782196 3月  26 2015 MySQL-server-5.6.24-1.el6.x86_64.rpm

2)安装MySQL服务器

# 安装 MySQL 服务端
[root@node01 mysql-libs]# rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
# 查看产生的随机密码
[root@node01 mysql-libs]# cat /root/.mysql_secret
    PUhuZJJt9rTRGWrX
# 查看MySQL状态
[root@node01 mysql-libs]# service mysql status
# 启动MySQL
[root@node01 mysql-libs]# service mysql start

3)安装MySQL客户端

# 安装MySQL客户端
[root@node01 mysql-libs]# rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
# 链接MySQL(密码替换成产生的随机密码)
[root@node01 mysql-libs]# mysql -uroot -pPUhuZJJt9rTRGWrX
# 修改密码
mysql>SET PASSWORD=PASSWORD('000000');
# 退出MySQL
mysql>exit

4)MySQL中user表中主机配置

# 配置只要是root用户+密码,在任何主机上都能登录MySQL数据库。
# 进入MySQL
[root@node01 mysql-libs]# mysql -uroot -p123456
# 显示数据库                  mysql>show databases;
# 使用MySQL数据库             mysql>use mysql;
# 展示MySQL数据库中的所有表    mysql>show tables;
# 展示user表的结构            mysql>desc user;
# 查询user表                   
mysql>select User, Host, Password from user;
# 修改user表,把Host表内容修改为%
mysql>update user set host='%' where host='localhost';
# 删除root用户的其他host
mysql> delete from user where host!='%';
刷新    mysql>flush privileges;
退出    mysql>quit;

1.3 CM安装部署

1.3.1 MySQL中建库

# 创建各组件需要的数据库
mysql> GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

1.3.2 CM安装

# 将 mysql-connector-java-5.1.27-bin.jar 拷贝到 /usr/share/java 路径下,并重命名
[root@node01 mysql-libs]# tar -zxvf mysql-connector-java-5.1.27.tar.gz
[root@node01 mysql-libs]# cd mysql-connector-java-5.1.27
[root@node01 mysql-connector-java-5.1.27]# mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar
[root@node01 mysql-connector-java-5.1.27]# scp mysql-connector-java.jar /usr/share/java/
[root@node01 mysql-connector-java-5.1.27]# scp -r /usr/share/java/ node02:/usr/share/
[root@node01 mysql-connector-java-5.1.27]# scp -r /usr/share/java/ node03:/usr/share/
集群规划
节点node01node02node03
服务

cloudera-scm-server

cloudera-scm-agent

cloudera-scm-agentcloudera-scm-agent
# 创建 cloudera-manager 目录,存放 cdh 安装文件
[root@node01 mysql-connector-java-5.1.27]# mkdir /opt/cloudera-manager
[root@node01 mysql-connector-java-5.1.27]# cd /opt/software/
[root@node01 software]# tar -zxvf cm6.3.1-redhat7.tar.gz
[root@node01 software]# cd cm6.3.1/RPMS/x86_64/
[root@node01 x86_64]# mv cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
[root@node01 x86_64]# mv cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
[root@node01 x86_64]# mv cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
[root@node01 x86_64]# cd /opt/cloudera-manager/
[root@node01 cloudera-manager]# ll
总用量 1185872
-rw-r--r--. 1 2001 2001   10483568 9月  25 2019 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 2001 2001 1203832464 9月  25 2019 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 2001 2001      11488 9月  25 2019 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
# 安装cloudera-manager-daemons,安装完毕后多出 /opt/cloudera 目录
[root@node01 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@node01 cloudera-manager]# cd /opt
[root@node01 opt]# scp -r /opt/cloudera-manager/ node02:/opt/
[root@node01 opt]# scp -r /opt/cloudera-manager/ node03:/opt/
[root@node02 ~]# cd /opt/cloudera-manager/
[root@node02 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@node03 ~]# cd /opt/cloudera-manager/
[root@node03 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
# 安装 cloudera-manager-agent
[root@node01 cloudera-manager]# yum install bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libxslt
[root@node01 cloudera-manager]# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
[root@node02 cloudera-manager]# yum install bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libxslt
[root@node02 cloudera-manager]# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
[root@node03 cloudera-manager]# yum install bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libxslt
[root@node03 cloudera-manager]# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
# 安装 agent 的 server 节点
[root@node01 cloudera-manager]# vim /etc/cloudera-scm-agent/config.ini
    server_host=node01 
[root@node02 cloudera-manager]# vim /etc/cloudera-scm-agent/config.ini
    server_host=node01 
[root@node02 cloudera-manager]# vim /etc/cloudera-scm-agent/config.ini
    server_host=node01 
# 安装 cloudera-manager-server
[root@node01 cloudera-manager]# rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
# 上传 CDH 包导 parcel-repo
[root@node01 cloudera-manager]# cd /opt/cloudera/parcel-repo
[root@node01 parcel-repo]# ll
total 2033432
-rw-r--r-- 1 root root 2082186246 May 21 11:10 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
-rw-r--r-- 1 root root???????? 40 May 21 10:56 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
-rw-r--r-- 1 root root????? 33887 May 21 10:56 manifest.json
[root@hadoop101 parcel-repo]#
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
# 修改server的db.properties
[root@node01 parcel-repo]# vim /etc/cloudera-scm-server/db.properties
    com.cloudera.cmf.db.type=mysql
    com.cloudera.cmf.db.host=node01:3306
    com.cloudera.cmf.db.name=scm
    com.cloudera.cmf.db.user=scm
    com.cloudera.cmf.db.password=scm
    com.cloudera.cmf.db.setupType=EXTERNAL
# 启动server服务
[root@node01 log]# cd /var/log/
[root@node01 log]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
[root@node01 software]# systemctl start cloudera-scm-server
    scm
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
# 启动agent节点
[root@node01 software]# systemctl start cloudera-scm-agent
[root@node02 software]# systemctl start cloudera-scm-agent
[root@node03 software]# systemctl start cloudera-scm-agent

1.4 CM的集群部署

接受条款和协议?:

?后续未展示的操作,点击继续即可。

集群安装 :

集群名称自行更改,可默认。

指定主机:

选择 CDH 版本 6.3.2:

等待下载安装:

检查网络性能,检查主机:

?Inspect Network Performance,可能会出现警告,网络延迟较高。

# 问题 1
# 临时解决:
[root@node01 ~]# echo "10">/proc/sys/vm/swappiness
[root@node02 ~]# echo "10">/proc/sys/vm/swappiness
[root@node03 ~]# echo "10">/proc/sys/vm/swappiness
# 永久解决
[root@node01 ~]# sysctl -w vm.swappiness=10
[root@node01 ~]# echo vm.swappiness = 10 >> /etc/sysctl.conf
[root@node02 ~]# sysctl -w vm.swappiness=10
[root@node02 ~]# echo vm.swappiness = 10 >> /etc/sysctl.conf
[root@node03 ~]# sysctl -w vm.swappiness=10
[root@node03 ~]# echo vm.swappiness = 10 >> /etc/sysctl.conf

# 问题 2 
[root@node01 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@node01 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@node02 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@node02 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@node02 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@node02 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

# 问题 3
可以忽略

群集设置:

?

?

第2章 数仓之数据采集模块

2.1 HDFS、YARN、Zookeeper安装

2.1.1 分配节点

2.1.2 集群设置全部选默认即可

2.1.3 修改HDFS的权限检查配置

关闭HDFS中的权限检查:dfs.permissions。

?

?

类似问题,配置相应的内存大小,内存若不够,则忽略。

?

??版本验证问题,可以忽略。?

2.1.5 配置NameNode HA

1)进入HDFS页面点击启用High Availability

2)命名

3)分配角色

4)审核更改

5)等待启动服务

2.1.6 配置Yarn HA

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 10:14:47  更:2022-05-14 10:15:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:39:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码