搜索
首页数据库mysql教程CDH5.3.2安装详细文档以及相关问题处理

版本约定 操作系统版本centos6.5,64位 jdk1.6的版本也支持jdk1.7的版本 python版本为2.6或者2.7 集群版本cdh5.3.2 cloudera manager 5.3 mysql5.0以上版本 CM安装前说明 防火墙关闭 service iptables stop chkconfig iptables off 关闭SELINUX vi /etc/selin

版本约定

操作系统版本centos6.5,64位
jdk1.6的版本也支持jdk1.7的版本

python版本为2.6或者2.7

集群版本cdh5.3.2
cloudera manager 5.3

mysql5.0以上版本

 

CM安装前说明

  • 防火墙关闭

         service iptables stop chkconfig iptables off

  •  关闭SELINUX

vi /etc/selinux/config设置SELINUX=disabled

  •  确认端口7180没有被占用

  • 在安装coudera manager 前先安装数据库mysql.并配置数据库的配置文件和创建相应的数据库。
  • 需要将mysql数据库默认存储引擎改为innodb.

CM安装方式

安装方式采用yum安装,由于内网机器无法访问外网,所以我们必须搭建一个本地的yum仓库,yum仓库机器10.100.3.17。

本地YUM仓库搭建

yum安装所需rpm安装包包括cloudera manager 5 相关安装包,下载地址:http://archive-primary.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.2/RPMS/x86_64/ ,

CDH5.3.2相关安装包,下载地址:http://archive-primary.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.3.2/RPMS/x86_64/,http://archive-primary.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.3.2/RPMS/noarch/

上传相关安装包到10.100.3.17机器/var/ftp/pub/Packages目录下,然后执行createrepo命令:

createrepo -g /var/ftp/pub/repodata/repomd.xml /var/ftp/pub/

cdh集群机器配置本地yum源:

cd /etc/yum.repos.d/

rm -rf * #删除无用配置yum源文件

vi ftp-server.repo #加入ftp-server.repo文件加入如下配置:

[base]

name=ftp-server

baseurl=ftp://10.100.3.17/pub/

gpgcheck=0

Clouera Manager安装

cdh集群说明

cdh集群机器为3台,分别为10.100.3.95,10.100.3.96,10.100.3.97,10.100.3.98,10.100.3.99

将cloudera manager agent 分别部署在这五台机器上,

将cloudera manager server 和mysql部署在10.100.3.95上

安装jdk

首先检查集群机器是否安装过openJDK,如果有安装过,请卸载,执行命令 :

rpm -qa | grep jdk

rpm -e xxx #xxx为上一步输出的rpm包名

 

在所有机器上安装jdk,并配置JAVA_HOME,执行命令:

yum install jdk

vi /etc/profile #加入以下配置

export JAVA_HOME=/usr/java/jdk1.6.0.31

export PATH=$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH

#使配置生效

source /etc/profile

配置NTP服务

我们需要配置集群ntp时间同步,因为集群安装完毕后Cloudera Manager会对集群做时间同步检测,如果不同步会报警

Bad Health --Clock Offset

The host's NTP service did not respond to a request for the clock offset.

我们采用10.100.3.95作为master机器,所有机器都同步该机器上的时间,所有机器安装ntp服务

yum install ntp

配置95机器上NTP Server,修改/etc/ntpd.conf文件加入如下配置

restrict 0.0.0.0master 0.0.0.0nomodify nostrap #让所有网段都可以同步该机器的时间

server 127.127.1.0

fudge 127.127.1.0stratum 8

启动NTP服务

/etc/init.d/ntpd start

chkconfig ntpd on

其他机器同步该机器时间,并且也开启ntpd服务,如果其他机器不开启ntpd服务,Cloudera Manager同样会报警,因为Cloudera Manager 会使用ntpdc -c loopinfo 这个命令来判断集群的延迟时间。集群同步时间命令为:

ntpdate 10.100.3.95

#并在crontab中加入命令

crontab -e

*/15* * * * ntpdate 10.100.3.95

安装Mysql

Cloudera Manager通过数据库来管理服务信息和集群配置信息。可以使用内置的PostgreSQL或者外部数据库系统,目前支持Mysql,Oracle,以及外部PostgreSQL数据库。这里我们安装外部的Mysql数据库。

 

$ yum install mysql mysql-devel mysql-server

#安装mysql后启动;

$ service mysqld start 

 

#配置mysql数据库,添加如下内容,添加以后。重启mysql数据库。如果没报错,则配置成功;

[mysqld]

transaction-isolation = READ-COMMITTED

# Disabling symbolic-links is recommended to prevent assorted security risks;

# to doso, uncomment thisline:

# symbolic-links = 0

 

key_buffer = 16M

key_buffer_size = 32M

max_allowed_packet = 32M

thread_stack = 256K

thread_cache_size = 64

query_cache_limit = 8M

query_cache_size = 64M

query_cache_type = 1

 

max_connections = 550

 

#log_bin should be on a disk with enough free space. Replace '/var/lib/mysql/mysql_binary_log'with an appropriate path foryour system and chown the specified folder to the mysql user.

#log_bin=/var/lib/mysql/mysql_binary_log

#expire_logs_days = 10

#max_binlog_size = 100M

 

# For MySQL version 5.1.8or later. Comment out binlog_format forolder versions.

binlog_format = mixed

 

read_buffer_size = 2M

read_rnd_buffer_size = 16M

sort_buffer_size = 8M

join_buffer_size = 8M

 

# InnoDB settings

innodb_file_per_table = 1

innodb_flush_log_at_trx_commit  = 2

innodb_log_buffer_size = 64M

innodb_buffer_pool_size = 4G

innodb_thread_concurrency = 8

innodb_flush_method = O_DIRECT

innodb_log_file_size = 512M

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

移除这两个文件:/var/lib/mysql/ib_logfile0;/var/lib/mysql/ib_logfile1,重启mysql服务。

安装 MySQL JDBC Connector

驱动下载地址:http://dev.mysql.com/downloads/connector/j/5.1.html,把驱动包放在/usr/share/java目录下,如果目录/usr/share/java不存在,则创建它,并且将驱动包重新命名。

$  mkdir -p /usr/share/java/

$  cp mysql-connector-java-5.1.17.jar /usr/share/java/mysql-connector-java.jar

配置Mysql

设置root账号的密码:

$ sudo /usr/bin/mysql_secure_installation

[...]

Enter current password forroot (enter fornone):

OK, successfully used password, moving on...

[...]

Set root password? [Y/n] y

New password:

Re-enter newpassword:

Remove anonymous users? [Y/n] Y

[...]

Disallow root login remotely? [Y/n] N

[...]

Remove test database and access to it [Y/n] Y

[...]

Reload privilege tables now? [Y/n] Y

All done!

创建Mysql数据库

创建数据库用来保存Activity Monitor,Report Manager, Hive MetaStore Server, Sentry Server, Cloudera Navigator Audit Server, Cloudera Navigator Metadata Server服务相关配置信息。

使用root用户登陆Mysql数据库

$ mysql -u root -p

Enter password:

创建数据库

mysql> create database database DEFAULT CHARACTER SET utf8;

Query OK, 1row affected (0.00sec)

 

mysql> grant all on database.* TO 'user'@'%'IDENTIFIED BY 'password';

Query OK, 0rows affected (0.00sec)

其中database,user,password查看下表

Activity Monitor amon amon amon_password
Reports Manager rman rman rman_password
Hive Metastore Server metastore hive hive_password
Sentry Server sentry sentry sentry_password
Cloudera Navigator Audit Server nav nav nav_password
Cloudera Navigator Metadata Server navms navms navms_password

Role

Database

User

Password

安装Cloudera Manager Server

$  yum install cloudera-manager-daemons

$  yum install cloudera-manager-server

配置Cloudera Manager Server数据库

这里Cloudera Manager Server和Mysql安装在同一台机器,执行命令

/usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p --scm-host localhost scm scm scm

出现Successful 表示执行成功。

启动Cloudera Manager Server服务

service cloudera-scm-server start

Cloudera Manager agent 不需要手动安装直接进入CM得web界面自动安装配置即可。

web登录

url 格式:http://:

打开浏览器,输入url ,http://10.100.3.95:7180

默认用户名:admin 密码:admin

安装Cloudera Manager Agent,以及CDH相关组件

1.根据CM引导界面,选择Cloudera Express 免费版。点击下一步到为CDH集群安装指定主机。

2.输入需要安装集群的机器IP地址,包括Cloudera Manager Server 机器。

3.选择集群的安装方式,选择使用数据包,CDH版本选择自定义,并输入yum源地址ftp://10.100.3.17/pub/, Cloudera Manager Agent选择自定义,输入yum源地址ftp://10.100.3.17/pub/。点击继续

4.集群安装状态,可以看到每台集群的安装状态,如果正常则进入下一步。

5.选择要安装的CDH组件,我们选择自定义,安装HBase、HDFS、Hive、Hue、Key-Value Store Indexer、Oozie、Solr、Spark、Sqoop 2、YARN、Zookeeper服务。点击继续

6.CM会检测安装环境,会提示一处安装警告: cloudera 建议将/proc/sys/vm/swappiness设置为0,当前设置为60, 我们需要在集群每台机器上执行命令:

echo 0> /proc/sys/vm/swappiness

7.选择集群机器的角色分配,对于默认的选择都可以选择在Master(10.100.3.95)机器上,当然像Second NameNode可以选择在非NameNode机器上。注意Cloudera Management Service都选Master(10.100.3.95),也就是安装mysql的主机。因为其他主机没有安装mysql.点击继续

8.数据库配置。根据创建数据表选择所对应的服务即可。

9.集群设置。选择默认,集群开始安装。

oozie配置

oozie安装完毕之后还需要做以下配置才能使用:

1.安装Oozie共享库,操作如下:

 

  • 选择oozie服务
  • 点击操作->停止
  • 点击安装Oozie共享库
  • 点击启动

2.配置Ext JS库,操作如下:

 

  • 下载ext-2.2.zip文件,下载地址http://dev.sencha.com/deploy/ext-2.2.zip
  • 把该文件放入运行Oozie Server的主机/var/lib/oozie/目录下
  • 解压该文件
  • 重启oozie服务

3.配置外部数据库这里配置mysql,操作如下:

 

  • 选择oozie服务,点击配置面板
  • 选择Oozie Server Default Group->数据库
  • 配置Oozie服务器数据库类型选择mysql,选择Oozie服务器数据库名称,默认为oozie,选择Oozie服务器数据库主机地址,选择Oozie服务器数据库用户,选择Oozie服务器数据密码。并保存配置
  • 选择操作->停止
  • 选择操作->创建数据库
  • 选择操作->启动

HUE配置

配置流程见:Cloudera Manager 安装文档#添加hue服务.不同之处在于要启动HUE服务,HUE依赖其它服务配置,需要修改如下配置:

  • 进入CM主机面板
  • 选择配置->资源管理,修改启用基于Cgroup的资源管理属性,设置为true,默认为false;
  • 进入YARN服务面板
  • 选择配置->服务范围,修改将CGroups用于资源管理属性,设置为true,默认为false。修改始终使用Linux Container Executor,设置为true,默认为false;
  • 进入Impala服务面板
  • 选择配置->服务范围->Admission Control,修改Enable Dynamic Resource Pools属性,设置为true,默认为false。

遇到的问题

1.第一次安装时,由于98,99机器内存问题异常关机,导致安装一半中止,以及自己的错误操作导致又回到了安装的第一步,但是选择输入安装的机器集群时,引导界面里面多了3个已经加入到集群的机器,导致这3台机器无法选择。解决办法:这3台机器卸载重装。步骤如下:

service cloudera-scm-agent stop

service cloudera-scm-agnet hard_stop_confirmed

yum remove 'cloudera-manager-*'avro-tools crunch flume-ng hadoop-hdfs-fuse hadoop-hdfs-nfs3 hadoop-httpfs hbase-solr hive-hbase hive-webhcat hue-beeswax hue-hbase hue-impala hue-pig hue-plugins hue-rdbms hue-search hue-spark hue-sqoop hue-zookeeper impala impala-shell kite llama mahout oozie pig pig-udf-datafu search sentry solr-mapreduce spark-python sqoop sqoop2 whirr

yum clean all

rm -rf /tmp/.scm_prepare_node.lock

rm -rf /var/lib/flume-ng /var/lib/hadoop* /var/lib/hue /var/lib/solr* /var/lib/zookeeper* /var/lib/spark/

然后重新从安装Cloudera Manager Server步骤开始即可。

2.10.100.3.98,10.100.3.99机器下载安装CDH相关组件不成功,提示:network_interfaces INFO NIC iface eth0 doesn't support ETHTOLL (95),并且在98,99机器上运行service network restart 则IP会自动丢失,原因是安装机器的时候采用的动态IP导致,修改为静态IP。

3.10.100.3.98,10.100.3.99机器在下载CDH包时一直卡在’正在获取安装锁‘,点击详细信息提示:Begin Flock 4 Cloudera。产生的原因是多次安装Cloudera-manager-agent服务,并且启动过Clouder-scm-agent服务导致产生了锁文件。删除掉该文件即可。执行命令:

rm -rf /tmp/.scm_prepare_node.lock

4.10.100.3.98,10.100.3.99机器下载安装CDH相关组件不成功,点击详细信息提示:

MainThread agent ERROR HEARbeating to 10.100.3.95:7182 failed

...

...

AttributeError: ‘NoneType’ object has no attribute ‘Type’

解决办法:进入相关机器,重启cloudera-scm-agent服务,执行命令

service clouder-scm-agent restart

5.安装完毕后集群HDFS报警,提示 ’集群中有293个副本不足的块。集群众共有296个块。百分比副本不足的块:98.99%。临界阈值:40%  Under-Replicated Blocks‘,产生的原因是因为一开始98,99机器故障,只安装了3台机器,DataNode节点只有2个,而安装过程中采用的都是默认配置,dfs.replication 设置的为3,所以导致次报警。通过使用hadoop fsck /命令检查hdfs块信息会提示安装hbase的时候写入的数据块 Target replica is 3 but found 2 replica(s)。解决办法:配置dfs.replication值为2并执行以下命令:

su hdfs

hadoop fs -setrep 2/

6.安装HUE之后HUE WEB UI启动不起来,首页报错:

Traceback (most recent call last):

...

...

ImportError: No module named useradmin

查看/usr/lib/hue/目录可以看到app.reg文件的软连接文件失效,并没有创建此文件,解决办法是:在/usr/lib/hue/tools/app_reg/目录下有一个app_reg.py的文件 是用来产生该注册文件的,查看它的语法,使用命令tools/app_reg/app_reg.py --install apps/xxx/ ,其中xxx为apps目录下的所有文件加名称。执行完之后问题解决。

此次是安装过程中遇到的所有问题,之后会把原有集群从CDH3U5升级到CDH5.3.2,期间遇到的问题后续整理。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
MySQL中的存储过程是什么?MySQL中的存储过程是什么?May 01, 2025 am 12:27 AM

存储过程是MySQL中的预编译SQL语句集合,用于提高性能和简化复杂操作。1.提高性能:首次编译后,后续调用无需重新编译。2.提高安全性:通过权限控制限制数据表访问。3.简化复杂操作:将多条SQL语句组合,简化应用层逻辑。

查询缓存如何在MySQL中工作?查询缓存如何在MySQL中工作?May 01, 2025 am 12:26 AM

MySQL查询缓存的工作原理是通过存储SELECT查询的结果,当相同查询再次执行时,直接返回缓存结果。1)查询缓存提高数据库读取性能,通过哈希值查找缓存结果。2)配置简单,在MySQL配置文件中设置query_cache_type和query_cache_size。3)使用SQL_NO_CACHE关键字可以禁用特定查询的缓存。4)在高频更新环境中,查询缓存可能导致性能瓶颈,需通过监控和调整参数优化使用。

与其他关系数据库相比,使用MySQL的优点是什么?与其他关系数据库相比,使用MySQL的优点是什么?May 01, 2025 am 12:18 AM

MySQL被广泛应用于各种项目中的原因包括:1.高性能与可扩展性,支持多种存储引擎;2.易于使用和维护,配置简单且工具丰富;3.丰富的生态系统,吸引大量社区和第三方工具支持;4.跨平台支持,适用于多种操作系统。

您如何处理MySQL中的数据库升级?您如何处理MySQL中的数据库升级?Apr 30, 2025 am 12:28 AM

MySQL数据库升级的步骤包括:1.备份数据库,2.停止当前MySQL服务,3.安装新版本MySQL,4.启动新版本MySQL服务,5.恢复数据库。升级过程需注意兼容性问题,并可使用高级工具如PerconaToolkit进行测试和优化。

您可以使用MySQL的不同备份策略是什么?您可以使用MySQL的不同备份策略是什么?Apr 30, 2025 am 12:28 AM

MySQL备份策略包括逻辑备份、物理备份、增量备份、基于复制的备份和云备份。1.逻辑备份使用mysqldump导出数据库结构和数据,适合小型数据库和版本迁移。2.物理备份通过复制数据文件,速度快且全面,但需数据库一致性。3.增量备份利用二进制日志记录变化,适用于大型数据库。4.基于复制的备份通过从服务器备份,减少对生产系统的影响。5.云备份如AmazonRDS提供自动化解决方案,但成本和控制需考虑。选择策略时应考虑数据库大小、停机容忍度、恢复时间和恢复点目标。

什么是mySQL聚类?什么是mySQL聚类?Apr 30, 2025 am 12:28 AM

MySQLclusteringenhancesdatabaserobustnessandscalabilitybydistributingdataacrossmultiplenodes.ItusestheNDBenginefordatareplicationandfaulttolerance,ensuringhighavailability.Setupinvolvesconfiguringmanagement,data,andSQLnodes,withcarefulmonitoringandpe

如何优化数据库架构设计以在MySQL中的性能?如何优化数据库架构设计以在MySQL中的性能?Apr 30, 2025 am 12:27 AM

在MySQL中优化数据库模式设计可通过以下步骤提升性能:1.索引优化:在常用查询列上创建索引,平衡查询和插入更新的开销。2.表结构优化:通过规范化或反规范化减少数据冗余,提高访问效率。3.数据类型选择:使用合适的数据类型,如INT替代VARCHAR,减少存储空间。4.分区和分表:对于大数据量,使用分区和分表分散数据,提升查询和维护效率。

您如何优化MySQL性能?您如何优化MySQL性能?Apr 30, 2025 am 12:26 AM

tooptimizemysqlperformance,lofterTheSeSteps:1)inasemproperIndexingTospeedUpqueries,2)使用ExplaintplaintoAnalyzeandoptimizequeryPerformance,3)ActiveServerConfigurationStersLikeTlikeTlikeTlikeIkeLikeIkeIkeLikeIkeLikeIkeLikeIkeLikeNodb_buffer_pool_sizizeandmax_connections,4)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。