CDH安装部署

14 篇文章 0 订阅
14 篇文章 0 订阅

目录

环境准备

系统基本安装配置

安装配置Clouder Manager(在cdh71上)

配置Cloudera  Agent(cdh72和cdh73)

部署CDH5

遇到的一些问题:

NTP时钟不同步

修改主机名


环境准备

准备三台CentOS虚拟机:一个Cloudera Manager节点、两个Agent节点

安装如下:

CDH71:Server GUI、Development Tools、MariaDB

CDH72:Server GUI、Development Tools

CDH73:Server GUI、Development Tools

 

系统基本安装配置

关闭防火墙:

systemctl stop firewalld.service

systemctl disable firewalld.service

编辑主机名:

/etc/hosts

配置免密码登录

配置NTP服务(时间服务器)

创建目录:mkdir /root/cdroom/

挂载光盘:mount /dev/cdrom /root/cdroom/

删除原来的所有repo文件

创建yum的源文件: vi /etc/yum.repos.d/my.repo

[centos-yum]

baseurl=file:///root/cdroom

enabled=1

gpgcheck=0

 

开启NTP服务

yum install ntp

systemctl is-enabled ntpd

systemctl enable ntpd

systemctl start ntpd

配置JDK

卸载系统原有的Java环境

第一步:使用下面的命令查看当前所有的Java环境的安装包

rpm -qa | grep java

第二步:使用下面的命令删除所有的Java安装包

rpm -e --nodeps 包名

 

安装新的JDK环境

将jdk-8u161-linux-x64.rpm上传到/opt目录

安装JDK:rpm -ivh jdk-8u161-linux-x64.rpm  

执行下面的命令,设置环境变量:

echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment

 

验证JDK环境

which java

java -version

配置MariaDB(CDH71上)

启动MariaDB

systemctl start mariadb

systemctl enable mariadb (开机自启动)

配置MariaDB

mysql_secure_installation

#首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

#设置密码

Set root password? [Y/n] <–是否设置root用户密码,输入y并回车或直接回车

New password: <– 设置root用户的密码

Re-enter new password: <– 再输入一次你设置的密码

#其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

 

初始化MariaDB

登录数据库:mysql -uroot -pWelcome_1

create database hive;

create database amon;  ---> 这个是CDH的activity monitor

create database oozie;

create database hue;

 

安装数据库驱动

yum install mysql-connector-java

 

安装配置Clouder Manager(在cdh71上)

将cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz上传至/opt目录,并解压

tar -zxvf cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz

 

将mysql的驱动放到/opt/cm-5.12.1/share/cmf/lib/中

cp /usr/share/java/mysql-connector-java.jar /opt/cm-5.12.1/share/cmf/lib/

 

初始化Cloudera Manager的数据库元信息

/opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pWelcome_1 --scm-host localhost scm scm scm

 

创建cloudera-scm用户

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

 

将以下文件上传至/opt/cloudera/parcel-repo/目录

CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel

CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1

manifest.json

 

重命名文件CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1

改名为:CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha (注意:少了一个1)

 

修改/opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

 

配置Cloudera  Agent(cdh72和cdh73)

从主节点cdh71上将Cloudera Manager Agent复制到agent节点(cdh72和cdh73)上

scp -r /opt/cm-5.12.1 root@cdh72:/opt/

scp -r /opt/cm-5.12.1 root@cdh73:/opt/

 

在agent节点(cdh72和cdh73)上创建cloudera-scm用户

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

 

部署CDH5

在cdh71启动服务Cloudera Manager Server

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

启动server慢,日志路径

/opt/cm-5.12.1/log/cloudera-scm-server/cloudera-scm-server.log

在cdh72和cdh73上启动的agent

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

访问cdh71上的Cloudera Manager:

端口:7180(http://192.168.222.71:7180/cmf/login)

 

用户名密码:admin/admin

接受用户条款

选择60天试用版

点击“继续”

为CDH群集安装指定主机(选择cdh72和cdh73)

选择存储库(注意:要删除默认的远程库。如果之前没有做这一步,会有错误。需要重新安装。因为我们使用的是虚机,存储库在本地,不用远程访问下载)

 

 

将存储库部署到主机,耗时很久

 

 

Cloudera Manager首页

uploading.gif转存失败重新上传取消

 

检查每台机器上的Java后台进程

 

验证CDH

su - hdfs

hdfs dfs -ls /

hdfs dfs -mkdir /input

hdfs dfs -ls /

 

遇到的一些问题:

分配存储空间的报错,修改过host主机名,导致访问不到。

  1. 修改host主机名,重新配置免密码登录
  2. 71上的mysql数据库,HOSTS表中修改NAME。

 

NTP时钟不同步

参考:https://blog.csdn.net/lukabruce/article/details/80805929

配置NTP时钟同步

在所有要安装CDH环境的设备中设置统一时钟同步服务。如果我们有时钟服务器,那么我们需要在每一台设备上进行NTP客户端配置;如果没有,我们就将server主机作为时钟服务器,对server主机进行NTP服务器配置。其他服务器来同步这台服务器的时钟。

本示例中将按照没有时钟服务器的情况进行演示,将server主机配置为NTP服务器,其他主机配置为NTP客户端。如果有时钟服务器更简单,所有的服务器都配置为NTP客户端就好了。

NTP服务器配置(在server主机上配置,如果有时钟服务器,server主机也是配置为客户端)

修改/etc/ntp.conf

对该文件的内容进行以下的修改:

1、注释掉所有的restrict开头的配置

2、找到restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap,取消注释,并将其中IP和掩码修改为真实环境IP和掩码,此行配置为允许ntp客户端连接的配置

3、找到server 0.centos.pool.ntp.org iburst,并将所有server配置进行注释

4、添加下面两行内容

        server 127.127.1.0

        fudge 127.127.1.0 stratum 10

启动NTP服务

执行以下命令启动ntp服务

[root@localhost ~]# systemctl restart ntpd

查看服务状态

启动服务后,使用ntpq -p查看服务状态,当reach达到比较大的值后(一般为17),再进行NTP客户端配置。

NTP客户端配置(在agent主机上进行配置)

修改/etc/ntp.conf

对该文件进行以下内容的修改:

1、注释所有restrict和server配置

2、添加下面注释,需要修改以下的IP为NTP服务器的IP(在本案例中就是server主机的IP)

        server 192.168.187.5

手动同步时间

为了避免首次同步时间比较慢,和测试一下我们是否配置正确,我们先使用下面命令手工同步一次。

[root@localhost ~]# ntpdate 192.168.187.51

启动NTP服务

[root@localhost ~]# systemctl restart ntpd

将所有的主机的ntp服务设置为开机自启动

centos6:[root@localhost ~]# chkconfig ntpd on

centos7:[root@localhost ~]# systenctl enable ntpd.service

 

首次安装HDFS服务报错,原因是机器的内存小和NTP时钟不一致。进去系统后,卸载挂载主机,重新分配主机,多次尝试后就可以了。登录系统,主机界面中加HDFS服务,按照默认配置参数一路安装。

 

修改主机名

在安装系统的时候,主机名做过修改,导致启动的时候一直连接不上。主要的问题是对hostname 和 hosts的区别不清

修改主机名称

修改主机名的原因是为了方便我们记忆与管理,但这并不是主要原因,更主要的是防止hadoop的内部实现机制要通过主机名来路由到该主机的IP上,我们需要保证每一台机器的主机名不相同。

本示例中仅以第一台服务器的操作为示例,其他的服务器都是相同的操作,但需要注意的是一定要保证每一台主机的hostname不相同。(建议使用hdfs1,hdfs2,hdfs3.. . 这样的格式一次为每一台服务器命名)。

以下给出修改主机名的操作命令(在ROOT下进行操作):

Centos6:

[root@localhost ~]# vi /etc/hostname

将内容修改为新的hostname

Centos7:

[root@localhost ~]# hostnamectl set-hostname hdfs1;

[root@localhost ~]# hostname hdfs1

执行完以上的命令退出,重新登录即可。

 

主机名中不能使用下划线(_)。

主机名不能保护大写字符

设置主机路由(HOSTS)

修改HOSTS的原因主要有两点:

1、为了防止hadoop内部实现机制通过主机名来进行对主机的访问。

2、为了我们在配置过程中书写起来比较方便,看起来也一目了然。

这里要说明的是,我们配置HOSTS并不是只配置本机IP和主机的对应关系,而是我们规划中的每一台机器都要配置所有机器的IP和主机名称的对应关系。

修改HOSTS方法:

以下是修改HOSTS的操作命令(在ROOT用户下进行操作):

修改/etc/hosts文件,在文件中添加规划中的所有主机的IP和主机名的对应关系。而且每一台机器都配置。

[root@hdfs1 ~]# vi /etc/hosts

在该文件中添加以下格式的内容,该内容是我们规划中的所有主机的IP和主机名称,而且每一台机器的HOSTS中都要添加相同的内容,IP与主机名用一个TAB键隔开。

192.168.186.101    hdfs1

192.168.186.102    hdfs2

192.168.186.103    hdfs3

……

如果想要多个名称路由到同一个IP,我们只需要在后边继续添加即可,同样是使用TAB键隔开。例如:

192.168.186.101    hdfs1      master     spark       hadoop

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值