大数据(046)CDH【Cloudera Manager安装】_scm_prepare_database特殊字符-程序员宅基地

技术标签: 集群、全文检索、大数据(Hadoop)  

一、说明

操作系统:CentOS 6
JDK 版本:1.7.0_80
所需安装包及版本说明:
        CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
        CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
        manifest.json
        cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
Cloudera Manager 下载目录
        http://www.cloudera.com/downloads/manager/5-4-3.html
CDH 下载目录
        http://archive.cloudera.com/cdh5/parcels/5.4.0/
CHD5 相关的 Parcel 包放到主节点的 /opt/cloudera/parcel-repo/ 目录中
CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1 重命名为 CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha ,这点必须注
意,否则,系统会重新下载 CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel 文件
        本文采用 离线安装方式,在线安装方式请参照官方文档。

二 、系统环境搭建

1 、网络配置( 所有节点)

vi /etc/sysconfig/network 修改 hostname:

通过 service network restart 重启网络服务生效

vi /etc/hosts ,修改 ip 与主机名的对应关系

2 、SSH  免密码登录

主节点执行:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
生成无密码密钥对
拷贝公钥到其他节点,执行
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
测试:主节点 ssh 其他节点 ……

3、 关闭 防火墙

临时关闭:
service iptables stop
重启后生效:
chkconfig iptables off

4、 关闭 SELINUX

临时关闭:
setenforce 0
修改配置文件/etc/selinux/config(重启生效):
将 SELINUX=enforcing 改为 SELINUX=disabled
查看 SELINUX 状态:
1、/usr/sbin/sestatus –v
SELinux status: enabled(enabled:开启;disabled:关闭)
2、使用命令:getenforce

5、 安装 JDK

6、 设置 NTP

所有节点安装 NTP:
yum install ntp
配置开机启动:
chkconfig ntpd on
检查是否设置成功:
chkconfig --list ntpd (2-5 为 on 状态则成功)
设置同步:
ntpdate -u ntp.sjtu.edu.cn(时钟服务器根据实际环境设置、本文采用 210.72.145.44-国家授时中心服务器 IP 地址)

7、 安装 配置 MySql

8 、下载依赖包

          chkconfig
          python (2.6 required for CDH 5)
          bind-utils
          psmisc
          libxslt
          zlib
          sqlite
          cyrus-sasl-plain
          cyrus-sasl-gssapi
          fuse
          portmap
          fuse-libs
          redhat-lsb

三、Cloudera Manager Server&Agent  安装

1 、 安装 Cloudera Manager Server&Agent

拷贝 cloudera-manager-el6-cm5.4.3_x86_64.tar.gz 到所有 Server、Agent 节点
创建 cm 目录:
mkdir /opt/cloudera-manager
解压 cm 压缩包:
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager

2 、 创建用户 cloudera-scm ( 所有 节点)

cloudera-scm 用户说明,摘自官网:
        Cloudera Manager Server and managed services are configured to use the user account,cloudera-scm by default, creating a user with this name is the simplest approach. This created user, is used automatically after installation is complete.
执行:
useradd --system --home=/opt/cloudera-manager/cm-5.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

3 、 配置 CM Agent

        修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini 中server_host 以及 server_port,其中server_host为主节点的主机名,server_port默认即可。

4 、 配置 CM Server  的 数据库

将驱动包拷贝到目录下( 注意拷贝过去的驱动包名字一定要和下边的一样,否则会报错 ):
cp mysql-connector-java-5.1.31/mysql-connector-java-5.1.31-bin.jar /usr/share/java/mysql-connector-java.jar
执行:
mysql> grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema
./scm_prepare_database.sh mysql -h myhost1.sf.cloudera.com -utemp -ptemp --scm-host myhost2.sf.cloudera.com scm scm scm
例如:

./scm_prepare_database.sh mysql -h node1 -utemp -ptemp --scm-host node1 scm scm scm

(对应于:数据库类型、数据库服务器、用户名、密码、CMServer 所在节点…….)


若上步失败或过程中操作中断,删除所有库、重头来过 /( ㄒ o ㄒ )/~~

5 、 创建 Parcel 

Manager  节点:

创建目录/opt/cloudera/parcel-repo,执行:
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
将下载好的文件(CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel、CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha、manifest.json)拷贝到该目录下。
Agent  节点:

创建目录/opt/cloudera/parcels,执行:
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

6 、 启动 CM Manager&Agent  服务

执行:
Manager:/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-server start
Agents:/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-agent start

访问:http://ManagerHost:7180,若可以访问(用户名、密码:admin),则安装成功。
Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。

四 、 CDH5 5  安装

CM Manager && Agent 成功启动后,登录前端页面进行 CDH 安装配置。

免费版本的 CM5 已经去除 50 个节点数量的限制。

各个 Agent 节点正常启动后,可以在当前管理的主机列表中看到对应的节点。
选择要安装的节点,点继续。

接下来,出现以下包名,说明本地 Parcel 包配置无误,直接点继续就可以了。

点击,继续, 如果配置本地 Parcel  包无误,那么下图中的已下载,应该是瞬间就完成了,
然后就是耐心等待分配过程就行了,大约 10 多分钟吧,取决于内网网速。

(若本地 Parcel 有问题,重新检查步骤三、 5 是否配置正确)

接下来是服务器检查,可能会遇到以下问题:
        Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:
        通过 echo 0 > /proc/sys/vm/swappiness 即可解决。

接下来是选择安装服务:

测试采用了 Hadoop 默认,实际按工作环境来定咯 ~~
服务配置,一般情况下保持默认就可以了(Cloudera Manager 会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了):

接下来是数据库的设置,检查通过后就可以进行下一步的操作了:

下面是集群设置的审查页面,我这里都是保持默认配置的:

终于到安装各个服务的地方了,注意,如果采用其他数据库安装 Hive 等组件的时候报错,检查之前配置 CM Server 数据库时,jar 包拷贝位置及名称是否修改

服务的安装过程大约半小时内就可以完成:

安装完成后,就可以进入集群界面看一下集群的当前状况了。
这里可能会出现无法发出查询:对 Service Monitor 的请求超时的错误提示,如果各个组件安装没有问题,一般是因为服务器比较卡导致的,过一会刷新一下页面就好了:

五 、脚本

1 、MySql  建库&& 删库


create database amon DEFAULT CHARACTER SET utf8;
create database rman DEFAULT CHARACTER SET utf8;
create database metastore DEFAULT CHARACTER SET utf8;
create database sentry DEFAULT CHARACTER SET utf8;
create database nav DEFAULT CHARACTER SET utf8;
create database navms DEFAULT CHARACTER SET utf8;
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';
grant all on metastore.* TO 'metastore'@'%' IDENTIFIED BY 'metastore';
grant all on sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry';
grant all on nav.* TO 'nav'@'%' IDENTIFIED BY 'nav';
grant all on navms.* TO 'navms'@'%' IDENTIFIED BY 'navms';
##hive
create database hive DEFAULT CHARACTER SET utf8;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
##oozie
create database oozie DEFAULT CHARACTER SET utf8;
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
drop database amon;
drop database rman;
drop database metastore;
drop database sentry;
drop database nav;
drop database navms;
drop database hive;
drop database oozie;
##amon
create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
##hive
create database hive DEFAULT CHARACTER SET utf8;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
##oozie
create database oozie DEFAULT CHARACTER SET utf8;
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jintaohahahaha/article/details/97971543

智能推荐

图表示学习Graph Embedding:DeepWalk python实现_graph embedding python-程序员宅基地

文章浏览阅读1.1w次,点赞12次,收藏45次。https://github.com/AI-luyuan/graph-embedding_graph embedding python

【JAVA开发小技巧】使用enum枚举类规范化代码_枚举 代码规范-程序员宅基地

文章浏览阅读433次,点赞6次,收藏11次。阿里巴巴Java开发手册中推荐,如果常量类中变量值仅在一个范围内变化,且带有名称之外的延伸属性, 建议定义为枚举类。使用枚举类可以使我们的代码更加规范且美观。_枚举 代码规范

Python基础教程:strip 函数踩坑_python的rstrip为什么没用-程序员宅基地

文章浏览阅读430次。S.strip(chars=None)strip 函数用于去除字符串首尾的空格,当 chars 不为 None 时,则删除字符串首尾的 chars 中的字符。当 chars=None 时,去除首尾空格,没啥好说的,我们来看 chars 不为 None 时的情况。str = 'abc123abc'print(str.strip('a')) # bc123abcprint(str.strip('abc')) # 123结果跟预期的一样,我们再看下面的例子:'''Pyth_python的rstrip为什么没用

Kotlin 解压缩_kotlin 对上传的压缩包进行分析-程序员宅基地

文章浏览阅读638次。fun unZip(zipFile: String, context: Context) { var outputStream: OutputStream? = null var inputStream: InputStream? = null try { val zf = ZipFile(zipFile) val entries = zf.entries() while (en..._kotlin 对上传的压缩包进行分析

64K方法数限制解决办法_java函数大于64k编译失败-程序员宅基地

文章浏览阅读1.9k次。随着业务逻辑越来越多,业务模块也越来越大,不可避免会遇到64K方法数的限制。最直观的表现就是编译报错:较早版本的编译系统中,错误内容如下:Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536较新版本的编译系统中,错误内容如下:trouble writing outp_java函数大于64k编译失败

案例分享——低压电力线载波通信模组(借助电源线实现远距离数据传输、宽压输入、波特率范围广、应用场景多样化)_电力载波模块csdn-程序员宅基地

文章浏览阅读2k次,点赞7次,收藏10次。物联网领域,有很多数据通信场景,因为原设备整体系统结构、运行环境等方面的限制,需求在不增加通信数据线缆的情况下实现数据的远程传输,因为特殊应用场景下考虑到环境的限制,还不能使用常规的无线通信手段,所以借助电源线缆进行传输的电力线载波技术应运而生,本次博文给大家分享的就是博主完全自主研发的低压电力线载波通信模组。_电力载波模块csdn

随便推点

<转载>Android 对sdcard操作-程序员宅基地

文章浏览阅读347次。其实就是普通的文件操作,不过还是有些地方需要注意。比如: 1.加入sdcard操作权限; 2.确认sdcard的存在; 3.不能直接在非sdcard的根目录创建文件,而是需要先创建目录,再创建文件; 在AndroidManifest.xml添加sdcard操作权限 复制代码

BDC报错信息查看-程序员宅基地

文章浏览阅读150次。3.在事务代码se91中输入对应消息类和消息编号。1.在事务代码st22的报错信息中下载本地文件。4.查看报错信息,根据报错信息取解决问题。2.打开本地文件查看报错信息。

AS 3.1.3连续依赖多个Module,导致访问不到Module中的类_为什么as在一个包下建了多个module,缺无法打开了-程序员宅基地

文章浏览阅读1.1k次。我好苦啊,半夜还在打代码。还出bug,狗日的。问题是这样的:我在新建的项目里,建了两个Module: fiora-ec和fiora-core。项目的依赖顺序是这样的,App依赖fiora-ec,fiora-ec又依赖于fiora-core,因为这种依赖关系,所有可以在app和fiora-ec中删除一些不必要的引入,比如这个玩意儿:com.android.support:appcompat-v7:..._为什么as在一个包下建了多个module,缺无法打开了

Magento 常用插件二-程序员宅基地

文章浏览阅读1.4k次。1. SMTP 插件 URL:http://www.magentocommerce.com/magento-connect/TurboSMTP/extension/4415/aschroder_turbosmtp KEY:magento-community/Aschroder_TurboSmtp 2. Email Template Adapter..._magento extension pour ricardo.ch

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--低级建模的资源(六)-程序员宅基地

文章浏览阅读161次。声明:本文为原创作品,版权归akuei2及黑金动力社区共同所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 2.5 低级建模的资源 低级建模有讲求资源的分配,目的是使用“图形”来提高建模的解读性。 图上是低级建模最基本的建模框图,估计大家在实验一和实验二已经眼熟过。功能模块(低级功能模块)是一个水平的长方形,而控制模块(低级控制模块)是矩形。组..._cyclone ep2c8q208c黑金开发板

R语言实用案例分析-1_r语言案例分析-程序员宅基地

文章浏览阅读2.2w次,点赞10次,收藏63次。在日常生活和实际应用当中,我们经常会用到统计方面的知识,比如求最大值,求平均值等等。R语言是一门统计学语言,他可以方便的完成统计相关的计算,下面我们就来看一个相关案例。1. 背景最近西安交大大数据专业二班,开设了Java和大数据技术课程,班级人数共100人。2. 需求通过R语言完成该100位同学学号的生成,同时使用R语言模拟生成Java和大数据技术成绩,成绩满分为100,需要满足正_r语言案例分析

推荐文章

热门文章

相关标签