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简易离线部署文档的更多相关文章

  1. PPTP部署文档

    PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...

  2. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  3. supervisor 部署文档

    supervisor 部署文档 supervisor 需要Python支持,如果不用系统的supervisor,单独安装python python 安装 #依赖 yum install python- ...

  4. centos6 Cacti部署文档

    centos6 Cacti部署文档 1.安装依赖 yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp ph ...

  5. HP DL160 Gen9服务器集群部署文档

    HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server        Memo ...

  6. Sqlserver2008安装部署文档

    Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步 ...

  7. Ceph分布式存储(luminous)部署文档-ubuntu18-04

    Ceph分布式存储(luminous)部署文档 环境 ubuntu18.04 ceph version 12.2.7 luminous (stable) 三节点 配置如下 node1:1U,1G me ...

  8. rabbitmq 3.7.8基于centos7部署文档

    rabbitmq 3.7.8部署文档 安装erlang 安装依赖环境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel ope ...

  9. VS2017 下载离线MSDN文档

    VS2017 下载离线MSDN文档 点开帮助窗口的时候发现没有添加和删除帮助内容选项.处理方法如下: 1.打开vs2017安装包,如果你找不到安装包,可在相应你下载vs2017的浏览器上找到下载内容, ...

随机推荐

  1. C++类型转化:static_cast,reinterpret_cast,dynamic_cast,const_cast

    类型转换名称和语法 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用. ...

  2. 【翻译】Ext JS最新技巧——2014-9-10

    原文:Top Support Tips Greg Barry:删除网格单元格的焦点 在Ext JS 5.0.1,添加了一些与可访问性和支持ARIA有关的显著改进.虽然鼓励使用这些新增功能,但默认样式可 ...

  3. 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析

    . Android源码看的鸭梨大啊, 补一下C语言基础 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/detai ...

  4. JavaScript进阶(十一)JsJava2.0版本

    JavaScript进阶(十一)JsJava2.0版本 2007年9月11日,JsJava团队发布了JsJava2.0版本,该版本不仅增加了许多新的类库,而且参照J2SE1.4,大量使用了类的继承和实 ...

  5. saiku显示不出新的cube(加载的cube,saiku会保存到缓存中,不重新加载)

    当用workbench 修改cube后,保存到saiku路径. saiku读取该cube时,如果以前加载过该cube(同路径,同名).则不会新加载,而是用缓存中的cube,这个cube是以前的cube ...

  6. 《java入门第一季》之java语法部分小案例

    到这里举一个小例子把语法部分梳理一下,下一节开始进入java正式基础--面向对象的学习整理. 案例: /* 某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全, 在传递过程中需要加密 ...

  7. TCP的核心系列 — SACK和DSACK的实现(五)

    18版本对于每个SACK块,都是从重传队列头开始遍历.37版本则可以选择性的遍历重传队列的某一部分,忽略 SACK块间的间隙.或者已经cache过的部分.这主要是通过tcp_sacktag_skip( ...

  8. Android BLE与终端通信(四)——实现服务器与客户端即时通讯功能

    Android BLE与终端通信(四)--实现服务器与客户端即时通讯功能 前面几篇一直在讲一些基础,其实说实话,蓝牙主要为多的还是一些概念性的东西,当你把概念都熟悉了之后,你会很简单的就可以实现一些逻 ...

  9. Unity C#用WWW操作数据库

    //在C#中进行GET查询 IEnumerator GETTest() { WWW w = new WWW("http://192.168.1.12/kaohe.php?&id=10 ...

  10. hadoop 数据倾斜

    数据倾斜是指,map /reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有 ...