Ubuntu16.0.4安装Cloudera Manager5.16.2

Ubuntu16.0.4安装Cloudera Manager5.16.2

一、环境及软件准备

1.环境:Ubuntu16.04 desktop x 3 台

            IP分别为: 172.16.20.11  hadoop-master
                     172.16.20.13  hadoop-slave1
                     172.16.20.15  hadoop-slave2
 
            用户统一使用root用户

2.需下载安装的软件

Cloudera Manager压缩包(下面简称CM):
CDH离线资源包(parcels):
Mysql驱动Jar包:

mysql-connector-java-5.1.28-bin.jar

其他辅助工具:
  • ssh服务
  • ntp服务
  • oracle-java

3.各节点安装位置

  • cloudera-manager-daemons(主节点)

  • cloudera-manager-server(主节点)

  • cloudera-manager-agent(主节点和从节点)

注意:Ubuntu有多个版本:16.04代号为Xenial Xerus——好客的非洲地松鼠14.04代号为Trusty Tahr——值得信赖的塔尔羊12.04代号为Precise Pangolin——精准的穿山甲,因此16.04需下载xenial版本的文件,否则可能会出现不兼容的问题。详情请看https://blog.csdn.net/zhengmx100/article/details/78352773

二、主机的环境配置

1.修改hostname(所有节点)

①主节点 hadoop-master
root@hadoop-master:~#  sudo vi /etc/hostname
# 添加以下内容
#----------------------------------#
hadoop-master
#----------------------------------#
②从节点 hadoop-slave[1-2]
root@hadoop-slave1:~#  sudo vi /etc/hostname
# 添加以下内容
#----------------------------------#
hadoop-slave1
#----------------------------------#
③使hostname生效
root@hadoop-slave1:~#  sudo /etc/init.d/hostname.sh start

2.修改hosts(所有节点)

root@hadoop-master:~#  sudo vi /etc/hosts
# 添加以下内容
#----------------------------------#
127.0.0.1       localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

# hostname loopback address
#127.0.1.1      i-gezafer6
172.16.20.11 hadoop-master
172.16.20.13 hadoop-slave1
172.16.20.15 hadoop-slave2
#----------------------------------#

3.更新软件包(所有节点)

root@hadoop-master:~#  sudo apt update

4.关闭防火墙(所有节点)

root@hadoop-master:~#  sudo ufw disable 
root@hadoop-master:~#  sudo apt-get remove iptables(为方便操作,我卸载iptables组件,你们随意,只要关闭就行。)

5.ssh服务配置(所有节点)

①如果未安装ssh服务则先进行安装(所有节点)
root@hadoop-master:~#  sudo apt install openssh-server openssh-client
②修改/etc/ssh/sshd_config配置文件(所有节点)
root@hadoop-master:~#  sudo vim /etc/ssh/sshd_config
# 查找并修改以下内容,若有#号注释的删除#号并更改即可
#----------------------------------#
PermitRootLogin yes
PasswordAuthentication yes
#----------------------------------#
root@hadoop-master:~#  sudo /etc/init.d/ssh restart
③配置各节点之间的免密登陆(主节点)
# 在每个节点上分别生成密钥,生成密钥 一路回车,如果之前已有生成,提示是否重新生成时填y即可
root@hadoop-master:~#  sudo ssh-keygen -t rsa

# 会在~/.ssh下面生成2个文件
# id_rsa,id_rsa.pub
# 以下按顺序执行,分别把密钥文件分发给其它节点
# 注意:如果出现无法连接的 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 错误时 清楚~/.ssh 文件下know_hosts文件找到与登录错误的IP的公钥删除即可  
root@hadoop-master:~#  sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
root@hadoop-master:~#  sudo scp ~/.ssh/authorized_keys root@hadoop-slave1:~/.ssh/
root@hadoop-master:~#  sudo ssh hadoop-slave1
root@hadoop-master:~#  sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
root@hadoop-master:~#  sudo scp ~/.ssh/authorized_keys root@hadoop-slave2:~/.ssh/
root@hadoop-master:~#  sudo ssh hadoop-slave2
root@hadoop-master:~#  sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
root@hadoop-master:~#  sudo scp ~/.ssh/authorized_keys root@hadoop-slave1:~/.ssh/
root@hadoop-master:~#  sudo scp ~/.ssh/authorized_keys root@hadoop-master:~/.ssh/

6.配置ntp服务(所有节点)

①安装ntp服务(所有节点)
root@hadoop-master:~#  sudo apt-get install ntp
②启动ntp服务(所有节点)
root@hadoop-master:~#  sudo service ntp restart

7.安装配置JAVA(所有节点)

①安装java(所有节点)
##因为cm必须安装oracle的java,而ubuntu的源中默认只有openjdk所以需要添加源
root@hadoop-master:~#  sudo apt-get install software-properties-common python-software-properties  
root@hadoop-master:~#  sudo add-apt-repository ppa:webupd8team/java
root@hadoop-master:~#  sudo apt-get update
②修改/etc/profile文件添加JAVA_HOME(所有节点)
root@hadoop-master:~#  sudo vi /etc/profile
# 在文末添加
#----------------------------------#
 export JAVA_HOME=/usr/lib/jvm/java-8-oracle
 export JRE_HOME=${JAVA_HOME}/jre 
 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
 export PATH=$PATH:${JAVA_HOME}/bin:{JRE_HOME}/bin:$PATH
#----------------------------------#
③更新环境变量(所有节点)
root@hadoop-master:~#  source /etc/profile

8.安装配置mysql(主节点)

①安装mysql服务(主节点)
root@hadoop-master:~#  sudo apt-get install mysql-client mysql-server
②重启mysql服务(主节点)
root@hadoop-master:~#  sudo service mysql restart

9.重启系统(所有节点)

root@hadoop-master:~#  sudo reboot

到现在我们的准备工作已经做完了!!

三、测试环境是否正常

1.测试host是否正常(所有节点)

如果都能ping通,说明host并没有问题,可以直接测试下一步,如果不能ping通,则需要检查下host。

①ping hadoop-master(所有节点)
root@hadoop-master:~#  ping hadoop-master
②ping hadoop-slave1(所有节点)
root@hadoop-master:~#  ping hadoop-slave1
③ping hadoop-slave2(所有节点)
root@hadoop-master:~#  ping hadoop-slave1

2.测试免密码登录ssh(所有节点)

# 若正常进入,输入exit退出
root@hadoop-master:~# sudo ssh hadoop-master

root@hadoop-master:~# sudo ssh hadoop-slave1 

root@hadoop-master:~# sudo ssh hadoop-slave2

四、安装Cloudera Manager

1.第一种方式:tar.gz软件包的安装

1.配置本地源
①将下载的tar.gz包上传到指定目录下并解压(我把tar.gz包解压到/opt目录下,你们随意)(主节点)
root@hadoop-master:~#  tar  -zxvf  cloudera-manager-xenial-cm5.16.2_amd64.tar -C /opt/
②创建parcle-repo本地CDH源以及parcels目录(所有节点)
root@hadoop-master:~#  mkdir /opt/cloudera /opt/cloudera/parcels /opt/cloudera/parcel-repo
③将下载好的CDH离线资源包(parcels)上传到指定(主节点)
#在这里需要将sha1更名为sha否则无法识别
root@hadoop-master:~#  mv ~/CDH-5.16.2-1.cdh5.16.2.p0.4-xenial.parcel.sha1 /opt/cloudera/parcel-repo/
root@hadoop-master:~#  mv ~/CDH-5.16.1-2.cdh5.16.2.p0.4-xenial.parcel /opt/cloudera/parcel-repo/
root@hadoop-master:~#  mv ~/manifest.json /opt/cloudera/parcel-repo/
④将下载好的Mysql驱动上传到指定目录(主节点)
root@hadoop-master:~#  mv ~/mysql-connector-java-5.1.28-bin.jar /usr/share/java/
root@hadoop-master:~#  mv ~/mysql-connector-java-5.1.28-bin.jar /opt/cm-5.16.2/share/cmf/lib/
2.配置cm数据库账户
1.进入MySQL(主节点)
root@hadoop-master:~#  mysql -uroot -p
2.创建数据库(主节点)
①创建语句模板(可根据自己的需求创建相应的数据库)
#其中<database>指数据库名称、<user>指数据库账号、<password>指数据库密码。
root@hadoop-master:~#  CREATE DATABASE <database> DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
root@hadoop-master:~#  GRANT ALL ON <database>.* TO '<user>'@'%' IDENTIFIED BY '<password>';
②我的创建语句
# 创建scm数据库,账户名为scm,密码为ok。
#-----------------------------------------------------------------------------------------------------#
root@hadoop-master:~#  CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
root@hadoop-master:~#  GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'ok';
#-----------------------------------------------------------------------------------------------------#
# 创建amon数据库,账户名为amon,密码为ok。
#-----------------------------------------------------------------------------------------------------#
root@hadoop-master:~#  CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
root@hadoop-master:~#  GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'ok';
#-----------------------------------------------------------------------------------------------------#
# 创建rman数据库,账户名为rman,密码为ok。
#-----------------------------------------------------------------------------------------------------#
root@hadoop-master:~#  CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
root@hadoop-master:~#  GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'ok';
#-----------------------------------------------------------------------------------------------------#
# 创建hue数据库,账户名为hue,密码为ok。
#-----------------------------------------------------------------------------------------------------#
root@hadoop-master:~#  CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
root@hadoop-master:~#  GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'ok';
#-----------------------------------------------------------------------------------------------------#
# 创建hive数据库,账户名为hive,密码为ok。
#-----------------------------------------------------------------------------------------------------#
root@hadoop-master:~#  CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
root@hadoop-master:~#  GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'ok';
#-----------------------------------------------------------------------------------------------------#
# 创建nav数据库,账户名为nav,密码为ok。
#-----------------------------------------------------------------------------------------------------#
root@hadoop-master:~#  CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
root@hadoop-master:~#  GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'ok';
#-----------------------------------------------------------------------------------------------------#
# 创建oozie数据库,账户名为oozie,密码为ok。
#-----------------------------------------------------------------------------------------------------#
root@hadoop-master:~#  CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
root@hadoop-master:~#  GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'ok';
#-----------------------------------------------------------------------------------------------------#
③退出MySQL
root@hadoop-master:~#  exit;
3.创建scm数据库(主节点)
# 重新配置时,防止scm数据库已经存在而终止执行命令可加参数 -f
# 脚本用来创建和配置CMS需要的数据库。各参数是指:
     mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
     第一个scm:我们上面创建的数据库名。
     第二个scm:我们上面创建的数据库用户名。
     ok:我们上面创建的数据库密码。
# 最后四个参数分别是:数据库类型,数据库名,数据库用户名,数据库密码。
root@hadoop-master:~#  /opt/cm-5.16.2/share/cmf/schema/scm_prepare_database.sh mysql scm scm ok
4.配置agent(主节点)
root@hadoop-master:~#  sudo vim /opt/cm-5.16.2/etc/cloudera-scm-agent/config.ini
# 修改以下内容
  server_host修改为cloudera-manager-server节点名
  如端口冲突可以再修改下server_port
#--------------------------#
server_host=hadoop-master
server_port=7182
#--------------------------#
5.复制master节点的cm-5.16.2文件夹至slave节点(主节点)
root@hadoop-master:~#  sudo scp -r /opt/cm-5.16.2 hadoop-slave1:/opt/
root@hadoop-master:~#  sudo scp -r /opt/cm-5.16.2 hadoop-slave2:/opt/
6.创建cloudera-scm用户(所有节点)
root@hadoop-master:~#  useradd --system --home=/opt/cm-5.16.2/run/cloudera-scm-server --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
7.更改文件夹所有用户与用户组(所有节点)
root@hadoop-master:~#  sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels
root@hadoop-master:~#  sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
root@hadoop-master:~#  sudo chown -R cloudera-scm:cloudera-scm /opt/cm-5.16.2
8.启动Cloudera Manager Server和Agent(所有节点)
①启动Cloudera Manager Server
#在hadoop-masterm执行
root@hadoop-master:~#  /opt/cm-5.16.2/etc/init.d/cloudera-scm-server start

# 查看运行状态
root@hadoop-master:~#  /opt/cm-5.16.2/etc/init.d/cloudera-scm-server status

# 查看server日志
root@hadoop-master:~#  tail -f /opt/cm-5.16.2/log/cloudera-scm-server/cloudera-scm-server.log 
①启动Cloudera Manager Agent
#在各个节点执行
root@hadoop-master:~#  /opt/cm-5.16.2/etc/init.d/cloudera-scm-agent start

# 查看运行状态
root@hadoop-master:~#  /opt/cm-5.16.2/etc/init.d/cloudera-scm-agent status

# 查看agent日志
root@hadoop-master:~#  tail -f /opt/cm-5.16.2/log/cloudera-scm-agent/cloudera-scm-agent.log 

2.第二种方式:apt-get 安装方法

有空补上

3.第三种方式:deb 包的安装方

有空补上式

五.图形化安装

①进入CM管理界面: 通过<主节点ip:7180> 进入
http://172.16.20.11:7180/
# 账号密码均为admin

在这里插入图片描述

②选择版本

在这里插入图片描述

③选择安装的主机:如果没有启动cloudera-scm-agent服务会出现部分节点不在以管理的主机中,启动再刷新就可以了(图是我偷得,我的已经装好了,所以大家将就下。)

在这里插入图片描述

④选择cdh的版本,选择自己下载在parcels-repo包中的cdh版本,这里应该选CDH-5.16.2-cdh5.16.2p0.3(这张也是我偷的图,不过大家知道用法就行了。)

在这里插入图片描述

⑤进行集群安装,刚开始可能会出现connect refused 再等待一会应该就会重新进行分配

在这里插入图片描述

⑥集群安装检查主机正确性,确保所有验证都为绿色

在这里插入图片描述

如果大家出现这个问题可以参考以下说明:
解决方法:在出现问题的节点上运行:echo 10 > /proc/sys/vm/swappiness
echo后面的10 为需要的设置的值。
⑦选择自己需要的服务,我这里先选择HDFS、YARN、Zookeeper这三个。

在这里插入图片描述
在这里插入图片描述

⑧根据自己的需求与机器状态分配节点

在这里插入图片描述

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

在这里插入图片描述

⑩数据库设置(数据库名为之前创建的数据库名,若没有创建你需要的服务所需的数据库,可自行再进行创建。),最后等它启动。

在这里插入图片描述
在这里插入图片描述

六、常见问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值