CDH--6.3安装配置

物理机离线安装CDH6

1.Cloudera CDH简介

1.1 原生的Hadoop有哪些不足

  • 版本管理混乱
  • 部署过程繁琐、升级过程复杂
  • 兼容性差
  • 安全性低

1.2 什么是CDH和Cloudera Manager

  • CDH (Cloudera’s Distribution Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。
  • Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark、Kafka、Hue、Hbase等服务的安装配置管理做了极大简化。

1.3 企业中使用比较多的Hadoop发行版

  • CDH
  • HDP (hortonworks的hadoop发行版,后被Cloudera收购)

1.4Hadoop自动化部署管理平台

  • Cloudera Manager(安装CDH的管理平台)
  • Ambari (安装HDP的管理平台)

1.5 Cloudera Manager架构图

2.安装环境准备

2.1安装环境准备

在这里插入图片描述

  • 10台dell 32G服务器

  • CDH6.3.1

2.3配置服务器环境(CentOS 7.7)

序号主机名内网IP系统版本安装角色
1node-1192.168.1.201CentOS7.7clouder manager&clouder agent
2node-2192.168.1.202CentOS7.7clouder agent
3node-3192.168.1.203CentOS7.7clouder agent
4node-4192.168.1.204CentOS7.7clouder agent
5node-5192.168.1.205CentOS7.7clouder agent
6node-6192.168.1.206CentOS7.7clouder agent
7node-7192.168.1.207CentOS7.7clouder agent
8node-8192.168.1.208CentOS7.7clouder agent
9node-9192.168.1.209CentOS7.7clouder agent
10node-10192.168.1.210CentOS7.7clouder agent
  • 修改主机名
  • 修改ip地址
  • 修改ip地址和主机名的映射关系
  • 配置ssh免密码登录
  • 关闭防火墙
#关闭防火墙,centos7中的防火墙名为firewalld
systemctl stop firewalld 
#或者使用service firewalld stop
#防火墙开机不启动
systemctl disable firewalld
#或者使用chkconfig firewalld off
  • 关闭SelLinux
vi /etc/selinux/config

在这里插入图片描述

3.下载CM和CDH

注意:离线安装先要下载CM和对应的CDH

  • cm和cdh的资源网址

https://archive.cloudera.com/

3.1 下载cm6

  • 下载地址

https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/

在这里插入图片描述

3.2 下载cdh6

https://archive.cloudera.com/cdh6/6.2.1/parcels/

4.构建本地yum源

4.1 在node-1上安装http,让其他机器可以在node-1上下载依赖的rpm包
yum install -y httpd
4.2 启动httpd服务器
service httpd start
4.3 使用浏览器方法httpd服务器,默认端口80
http://192.168.1.201

4.4 进入到httpd的资源目录
 cd /var/www/html
 #创建两个目录,分别安装rpm包和parcel
 mkdir cdh6 
 mkdir cm6
4.5 将下载好的cm6的rpm包上传到cm6目录

4.6将下载好的cdh6的parcel上传到cdh6目录
4.7 制作本地源【在node-1上】
# 下载createrepo命令,该命令可以在指定目录场景yum源的描述meta信息
yum install -y createrepo
# 进入到cm6安装包的httpd资源位置
cd /var/www/html/cm6/
# 创将yum源的描述meta信息
createrepo .

4.8 使用浏览器访问http的cm6和cdh6目录检测是否可用

4.8 分别在所有节点上添加yum源的配置文件
#在所有节点上执行
cat >> /etc/yum.repos.d/cm6.repo << EOF
[cm6-local]
name=cm6-local
baseurl=http://node-1/cm6
enabled=1
gpgcheck=0
EOF
  • 或使用批量的脚本
for i in {7..10}
do
ssh node-$i '

cat >> /etc/yum.repos.d/cm6.repo << EOF
[cm6-local]
name=cm6-local
baseurl=http://node-1/cm6
enabled=1
gpgcheck=0
EOF

exit'
done
4.9 查看配置的yum源是否生效
yum clean all
yum repolist

5.安装cm6和其他依赖

5.1 在所用节点安装依赖
yum install -y bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python fuse
5.2 安装管理节点
  • 在【node-1】上安装cloudera-manager-server、cloudera-manager-server-db-2、cloudera-manager-daemons、cloudera-manager-agent
yum install -y oracle-j2sdk1.8-1.8.0+update181-1.x86_64
yum install -y cloudera-manager-daemons cloudera-manager-server cloudera-manager-server-db-2 postgresql-server
5.3 安装mysql

注意:CentOS7 yum源不再按照默认的MySQL了,而是使用MariaDB

  • 安装MariaDB
yum install -y mysql mysql-devel

yum install -y mariadb mariadb-server
  • 初始化MariaDB并修改密码
service mariadb start 
chkconfig mariadb on
/usr/bin/mysql_secure_installation
  • 注意,由于该数据库存储的信息非常重要,所以生成环境建议配置成高可用的集群,我在后面的教程中会配置mariadb galera cluster实现高可用
5.4 初始化管理节点数据库
  • 拷贝mysql-connector到/usr/share/java目录,并且要改名mysql-connector-java.jar
mkdir /usr/share/java/
cp mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
  • 初始化cloudera-manager的MySQL数据库

注意,要使用配套的JDK,不然有坑

在这里插入图片描述

#先安装JDK
yum install -y oracle-j2sdk1.8-1.8.0+update181-1.x86_64
#执行数据库初始脚本
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h localhost -uroot -p123456 --scm-host localhost scm root 123456 

5.5 安装agent节点

  • 在所有的子节点上安装jdk、cloudera-manager-daemons、cloudera-manager-agent
#安装JDK(cdh自带的)、cloudera-manager-daemons和cloudera-manager-agent
yum install -y oracle-j2sdk1.8-1.8.0+update181-1.x86_64
yum install -y cloudera-manager-daemons cloudera-manager-agent 
  • 修改所有agent节点的配置文件,让agent的地址指向cloudera-manager-server
vi /etc/cloudera-scm-agent/config.ini 
#或使用下面sed命令批量替换
sed -i "s/server_host=localhost/server_host=node-1/g" /etc/cloudera-scm-agent/config.ini
5.6 启动Cloudera Manager Server
  • 启动Cloudera Manager Server
#systemctl start cloudera-scm-server
#systemctl enable cloudera-scm-server

service cloudera-scm-server start
chkconfig cloudera-scm-server on
5.7 启动cloudera-scm-agent
  • 启动所有子节点的agent
#systemctl start cloudera-scm-agent
#systemctl enable cloudera-scm-agent

service cloudera-scm-agent start
chkconfig cloudera-scm-agent on

6.登录管理界面

6.1 初始化Clouder Manager
  • 使用浏览器访问主节点的7180端口,用户名密码默认都是admin

在这里插入图片描述

  • 点击继续

  • 勾选接受条款,点击继续

在这里插入图片描述

  • 选择企业试用版

在这里插入图片描述

  • 点击继续开始安装

  • 输入集群名称,点击继续

  • 选择要添加的节点

  • 修改警告
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

  • 添加到启动项
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local

  • 批量修改for循环命令
for i in {1..10}
do
  ssh node-$i '
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
	  echo never > /sys/kernel/mm/transparent_hugepage/enabled
	  echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
    echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
  exit'
done

在这里插入图片描述

  • 批量修改for循环命令
for i in {1..10}
do
  ssh node-$i '
    echo 10 > /proc/sys/vm/swappiness
  exit'
done
  • 重新运行检查

  • 选择要按照的服务组件

  • 可以根据需要,进行按照
  • 这里先自定义有选择性的安装

6.2 安装zookeeper
  • 先安装zookeeper

  • 选择安装zk的节点,zk安装在node-2、node-3、node-4
  • cloudder的自带服务都安装在了node-1上了

  • 点击继续

  • 创建

  • 在MySQL上创建一个普通用户doit【root用户权限过高】
CREATE USER doit IDENTIFIED BY 'doit123';  
  • 创建信息上报的数据库
CREATE DATABASE reports DEFAULT CHARSET utf8;
  • 创建活动监控的数据库
CREATE DATABASE activity DEFAULT CHARSET utf8;
  • 允许mysql远程登录
#授予权限
GRANT ALL PRIVILEGES on reports.* TO doit@'%' IDENTIFIED BY 'doit123';
GRANT ALL PRIVILEGES on activity.* TO doit@'%' IDENTIFIED BY 'doit123';
GRANT ALL PRIVILEGES on audit.* TO doit@'%' IDENTIFIED BY 'doit123';
GRANT ALL PRIVILEGES on metadata.* TO doit@'%' IDENTIFIED BY 'doit123';
FLUSH PRIVILEGES;
  • 拷贝mysql的连接驱动jar到其他节点
scp -r /usr/share/java/ node-2.51doit.cn:/usr/share/

– 安装yarn

  • 安装hive

  • 创建hive的元数据库
CREATE DATABASE hive DEFAULT CHARSET utf8;
  • 允许mysql远程登录
#授予权限
GRANT ALL PRIVILEGES on hive.* TO doit@'%' IDENTIFIED BY 'doit123';
FLUSH PRIVILEGES;

for i in {2..10}
do
  ssh node-$i 'mkdir -p /usr/share/java; exit;'
  scp mysql-connector-java-5.1.47.jar node-$i:/usr/share/java/mysql-connector-java.jar
done

  • 创建hive的元数据库
CREATE DATABASE hue DEFAULT CHARSET utf8;
  • 允许mysql远程登录
#授予权限
GRANT ALL PRIVILEGES on hue.* TO doit@'%' IDENTIFIED BY 'doit123';
FLUSH PRIVILEGES;

7.问题总结

  • 切换用户

usermod -s /bin/bash hdfs

可以查看cloudera创建的用户

cat /etc/passwd
  • 创建hive表时表名要使用飘号
create table `user2` (id int, name string, age int) row format delimited fields terminated by ','; 
  • 切换impla为hue的执行引擎,需要修改hue的配置,并且重启hue

如果有节点没有发现,可以查看agent的启动日志

less /var/log/cloudera-scm-agent/cloudera-scm-agent.log
  • 如果一下agent无法启动,查看 https://blog.csdn.net/qq_34842671/article/details/82722067

  • 如果在一台机器反复安装,可能是以前的进程没有清理

ps -ef | grep supervisord
#杀掉以前的进程

  • 重启cloudera-scm-agent
systemctl restart cloudera-scm-agent
for i in {1..10}; do ssh node-$i.51doit.cn 'service cloudera-scm-agent stop && exit'; done 

错误提示:
cloudera-scm-agent 已死,但 pid 文件仍存
解决办法:

for i in {2..10}; do ssh node-$i.51doit.cn 'rm -rf /var/lib/cloudera-scm-agent/cm_guid && exit'; done 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CDH是Apache Hadoop和相关项目的最完整,经过测试的流行发行版。 CDH提供了Hadoop的核心元素 - 可扩展的存储和分布式计算 - 以及基于Web的用户界面和重要的企业功能。 CDH是Apache许可的开放源码,是唯一提供统一批处理,交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。 Cloudera作为一个强大的商业版数据中心管理工具,提供了各种能够快速稳定运行的数据计算框架,如Apache Spark;使用Apache Impala做为对HDFS,HBase的高性能SQL查询引擎;也带了Hive数据仓库工具帮助用户分析数据; 用户也能用Cloudera管理安装HBase分布式列式NoSQL数据库;Cloudera还包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去对Hadoop上的计算任务进行一个可视化的协调优化,提高运行效率;同时Cloudera中提供的各种组件能让用户在一个可视化的UI界面中方便地管理,配置和监控Hadoop以及其它所有相关组件,并有一定的容错容灾处理;Cloudera作为一个广泛使用的商业版数据中心管理工具更是对数据的安全决不妥协! CDH 提供: 灵活性 - 存储任何类型的数据,并使用各种不同的计算框架进行处理,包括批处理,交互式SQL,自由文本搜索,机器学习和统计计算。 集成 - 在一个可与广泛的硬件和软件解决方案配合使用的完整Hadoop平台上快速启动并运行。 安全 - 过程和控制敏感数据。 可扩展性 - 启用广泛的应用程序并进行扩展和扩展,以满足您的需求。 高可用性 - 充满信心地执行关键业务任务。 兼容性 - 利用您现有的IT基础设施和资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值