栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

CDH安装6.1.0安装文档分享<<<小白安装>>>

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CDH安装6.1.0安装文档分享<<<小白安装>>>

1.集群资源 1.1 集群资源配置
# 配置十台服务器 每台服务器的配置如下 : 
Cores(内核)Memeory(内存)Disk(磁盘)
148256
248256
348256
448256
548256
648256
748256
848256
948256
1048256
1.2 集群服务配置
# 每台服务器配置的服务角色如下:
IPZookeeper服务Yarn服务Hive服务Oozie服务HDFS服务Spark服务CM服务
10.212.6.51ServerJobHistoty Server,NodeManager, ResourceManager(活动)Hive metastore Server,HiveServer2Oozie ServeNameNode(活动),JournalNode,HttpFS,Failover ControllerHistory Serveralert Publisher,Host Monitor,Service Monitor,EventServer
10.212.6.52——NodeManager , ResourceManager(备用)————NameNode(备用),JournalNode,HttpFS,Failover Controller————
10.212.3.51——NodeManager————JournalNode,HttpFS,DataNode————
10.212.3.52——NodeManager————JournalNode,HttpFS,DataNode————
10.212.3.53——NodeManager————JournalNode,HttpFS,DataNode————
10.212.3.54——NodeManager————DataNode————
10.212.3.55ServerNodeManager————DataNode————
10.212.3.56ServerNodeManager————DataNode————
10.212.3.57ServerNodeManager————DataNode————
10.212.3.58ServerNodeManager————DataNode————
1.3 集群服务版本
服务版本
CDH6.1.0
JDK1.8.0_111
MySQL5.7.23
HDFS3.0.0
Yarn3.0.0
MapReduce3.0.0
Hive2.1.1
Hue3.9.0
Spark2.4.0
Zookeeper3.4.5
1.4 各服务进程详解
#各服务中角色详解如下:
角色服务作用
alert PublisherCloudera Management警告通知,生成相关类型警告通知事件并提供SNMP服务供第三方收集信息。
Event ServerCloudera Management事件服务,收集hadoop相关事件并据此生成警告信息
Host MonitorCloudera Management主机检测,收集主机运行健康指标信息
Service MonitorCloudera Management服务检测,收集有关服务的运行状况和指标信息以及YARN和Impala服务中的活动信息
NameNodeHDFS主要负责管理hdfs文件系统
JournalNodeHDFS两个Namenode之间同步数据
HttpFSHDFS1.可以在浏览器中对hdfs进行读写操作
2.通过REST风格的API管理HDFS。
Failover ControllerHDFS负责监视和管理NameNode的状态
DataNodeHDFS数据节点,负责存储数据
Hive metastore serverHive服务端,客户端发送请求,server去远程metastore查询信息并返回
Hive Server2Hive能使客户端执行Hive查询的服务
Spark history serverSpark应用程序的运行信息写入指定目录后,将运行信息装载,以web的方式供用户浏览
Yarn ResourceManagerYarn负责集群中所有资源的统一管理和分配,接受NM的资源汇报信息
Yarn NodeManagerYarn资源和任务管理器,定时地向RM汇报节点上的资源使用情况和Container的运行状态
Yarn JobHistory ServerYarn向用户提供历史的mapred Job 查询。
Zookeeper ServerZookeeperZooKeeper服务端,维护和同步配置数据的集中服务
Oozie ServerOozie任务调度器,提供任务编排、执行的功能
2.CDH下载 2.1 CM的tar包下载
#下载地址 :
https://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cm6/redhat/7/x86_64/cm/6.1.0/RPMS/x86_64/

选择对应的版本下载

生产环境下载地址:

#使用ROOT用户上传下载的文件到主节点
2.2 parcels包下载
#下载地址 :
https://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cdh6/parcels/6.1.0/

选择对应的版本进行下载

3.安装CDH的准备工作 3.1 安装 JDK a. CM 对JDK的需求(官方需求):
1.JDK必须是64位,不能为32位
2.安装的JDK必须是下述表格中支持的版本
3.集群中每台服务器的JDK版本必须相同
4.JDK安装的目录必须为 /usr/java/jdk-'版本号' 没有就创建
Cloudera企业版支持的Oracle JDK支持的OpenJDK
5.16及更高的5.X版本1.7 /1.81.8
6.01.8none
6.11.81.8
6.21.81.8
6.31.81.8、11.0.3 或更高版本
b. 下载对应的JDK
#1.下载地址:
Oracle官网下载地址 : 
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

#2.解压下载的压缩包:
下载对应的JDK的tar包到 主节点 的/usr/java/目录下 进行解压 
tar -zxvf  jdk-8u111-linux-x64.tar.gz          -- 将gz压缩文件解压到当前目录

#3.配置环境变量:vim /etc/profile   每台服务器都要进行配置 
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#4.重新加载配置文件
source /etc/profile
c . 验证JDK是否安装成功
#1.看看 是否设置了jdk环境变量
echo $JAVA_HOME

#2.看看能否查看Java版本
java -version 
3.2 更改主机名与Hosts a. 编辑 /etc/hosts 文件

​ 设置集群中每一台主机的IP地址和全称域名
​ vi /etc/hosts

b. 验证每台主机在网络中一致的标识
uname -a
3.3 关闭防火墙 a. 关闭防火墙
#关闭防火墙
systemctl stop firewalld

#防火墙开机不启动
systemctl disable firewalld
b. 验证防火墙关闭是否成功
#防火墙状态
systemctl status firewalld
3.4 时间同步 ,安装NTP a. 所有节点安装NTP服务
yum -y install ntp
b. 修改ntp.conf文件
vim /etc/ntp.conf
server  10.212.5.52


# 在其余的节点上,把时间服务器的server指向master namenode节点

# 在所有节点
systemctl start ntpd
systemctl enable ntpd
#修改其余服务器的 /etc/ntp.conf
server 10.212.6.51
c. 验证集群时间是否进行同步
#在集群中的十台服务器中同时执行 date 命令  查看时间是否同步 可以编写For循环
3.5 配置免密登录 a. 生成公钥进行免密配置
#1.生成公钥
ssh-keygen -t rsa

#2.拷贝到其它机器 
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.212.6.52

#3.此处做一个循环
for i in {1..8};do ssh-copy-id -i ~/.ssh/id_rsa.pub 10.212.3.5$i;done
6.52进行手动拷贝

注意:

以上步骤,在每一台(共十台)服务器中生成公钥,然后拷贝到其它服务器(除此之外九台),

b. 验证免密配置是否成功
#在任意一台服务器 远程连接到其它服务器  测试是否成功
第一次登录的时候根据提示输入yes
3.6 安装MySQL数据库 a.下载MySQL数据库进行安装
#Mysql下载地址 : 
https://downloads.mysql.com/archives/community/

解压下载的Tar包到指定的目录,启动MySQL

sudo systemctl start mysqld

配置Mysql ,先关闭Mysql

#1.关闭MySQL
sudo systemctl stop mysqld

#2.将/var/lib/mysql/ib_logfile0 和 /var/lib/mysql/ib_logfile1文件 从/var/lib/mysql/ 目录移除,移动到一个自己备份的目录下。

#3.打开并且修改etc/my.cnf文件
vim /etc/my.cof

#4.将MySQL设置为开启启动
sudo systemctl enable mysqld

#5.启动MySQL
sudo systemctl start mysqld

#6.找到安装后的临时密码
sudo grep 'temporary password' /var/log/mysqld.log
#注:如果无法找到临时密码,说明没有成功安装,重新卸载Mysql 删除Mysql 相关目录后重新安装。

#7.运行 /usr/bin/mysql_secure_installation 设置新的root密码,并配置安全相关的设置,这里需要用到上面找到的临时密码。
sudo /usr/bin/mysql_secure_installation

#8.根据提示完成操作
[...]
Enter current password for root (enter for none):
OK, successfully used password, moving on...
[...]
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
[...]
Disallow root login remotely? [Y/n] N
[...]
Remove test database and access to it [Y/n] Y
[...]
Reload privilege tables now? [Y/n] Y
All done!

my.cof配置

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation = READ-COMMITTED

symbolic-links = 0

key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1

max_connections = 550


log_bin=/var/lib/mysql/mysql_bin

server_id=1

binlog_format = mixed

read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M

innodb_file_per_table = 1
innodb_flush_log_at_trx_commit  = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M

[mysqld_safe]
log-error=/var/lib/mysql/mysql.log
pid-file=/var/lib/mysql/mysql.pid
b. 安装JDBC
#1.下载“.tar.gz” 格式的Mysql JDBC 驱动
https://dev.mysql.com/downloads/connector/j/5.1.html

#2.解压JDBC 的jar 文件
tar zxvf mysql-connector-java-5.1.46.tar.gz

#3.将JDBC 驱动文件 重命名,并copy 到 /usr/share/java/目录下。
sudo cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
c. 验证MySQL安装是否成功
#使用Root用户 密码登录MySQL
mysql  -uroot -p123456
4.安装CM

由于在线安装Cloudera Manager和CDH 受网速影响比较大,很容易下载失败,建议建立本地仓库,这样可以提升安装速度。

4.1 安装httpd Server a. 下载httpd Serve
# 安装httpd Server
yum install -y httpd

# 启动该服务
systemctl start httpd.service #启动
systemctl stop httpd.service #停止
systemctl restart httpd.service #重启

# 设置该服务是否开机启动
systemctl enable httpd.service #开机启动
systemctl disable httpd.service #开机不启动

# 查看该服务的状态
systemctl status httpd.service
b. 构建本地Yum源
#1.创建目录
mkdir -p /var/www/html/cmf/parcel/download

#2.将下载好的CM的RPM包与Parcel包拷贝到/var/www/html/cmf/parcel/download目录下

CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel
CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha
manifest.json
cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm
cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm
cloudera-manager-server-6.1.0-769885.el7.x86_64.rpm
cloudera-manager-server-db-2-6.1.0-769885.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm

配置服务器配置文件,防止从本地库下载parcel 文件出现Hash verification failed 错误信息。修改配置文件/etc/httpd/conf/httpd.conf

  这个位置
修改 AddType 为 AddType  application/x-gzip  .gz  .tgz .parcel  
修改 ServerName
c. 配置Yum仓库的配置文件
#创建/etc/yum.repos.d/cloudera-repo.repo文件  内容设置如下

[cloudera-repo]
name=cloudera-repo
baseurl=http://10.212.6.51:80/cmf/parcel/download/
gpgcheck=0
enabled=1
d. 验证是否配置成功
在浏览器输入URL http://10.212.6.51/cmf/parcel/download/
4.2 安装CM的Server + Agent
# 进入创建的CM的文件目录下
cd /var/www/html/cmf/parcel/download

# 安装cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el7.x86_64.rpm
yum install cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm

# 安装cloudera-manager-server-5.7.0-1.cm570.p0.76.el7.x86_64.rpm,请注意,不用安装db版本的,那是使用默认数据库的,在生产环境中一般不使用,生产环境中是使用MySQL数据库的
yum -y install cloudera-manager-server-6.1.0-769885.el7.x86_64.rpm

yum -y install cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm
4.3 MySQL中创建元数据库 a. 创建数据库
# 在MySQL中创建元数据库
create database scm DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
create database hive DEFAULT CHARACTER SET utf8;
create database oozie DEFAULT CHARACTER SET utf8;
create database hue DEFAULT CHARACTER SET utf8;

grant all on scm.* TO 'root'@'%' IDENTIFIED BY '123456';
grant all on amon.* TO 'root'@'%' IDENTIFIED BY '123456';
grant all on hive.* TO 'root'@'%' IDENTIFIED BY '123456';
grant all on oozie.* TO 'root'@'%' IDENTIFIED BY '123456';
grant all on hue.* TO 'root'@'%' IDENTIFIED BY '123456';

# 创建scm用户,并创建scm数据库,此数据库需在CDH的数据库配置文件中配置
create database scm DEFAULT CHARACTER SET utf8;
grant all on scm.* TO 'scm'@'%' IDENTIFIED BY '123456';
flush privileges;

# 创建其他数据库,并授权
create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
flush privileges;
    
create database hive DEFAULT CHARSET SET utf8;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456';
flush privileges;
    
create database oozie DEFAULT CHARSET SET utf8;
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
flush privileges;

create database hue DEFAULT CHARACTER SET utf8;
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
flush privileges;

#给MySQL授权时会出现密码问题,可以执行如下命令
set global validate_password_policy=LOW;
set global validate_password_length=6;

#修改CDH关于数据库的配置文件(如下图所示)
vim /etc/cloudera-scm-server/db.properties

# 上传与MySQL连接的jar包(注:jar包需要放入如下目录,没有就创建)
# 所有节点都需要执行
cd /usr/share/java

# 上传jar包,并修改jar包的名字(此jar包不需要版本号)
mv mysql-connector-java-8.0.15.jar mysql-connector-java.jar
b. 验证数据库是否创建成功
#在MySQL中查看创建的数据库
SHOW DATAbaseS;
4.4 验证CM的Server和Agent是否安装成功
#启动
service cloudera-scm-server start
service cloudera-scm-server status

#在启动时有可能碰到The server time zone value 'EDT' is unrecognized异常,这是mysql的时区和系统的时区不匹配,可以参考如下网站解决
https://blog.csdn.net/u010003835/article/details/88974898

#查看日志
cd /var/log/cloudera-scm-server/
tail -f cloudera-scm-server.log

# 出现如下7180即证明启动成功
WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180

启动成功 :

查看MySQL数据库,会发现scm数据库下会自动创建表:

使用命令会查看到连接scm的用户的具体信息:

show processlist;
4.5 在浏览器的web页面上安装和配置CM

当service cloudera-scm-server start启动成功后,即可以在浏览器上服务7180端口(开放防火墙)。

1.浏览器输入http://10.212.6.51:7180 ,登陆CM的Web界面, 账号密码默认Admin

2.同意许可条件跟条款

3. 选择CM的版本:

4.搜索模式,搜索需要安装CDH的主机:

a. 截图

5.安装CDH 3.8 在web页面上安装CDH集群 1. 选择存储库 a. 资料截图

点击更多选项,将其他远程Parcel删除,并输入先前配置好的Parcel:

2. 选择CDH的版本并自定义存储库: a. 截图

3. 是否安装JDK

默认不安装

4. 是否启用单用户模式

建议启用:

不启用单用户模式,后期各服务之间访问权限受限,建议第一次安装CDH启用单用户
5. 提供 SSH 登录凭据 a. 截图

自由选择,这里直接使用root用户:

6. 进行集群安装 7. 安装选定Parcel

先前配置的Parcel就作用于此处,如果不进行此配置会去官网进行下载,对网络要求很高,并网络中断后会重新下载,较麻烦,使用此配置可以直接下载成功,并速度很快:

8. 检查主机正确性

完成安装对集群中得主机 进行检查配置

安装完CDH后,CDH Manager一般会提示用户需要做一些Linux系统层面的优化,主要包括两类:禁止透明大页面及交换分区设置。详情请参考Cloudera官方网址:

https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_admin_performance.html
a. 关闭透明大页面
#1. 首先查看透明大页是否启用,[always] never表示已启用,always [never]表示已禁用
cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never

#2. 如果是启用状态,修改/etc/rc.local文件并添加以下两行, 
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled 
b. 修改Swappiness

Linux内核参数vm.swappiness,值的范围为0100,表示系统什么时候开始进行物理内存与虚拟内存的交换。举个例子,系统总内存为64G,vm.swappiness为60,表示在系统内存使用64*0.4=25.6G的时候开始物理内存与虚拟内存的交换,这个动作势必会影响系统的性能。因此,Cloudera建议把这个值修改为110。

#1. 首先检查当前设置的vm.swappiness值
cat /proc/sys/vm/swappiness

#2. 修改Swappiness值
echo "vm.swappiness=10" >> /etc/sysctl.conf
6. CDH集群服务添加 1. 选择批量安装的CDH服务:

2. 自定义角色分配 a. 资料截图

3. 进行数据库设置 a. 资料截图

此步骤中用到的数据库在上述的MySQL数据库中均进行了创建和授权:

4. 审核更改 a. 资料截图

此步骤中需要跟据磁盘情况配置,如果多磁盘,可配置多个目录:

到此配置完成 ,集群首次运行,会自动运行全部服务

对于配置HDFS的HA与Yarn的HA步骤与搭建过程中的各种问题下期分享。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号