CDH简易离线部署文档
CDH 离线简易部署文档
文档说明
本文为开发部署文档,生产环境需做相应调整。
以下操作尽量在root用户下操作,避免权限问题。
目录
文档说明 2
文档修改历史记录 2
目录 3
系统环境 4
相关依赖 4
初始准备: 5
java下载和更新 5
修改主机名与主机名解析 5
selinux关闭 6
防火墙关闭 6
NTP服务器设置 6
SSH无密码登录配置 6
安装mysql 7
配置jdbc 8
安装Cloudera-Manager 9
主节点安装工作 9
从节点安装工作 10
常见报错原因及解决 11
在浏览器安装CDHs 12
系统环境
|
系统版本 |
主机名 |
主机ip |
用户名密码 |
说明 |
|
Centos6.5 |
bigdata01 |
10.62.8.1 |
Root:rootroot |
安装主节点,主节点, |
|
Centos6.5 |
bigdata02 |
10.62.8.2 |
Root:rootroot |
从节点 |
|
Centos6.5 |
bigdata03 |
10.62.8.3 |
Root:rootroot |
从节点 |
|
Centos6.5 |
bigdata04 |
10.62.8.4 |
Root:rootroot |
从节点 |
相关依赖
|
依赖名称 |
依赖版本 |
依赖用途 |
|
jdk 1.8 |
jdk-8u101-linux-x64.rpm |
Openjdk |
|
mysql |
MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar.gz |
存放cloudera manager配置文件 |
|
mysql-connector-java |
mysql-connector-java-8.0.11.jar |
JDBC |
|
cloudera manager包 |
cloudera-manager-el6-cm5.9.3_x86_64.tar |
简易安装CDH平台 |
|
CDH parcel 包 |
CDH-5.7.2-1.cdh5.7.2.p0.18-el6.parcel |
集群各软件压缩包 |
|
CDH parcel.sha包 |
CDH-5.7.2-1.cdh5.7.2.p0.18-el6.parcel.sha1 |
压缩包对于哈希码 |
|
manifest.json |
网站对应版本页面上的文件 |
版本说明json文件 |
初始准备:
java下载和更新
为了避免java版本过低导致的相关问题,首先将每个节点java版本更新至1.8。
#查看已经安装版本
rpm -qa | grep jdk
java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
#卸载已经安装版本
yum -y remove java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
yum -y remove java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
#安装最新版本
rpm -ivh jdk-8u101-linux-x64.rpm
#查看最新安装版本
java –version
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
修改主机名与主机名解析
为了方便配置各节点,将主机名设置成特定格式,方便记忆。每个节点对应修改
#设定主机名与网卡启动
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=bigdata01
#主机名和IP解析
vim /etc/hosts
127.0.0.1 localhost. bigdata01
10.62.8.2 bigdata02
10.62.8.4 bigdata03
10.62.8.4 bigdata04
selinux关闭
# 每个节点通过配置文件永久关闭selinux,重启生效
vim /etc/sysconfig/selinux
SELINUX=disabled
# 查看selinux状态
sestatus –v
SELinux status: disabled
防火墙关闭
# 每个节点关闭防火墙(或者设置对应的策略能够让各节点互相通信)
service iptables stop #临时关闭
chkconfig iptables off #开机关闭
service iptables status #查看状态
NTP服务器设置
# 每个节点开启NTP 服务,统一各节点时间。
vim /etc/ntp.conf
server 10.62.8.1 iburst #离线情况下节点指向主节点
service ntpd restart
# 检查
service ntpd status
date
SSH无密码登录配置
# 主节点生成ssh公钥
ssh-keygen -t rsa (一直回车)
ssh-copy-id bigdata02 (对应节点)
# 检查在主节点上能否免密登录各节点
ssh bigdata02
# 如果不能免密登录,查看 /var/log/security, 一般为ssh文件的权限问题
安装mysql
# 安装在主节点上,用于存放cloudera manager 配置文件,如果已有即可不用安装。
tar -xvf MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar
rpm -ivh MySQL-*.rpm
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
vim /etc/my.cnf
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
#初始化mysql
/usr/bin/mysql_install_db
# 开启mysql
service mysql restart
ERROR! MySQL server PID file could not be found!
Starting MySQL... SUCCESS!
# 查看mysql root初始化密码
cat /root/.mysql_secret
The random password set for the root user at Fri Sep 16 11:13:25 2016 (local time): 9mp7uYFmgt6drdq3
#登录mysql并修改密码
mysql -u root –p
mysql> SET PASSWORD=PASSWORD('root12345678');
# 允许mysql远程访问
mysql> update user set host='%' where user='root' and host='localhost';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 创建集群对应数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
grant all on *.* to root@"%" Identified by "root12345678";
# 配置开机启动
chkconfig mysql on
配置jdbc
# 拷贝mysql-connector-java到各个节点指定目录下(所有的节点)
cp mysql-connector-java-5.1.36-bin.jar /usr/share/java/mysql-connector-java.jar
安装Cloudera-Manager
主节点安装工作
#解压cm tar包到指定目录
mkdir /opt/cloudera-manager
tar -axvf cloudera-managertar包 -C /opt/cloudera-manager
#创建cloudera-scm用户(home为相应目录)
useradd --system --home=/opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
#创建cloudera-manager-server的本地元数据保存目录
mkdir /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /opt/cloudera-manager
#主节点中创建parcel-repo仓库目录
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
#初始脚本配置数据库scm_prepare_database.sh(相应目录下的脚本)
/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh mysql -hhadoop1 -uroot -p123456 --scm-host bigdata01 scmdbn scmdbu scmdbp
#说明:这个脚本就是用来创建和配置CMS需要的数据库的脚本。各参数是指:
mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
-bigdata01:数据库建立在bigdata01主机上面。也就是主节点上面。。
--scm-host bigdata01:CMS的主机,一般是和mysql安装的主机是在同一个主机上。
最后三个参数是:数据库名,数据库用户名,数据库密码。
# 设置cloudera-manager 的service
cp /opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
chkconfig cloudera-scm-server on
vim /etc/init.d/cloudera-scm-server
CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为=/opt/cloudera-manager/cm-5.7.2/etc/default
vim /etc/rc.local
service cloudera-scm-server restart
从节点安装工作
#解压cm tar包到指定目录
mkdir /opt/cloudera-manager
tar -axvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager
# 创建cloudera-scm用户
useradd --system --home=/opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
# 配置从节点cloudera-manger-agent指向主节点服务器
vim /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
将server_host改为CMS所在的主机名即bigdata01
# 所有节点创建parcels目录
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
设置agent服务
cp /opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
chkconfig cloudera-scm-agent on
vim /etc/init.d/cloudera-scm-agent
CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为=/opt/cloudera-manager/cm-5.7.2/etc/default
vim /etc/rc.local
service cloudera-scm-agent restart
常见报错原因及解决
1 ERROR com.cloudera.enterprise.dbutil.DbProvisioner - Exception when creating/dropping database with user 'root' and jdbc url 'jdbc:mysql://localhost/?useUnicode=true&characterEncoding=UTF-8'
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
可能是配置host的有问题,127.0.0.1 localhost.hadoop1 这个localhost不能少
可能是密码问题,重设密码
2. ERROR com.cloudera.enterprise.dbutil.DbProvisioner - Exception when creating/dropping database with user 'root' and jdbc url 'jdbc:mysql://localhost/?useUnicode=true&characterEncoding=UTF-8'
java.sql.SQLException: Your password has expired. To log in you must change it using a client that supports expired passwords.
密码过期,设置密码为不过期格式。
mysql> update user set password_expired='N' where user='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 5 Changed: 2 Warnings: 0
mysql> flush privileges;
在浏览器安装CDHs
进入192168.160.130:7180 默认使用admin admin登录
以下在浏览器中使用操作安装
选择版本

组件提示

这里我们可以在“当前管理的主机”中看到三个主机,全部勾选并继续,注意如果cloudera-scm-agent没有设为开机启动,如果以上有重启这里可能会检测不到其他服务器。

选择cdh

分发parcels到各个节点

之间正确性的检测

选择要安装的服务,这里选择所有服务

角色分配

数据库设置选择
集群审核,这里都默认的

开始安装

安装完成

这个时候安装完成了,可以在浏览器中进入10.62.8.1:7180地址,查看集群情况,

CDH简易离线部署文档的更多相关文章
- PPTP部署文档
PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- supervisor 部署文档
supervisor 部署文档 supervisor 需要Python支持,如果不用系统的supervisor,单独安装python python 安装 #依赖 yum install python- ...
- centos6 Cacti部署文档
centos6 Cacti部署文档 1.安装依赖 yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp ph ...
- HP DL160 Gen9服务器集群部署文档
HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server Memo ...
- Sqlserver2008安装部署文档
Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步 ...
- Ceph分布式存储(luminous)部署文档-ubuntu18-04
Ceph分布式存储(luminous)部署文档 环境 ubuntu18.04 ceph version 12.2.7 luminous (stable) 三节点 配置如下 node1:1U,1G me ...
- rabbitmq 3.7.8基于centos7部署文档
rabbitmq 3.7.8部署文档 安装erlang 安装依赖环境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel ope ...
- VS2017 下载离线MSDN文档
VS2017 下载离线MSDN文档 点开帮助窗口的时候发现没有添加和删除帮助内容选项.处理方法如下: 1.打开vs2017安装包,如果你找不到安装包,可在相应你下载vs2017的浏览器上找到下载内容, ...
随机推荐
- Android studio使用git-android学习之旅(79)
首先我参考了hello_my_show和梦痕_sky的博客,表示感谢 android studio对于git的支持是很好的,这节课我们拉讲解怎么使用git可视化工具来clone project和提交修 ...
- 开源网络监控管理系统:OpenNMS
OpenNMS是一个开源的企业级基于Java/XML的分布式网络和系统监控管理平台.OpenNMS是管理网络的绝好工具,它能够显示网络中各中终端和服务器的状态和配置,为方便地管理网络提供有效的信息. ...
- 【重构】 代码的坏味道总结 Bad Smell (一) (重复代码 | 过长函数 | 过大的类 | 过长参数列 | 发散式变化 | 霰弹式修改)
膜拜下 Martin Fowler 大神 , 开始学习 圣经 重构-改善既有代码设计 . 代码的坏味道就意味着需要重构, 对代码的坏味道了然于心是重构的比要前提; . 作者 : 万境绝尘 转载请注明出 ...
- Java集合之Map
Map架构: 如上图: (1)Map是映射接口,Map中存储的内容是键值对(key-value) (2)AbstractMap是继承于Map的抽象类,实现了Map中的大部分API. (3)Sorted ...
- Android特效专辑(九)——仿微信雷达搜索好友特效,逻辑清晰实现简单
Android特效专辑(九)--仿微信雷达搜索好友特效,逻辑清晰实现简单 不知不觉这个春节也已经过完了,遗憾家里没网,没能及时给大家送上祝福,今天回到深圳,明天就要上班了,小伙伴们是不是和我一样呢?今 ...
- objc直接通过指针访问对象实例变量
我们现在来做一件被认为是very bad的事情,如题所示:无论实例变量是私有的.保护的都可以通过地址访问到,并且还可以修改之.这可以称之为所谓的"超级键值编码". 首先上代码: # ...
- Linux进程快照相关知识
查寻内核版本 uname -a // uname -r 进程快照 ps report a snapshot of the current processes USER ...
- The table name must be enclosed in double quotation marks or sqare bracket while accessing EXCEL by
1 Preface DB Query Analyzer is presented by Master Gen feng, Ma from Chinese Mainland. It has Eng ...
- [ Java学习基础 ] Java的对象容器 -- 集合
当你有很多书时,你会考虑买一个书柜,将你的书分门别类摆放进入.使用了书柜不仅仅使房间变得整洁,也便于以后使用书时方便查找.在计算机中管理对象亦是如此,当获得多个对象后,也需要一个容器将它们管理起来,这 ...
- HDFS的java api操作
hdfs在生产应用中主要是针对客户端的开发,从hdfs提供的api中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件. 搭建开发环境 方式一(windows环境下 ...