数据采集+调度:cdh5.8.0+mysql5.7.17+hadoop+sqoop+hbase+oozie+hue

一、前期准备

1.操作系统版本

# cat /etc/redhat-release
CentOS release 6.5 (Final)

# uname –a
Linux enc-bigdata05 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

2.前期软件准备

2-1. jdk版本: jdk-7u80-linux-x64.tar.gz

[jdk1.7.80下载地址][1]

2-2. mysql版本: mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

[mysql-5.7.17-x86_64下载地址][2]

[mysql所有版本的下载地址][3]

2-3. cloudera manager版本: cloudera-manager-el6-cm5.8.0_x86_64.tar.gz

[cloudera-manager-el6-cm5.8.0_x86_64.tar.gz下载地址][4]

[cloudera-manager5所有版本的下载地址][5]

2-4. parecel包版本:

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel
CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1
manifest.json

[CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel下载地址][6]

注意: 因为linux操作版本是centos6.5 x64,所以选择的cloudera manager和parecel包的版本都是对应el6版本,

如果您的linux系统版本是centos7、ubuntu等等其他版本,更下载对应的cloudera manager和parecel版本进行安装;

[cloudera官网关于CM5.8.0的安装说明][7]

----------

二、cm5.8.0安装前环境的配置

1.修改集群主机名hostname

# vim /etc/sysconfig/network
:HOSTNAME=enc-bigdata05

重启服务器shutdown -r now,是配置文件network生效

剩下的主机依次修改hostname, enc-bigdata0[1-6]

----------

2. 修改系统ip和hostname的映射: /etc/hosts

2-1.修改映射关系

# vim /etc/hosts

2-2.将文件hosts复制发送到集群的每一个节点

# for a in {1..6} ; do scp /etc/hosts enc-bigdata0$a:/etc/hosts ; done

注意: 将localhost的本地映射关系删除,或者放在文件最后面

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

2-3. 检查是否集群每一个节点的hosts都已经修改过来了

# for a in {1..6} ; do ssh enc-bigdata0$a cat /etc/hosts ; done

----------
3.设置ssh免密码登入,打通集群的每一个节点

3-1.创建公钥和私钥

# ssh-keygen -t rsa -P ‘‘

注意: 在集群的每一台节点上运行上述命令,创建当前用户的公钥和私钥;

每一个用户都可以创建自己的ssh公钥和私钥,打通每一个节点,可以用其它用户(非root用户)来安装CDH5.8.0;

3-2.将每一个节点的公钥id_rsa.pub放入到认证文件中authorized_keys;

# for a in {1..6}; do ssh enc-bigdata0$a cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys; done

3-3.将认证文件authorized_keys复制发送到每一个节点上去: /root/.ssh/authorized_keys

# for a in {1..6}; do scp /root/.ssh/authorized_keys enc-bigdata0$a:/root/.ssh/authorized_keys ; done

----------

4.安装jdk1.7.0_80

4-1.解压jdk到指定路径下

# tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local/

4-2.将解压后的jdk1.7.0_80目录发送到每一台节点的指定目录下

# for a in {1..6}; scp -r /usr/local/jdk1.7.0_80/ enc-bigdata0$a:/usr/local/; done

4-3.修改配置文件 /etc/profile

# vim /etc/profile

#install jdk-7u80-linux-x64
export JAVA_HOME=/usr/local/jdk1.7.0_80
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH

4-4.将配置文件复制发送到每一个节点下

# for a in {1..6}; scp -r /etc/profile enc-bigdata0$a:/etc/profile; done

# source /etc/profile

# for a in {1..6}; do ssh enc-bigdata0$a /usr/local/jdk1.7.0_80/bin/java -version ; done

5.修改系统参数

5-1.关闭防火墙
# service iptables status/stop

# for a in {1..6}; do ssh enc-bigdata0$a /etc/init.d/iptables status; done

# for a in {1..6}; do ssh enc-bigdata0$a /etc/init.d/iptables stop; done

# for a in {1..6}; do ssh enc-bigdata0$a chkconfig iptables off; done

# for a in {1..6}; do ssh enc-bigdata0$a chkconfig iptables --list; done

5-2.关闭SELINUX

# setenforce 0 (临时生效)

# vim /etc/selinux/config (永久生效)

: SELINUX=disabled

# for a in {1..6}; scp /etc/selinux/config enc-bigdata0$a: /etc/selinux/config; done

5-3.修改swappiness

# echo "vm.swappiness=0" >> /etc/sysctl.conf (永久生效)

# echo 0 > /proc/sys/vm/swappiness (临时生效)

# for a in {1..6}; do ssh enc-bigdata0$a echo "vm.swappiness=0" >> /etc/sysctl.conf; done

5-4.编辑/etc/security/limits.conf

# vim /etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

# for a in {1..6}; scp /etc/security/limits.conf enc-bigdata0$a: /etc/security/limits.conf; done

5-5.修改/etc/rc.local (开机运行的命令)

#vim /etc/rc.local (永久生效)

: echo never > /sys/kernel/mm/transparent_hugepage/defrag

# for a in {1..6}; do ssh enc-bigdata0$a echo never > /sys/kernel/mm/transparent_hugepage/defrag ; done (临时生效)

三、安装mysql5.7.17

1. 检查之前是否安装过mysql,删除之前安装的mysql

# rpm -qa | grep mysql

mysql-libs-5.1.71-1.el6.x86_64

# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps

# find / -name mysql

# rm -rf …

注意:卸载不了就强制卸载,--nodeps --force

2. 新增用户,指定家目录,指定登陆级别

# usedel mysql

# groupdel mysql

# mkdir /usr/local/mysql

# useradd -d /usr/local/mysql/ -s /sbin/nologin -m mysql

# chown -R mysql:mysql /usr/local/mysql

# chmod 755 /usr/local/mysql

3. 解压到制定路径下: /usr/local/mysql

# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /tmp/

# mv /tmp/mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql/

说明:将解压后的安装包里的文件拷贝到mysql中

# mkdir /usr/local/mysql/data

说明:创建数据存放路径

# chown -R mysql:mysql /usr/local/mysql/

4.安装和初始化

# /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

# cp -a /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

# cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# /usr/local/mysql/bin/mysqld_safe --user=mysql &

5.启动mysqld

# /etc/init.d/mysqld status

# /etc/init.d/mysqld restart

# chkconfig mysqld on

# chkconfig mysqld --list

添加快捷方式:ln -s /usr/local/mysql/bin/mysql /usr/bin/

6.初始密码
mysql5.7会在root用户家目录下生成一个初始化密码。

# cat /root/.mysql_secret

Password set for user ‘[email protected]‘ at 2016-06-01 15:23:25 FhCmc,k50X/y

# mysql -uroot -p (输入初始化密码)

//修改密码
mysql> SET PASSWORD = PASSWORD(‘123qwe‘);

mysql> flush privileges;

7. 添加远程访问

第一种方法: 改表

mysql> use mysql;

mysql> update user set host = ‘%‘ where user = ‘root‘;

第二种方法: 授权

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘;

mysql>FLUSH PRIVILEGES

8. 问题: 忘记初始化密码

# service mysqld stop

# vim /etc/my.cnf 在末尾添加 skip-grant-tables

# service mysqld start

# mysql -uroot -p (可以免密码登入)

mysql> set password for ‘root‘@‘localhost‘=password(‘new password‘);

mysql>flush privileges;

9. 配置/etc/my.cnf

---------------------------------------------------------------------

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=/usr/local/mysql

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

tmpdir=/usr/local/mysql/tmp

# 允许最大连接数

max_connections=2000

#服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

#设置不区分大小写(0:大小写敏感;1:大小写不敏感)

lower_case_table_names=1

#安装模式:update mysql.user set authentication_string=password(‘123qwe‘) where user=‘root‘;

#skip-grant-tables #忘记初始化密码

--------------------------------------------------------------------

10. 创建数据库

mysql>create database amon default charset utf8 collate utf8_general_ci; #activity monitor

mysql>create database hive default charset utf8 collate utf8_general_ci; #hive

mysql>create database oozie default charset utf8 collate utf8_general_ci; #oozie

mysql>create database hue default charset utf8 collate utf8_general_ci; #hue

11. 新建用户(也可以延用root用户)

mysql>create user ‘admin‘@‘%‘identified by ‘[email protected]‘;

mysql>grant all privileges on *.* to ‘admin‘@‘%‘;

mysql>flush privileges;

----------

四、安装cloudera manager

1.解压cloudera-manager-el6-cm5.8.0_x86_64.tar.gz到指定路径:/opt

# tar -zxvf cloudera-manager-el6-cm5.8.0_x86_64.tar.gz -C /opt/

# for a in {1..6}; do scp -r /opt/cm-5.8.0/ enc-bigdata0$a:/opt/;done

2.修改配置文件

# vim /opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini

server_host=enc-bigdata05

# for a in {1..6}; do scp -r /opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini enc-bigdata0$a:/opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini ; done

3.创建CDH内置数据库scm

# mv mysql-connector-java-5.1.40-bin.jar /opt/cm-5.7.0/share/cmf/lib

# /opt/cm-5.7.1/share/cmf/schemascm_prepare_database.sh mysql -hlocalhost -uroot –[email protected] --scm-host localhost scm scm scm

scm_prepare_database.sh 数据库类型 服务器ip username password -scm-host [cloudera manager server所在服务器] scm scm scm;

4.将parecel包复制到cdh-server的指定目录下,修改CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1文件名

# cp CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel /opt/cloudera/parcel-repo/

# cp CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1 /opt/cloudera/parcel-repo/

# cp manifest.json/opt/cloudera/parcel-repo/

# mv /opt/cloudera/parcel-repo/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha

4.启动cloudera-scm-server

# /opt/cm-5.8.0/etc/init.d/cloudera-scm-server start/status/stop

5.启动cloudera-scm-agent

# for a in {1..6}; do ssh enc-bigdata0$a /opt/cm-5.8.0/etc/init.d/cloudera-scm-agent start; done

6.问题:cloudera-scm-agent 启动失败: Unable to create the pidfile

原因: 无法创建 /opt/cm-5.8.0/run/cloudera-scm-agent

解决办法:

# mkdir /opt/cm-5.8.0/run/cloudera-scm-agent

# chown -R cloudera-scm:cloudera-scm /opt/cm-5.8.0/run/cloudera-scm-agent

7.进入网址: http://IP:7180/ (配置CDH5.8.0)

enc-bigdata0[1-6].enc.cn ##点击模式

注意: 修改jdk主目录很重要,以防止集群主机无法检测到jdk;

注意: 要保证所有检查都成功,以防止后面报错

注意 : hive的元数据库如果是安装在mysql中的话,需要将相应数据库驱动拷贝到hive家目录下的lib;

# mv mysql-connector-java-5.1.40-bin.jar /opt/cloudera/parcels/CDH-5.6.0-1.cdh5.6.0.p0.45/lib/hive/lib

将相应的数据库驱动拷贝到对应的服务家目录下,以防止数据库连接失败;

五、问题

1. 关于namenode的内存问题,namenode的内存如果不够的话,会导致namenode服务进程死掉

问题描述:can‘t open /opt/cm-5.7.0/run/cloudera-scm-agent/process/1033-hdfs-NAMENODE/supervisord.conf , Permission deny

解决办法:增加内存

2. 无法检测到jdk存在

解决办法:设置JDK主目录

3. oozie web 页面不能显示

解决办法:上传ext-2.2.zip到指定路径:/var/lib/oozie

六、总结

**本篇章仅供参考,具体的请以官方文档为准,谢谢!!**

时间: 2024-10-09 12:08:53

数据采集+调度:cdh5.8.0+mysql5.7.17+hadoop+sqoop+hbase+oozie+hue的相关文章

Centos搭建PHP5.3.8+Nginx1.0.9+Mysql5.5.17

操作环境 操作系统:Mac Os Lion 虚拟主机:VMware Fusion 虚拟系统:Centos 5.5+ 操作用户:Root 实现目的:搭建LNMP环境. 安装依赖库和开发环境 #依赖库和开发工具yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc g

Cloudera Hadoop 5& Hadoop高阶管理及调优课程(CDH5,Hadoop2.0,HA,安全,管理,调优)

1.课程环境 本课程涉及的技术产品及相关版本: 技术 版本 Linux CentOS 6.5 Java 1.7 Hadoop2.0 2.6.0 Hadoop1.0 1.2.1 Zookeeper 3.4.6 CDH Hadoop 5.3.0 Vmware 10 Hive 0.13.1 HBase 0.98.6 Impala 2.1.0 Oozie 4.0.0 Hue 3.7.0 2.内容简介 本教程针对有一定Hadoop基础的学员,深入讲解如下方面的内容: 1.Hadoop2.0高阶运维,包括H

centos6.5 编译安装Mysql5.7.17

一.安装环境准备 centos 6.5 二.下载mysql source_code  这里说一下,进入myql下载页面后选择source_code:  然后选择 Generic Linux (Architecture Independent), Compressed TAR Archive   Includes Boost Headers 这个包下载.  也可以用下面的地址:  wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boo

mysql-5.6.17编译安装和常见问题

mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL 检查已经安装的MySQL: # rpm -qa |grep mysql 检查到mysql以后卸载: # rpm -e mysql //卸载mysql,加--nodeps可以强制卸载 2. 下载MySQL # cd /usr/local/mysql # wget http://dev.mysql.co

CentOS 7.2 mysql-5.7.17 审计插件安装、开启与设定

最近因为一些事情的发生,出现了好端端的页面,变成了空页面.转头开发同事就来质问我,是不是我动了什么,后来经过调查发现,是平台运营的同事误删资料导致的. 所以如果运维或者开发部门有很多人都分配了数据库的增删改之类的操作权限的话,某一天哪个表或者字段丢失了都无法找到是谁干的,所以这个锅只能运维来背了.因此很有必要把数据库的操作记录保存下来,但是代价就是服务器的效能就会变差一些了,但为了安全起见,还是建议开启的. 在一些操作限制中,难免会有人质疑具有super权限的用户做了什么动作,所以还是把root

centos7中编译安装mysql5.7.17

MySQL 的安装方式有很多,最常见的就是编译安装和二进制安装: 在这里我将两种安装方式都介绍一下,自由选择: 首先我们来看一下编译安装的步骤: 首先,到官方网站中下载源码包: https://dev.mysql.com/downloads/mysql 选择下载源码包: 有很多针对不同系统的源码包,我们选择通用版: 下载完成后,放到我们服务器上: 接下来按照步骤进行解压编译安装即可; MySQL从5.5开始,使用cmake 进行编译设置:因此,我们还要安装cmake编译工具: shell > y

centos编译安装php5.6.20+nginx1.8.1+mysql5.6.17

LNMP 代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. 本次实践需求: 实践centos6.5编译安装 LNMP生产环境 架构 web生产环境 使用 xcache 优化php 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率. 作为负载均衡服务器:Nginx既可以在内部直接支持Rails和PHP,也可以支持作为 HTTP代理服务器对外进行服务.Nginx用C编写,不论是系统资源开销还是CPU使用效率都比Pe

mysql 5.5.28与mysql5.6.17 配置启动区别

从mysql.com下载了一个最新的mysql.5.6.17后安装后,因原机器安装过mysql,启动总是报错 检查了一下mysql的原安装目录里面有个一新的myql-new.conf. 对比了下原/etc/my.conf和mysql-net.conf在mysql.5.6.17这个版本下有很大不同 原my.conf配置内容 [[email protected] bin]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib

centos6.7编译安装mysql5.7.17

centos6.7编译安装mysql5.7.17 2017-03-24 09:57:15 提示:mysql5.7.17和之前5.56以前的版本安装不一样,需要用cmake 另外,看本文档的mysql编译前我说一点,第一次一定要大概的看完整个过程,不能一直跟着文档做,否则后面容易遇到问题.比如编译完会特别占用磁盘空间,万一之前分配的空间不够,那样就会丢失很多重要文件导致失败. 安装前工作: 1,从官方网址下载MySQL5.7.17源码包 http://dev.MySQL.com/downloads