目录
1. 系统架构 3
1.1. cloudera manager架构 3
1.2. cdh架构 3
2. 系统环境 4
3. 系统版本 5
4. 系统环境准备 5
4.1. 设置root用户密码 5
4.2. 设置hostname 5
4.3. 设置ip 5
4.4. 设置hosts记录 6
4.5. 设置vm.swappiness 6
4.6. 设置defrag 6
4.7. 禁止调用host命令 6
4.8. 关闭防火墙和SELinux 6
4.9. 设置SSH 互信 7
4.10. 安装ntp服务器 7
4.11. 配置ntp服务器 7
4.12. ntp客户端配置 7
5. 安装cloudera manager 8
5.1. 安装oracle jdk1.7 8
5.2. 安装mysql 8
5.3. 配置mysql 9
5.4. 创建数据库 9
5.5. 安装mysqljdbc driver 10
5.6. 安装cloudera manager server packages 10
5.7. 准备cloudera manager server数据库 11
5.8. 准备cdh安装包 11
5.9. 启动cloudera manager server 12
5.10. 启动cloudera manager agent 12
6. 安装配置cdh 12
6.1. 登录cm 12
6.2. 选择cm版本 14
6.3. 指定安装主机 16
6.4. 选择cdh版本 17
6.5. 开始集群安装 18
6.6. 选择安装的cdh服务 20
6.7. 开始部署cdh服务 24
6.8. 完成cdh部署 24
7. 启动关闭集群 26
7.1. 启动 26
7.2. 关闭 28
1. 系统架构
1.1. cloudera manager架构
cloudera manager是管理cdh集群的软件,架构如下:
1.2. cdh架构
hadoop是一个开源项目,很多公司在这个基础上进行商业化,cloudera公司的发行版称为cdh。架构如下:
2. 系统环境
主机信息及角色分配
XXX大学大数据服务项目硬件配置实际情况
服务器 IP(学校分配) 主机名 配置说明 网络需求 作用 角色说明
1#服务器 192.168.1.10 hmaster
CPU:2路4核
内存:16GB
硬盘:3TB
能够访问互联网;开放80和7180端口 大数据集群的计算存储 Hadoop NameNode
MySQL
Flume
Zookeeper
HBase
2#服务器 192.168.1.11 hnode1 内网相互访问 Hadoop DataNode
3#服务器 192.168.1.12 hnode2 Hadoop DataNode
3. 系统版本
在3台主机上查看系统版本,以hmaster为例,其它类似。
[root@hmaster ~]# uname -a
Linux hmaster 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
注:系统采用“最小界面”安装方式。
4. 系统环境准备
4.1. 设置root用户密码
[root@hmaster ~]# passwd root
4.2. 设置hostname
在3台主机上设置hostname,以hmaster为例,其它类似。
[root@hmaster ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hmaster
4.3. 设置ip
[root@hmaster network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=5da60891-93e2-445c-9a8f-6cb95a65e120
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=08:00:27:F8:0C:50
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
DNS1=172.30.94.1
DNS2=172.30.64.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
4.4. 设置hosts记录
在hmaster上设置hosts记录。拷贝至其它主机上。
[root@hmaster ~]# cat /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost
192.168.1.10 hmaster
192.168.1.11 hnode1
192.168.1.12 hnode2
4.5. 设置vm.swappiness
在3台主机上设置vm.swappiness,以hmaster为例,其它类似。
swappiness值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60。
[root@hmaster ~]# echo 'vm.swappiness=0'>> /etc/sysctl.conf
[root@hmaster ~]# sysctl -p
vm.swappiness = 0
4.6. 设置defrag
[root@hmaster ~]#echo never >/sys/kernel/mm/redhat_transparent_hugepage/defrag
[root@hmaster ~]# echo 'echo never >/sys/kernel/mm/redhat_transparent_hugepage/defrag' >> /etc/rc.local
4.7. 禁止调用host命令
在3台主机上禁止调用host命令,以hmaster为例,其它类似。
mv /usr/bin/host /usr/bin/host.bak
4.8. 关闭防火墙和SELinux
在3台主机上设置,以hmaster为例,其它类似。
[root@hmaster ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@hmaster ~]# chkconfig iptables off
[root@hmaster ~]# setenforce 0
[root@hmaster ~]# vi /etc/selinux/config
4.9. 设置SSH 互信
在3台主机上执行ssh-keygen -t rsa。
[root@hmaster ~]# ssh-keygen -t rsa
在3台主机上执行ssh-copy-id root@hmaster。
[root@hmaster ~]# ssh-copy-id root@hmaster
在hmaster主机上执行。
[root@hmaster ~]# scp ~/.ssh/authorized_keys root@hnode1:~/.ssh/
[root@hmaster ~]# scp ~/.ssh/authorized_keys root@hnode2:~/.ssh/
4.10. 安装ntp服务器
在hmaster上安装ntp
[root@hmaster ~]# service ntpd status
ntpd is stopped
[root@hmaster ~]# service ntpd start
Starting ntpd: [ OK ]
[root@hmaster ~]# chkconfig ntpd on
4.11. 配置ntp服务器
由于只有主机hmaster能连接外网,其他主机连接不了外网,所以这里配置ntp与自身同步时间,其它其他机器与hmaster服务器同步,保证3台主机时间的一致性。
[root@hmaster ~]# vi /etc/ntp.conf
[root@hmaster ~]# service ntpd restart
[root@hmaster ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+time4.aliyun.co 10.137.38.86 2 u 58 64 3 70.456 -2.867 3.076
+59.46.44.253 202.118.1.46 2 u 60 64 3 51.667 2.229 2.109
4.12. ntp客户端配置
配置其它2台主机与此ntp服务器同步时间,以hnode1为例,其它类似。
[root@hnode1 opt]# ntpdate 192.168.1.10
[root@hnode1opt]# echo "* 1/* * * * root /usr/sbin/ntpdate 192.168.1.10" >>/etc/crontab
#ntpdate[2717]: no server suitable for synchronization found
#ntpdate –d xxx.xxx.xxx.xxx
#在ntp客户端用ntpdate –d serverIP查看,发明有“Server dropped: strata too high”#的错误,并且显示“stratum 16”。而正常景象下stratum这个值得局限是“0~15”。
server 127.127.1.0
fudge 127.127.1.0 startum 5
5. 安装cloudera manager
5.1. 安装oracle jdk1.7
在hmaster主机上安装oracle jdk1.7。
[root@hmaster ~]# rpm -qa | grep java
[root@hmaster ~]# rpm -e java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
[root@hmaster ~]# rpm -e java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64
[root@hmaster~]#wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.7.2/RPMS/x86_64/oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
[root@hmaster ~]# rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
在其他主机上安装oracle jdk1.7,以hnode1为例,其它类似。
[root@hmaster ~]# scp oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm root@hnode1:~(hmaster主机上执行)
[root@hmaster ~]# rpm -qa | grep java
[root@hmaster ~]# rpm -e java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
[root@hmaster ~]# rpm -e java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64
[root@hmaster ~]# rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
5.2. 安装mysql
在hmaster上安装mysql,首先下载相关软件。
下载
[root@hmaster~]#wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql56-community-el6/mysql-community-server-5.6.32-2.el6.x86_64.rpm
[root@hmaster~]#wget
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql56-community-el6/mysql-community-common-5.6.32-2.el6.x86_64.rpm
[root@hmaster~]#wget
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql56-community-el6/mysql-community-client-5.6.32-2.el6.x86_64.rpm
[root@hmaster~]#wget
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql56-community-el6/mysql-community-libs-5.6.32-2.el6.x86_64.rpm
安装
[root@hmaster ~]# rpm -qa | grep mysql
mysql-libs-5.1.73-5.el6_6.x86_64
[root@hmaster ~]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
[root@hmaster ~]# rpm -ivh mysql-community-common-5.6.32-2.el6.x86_64.rpm
[root@hmaster ~]# rpm -ivh mysql-community-libs-5.6.32-2.el6.x86_64.rpm
[root@hmaster ~]# rpm -ivh mysql-community-client-5.6.32-2.el6.x86_64.rpm
[root@hmaster ~]# yum install mysql-community-server-5.6.32-2.el6.x86_64.rpm
5.3. 配置mysql
[root@hmaster ~]# vi /etc/my.cnf
启动mysql
[root@hmaster ~]# service mysqld start
设置开机启动mysql
[root@hmaster ~]# chkconfig mysqld on
设置mysql root密码
[root@hmaster ~]# mysqladmin -u root password 'tottor'
5.4. 创建数据库
[root@hmaster ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.32 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database hive default character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> create database Oozie default character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on hive.* to hive@"hmaster" identified by "hive" with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on Oozie.* to Oozie@"hmaster" identified by "Oozie" with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
5.5. 安装mysqljdbc driver
在hmaster上安装mysqljdbc driver
[root@hmaster ~]# wget
http://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.39.zip
[root@hmaster ~]# unzip mysql-connector-java-5.1.39.zip
[root@hmaster ~] cp mysql-connector-java-5.1.39/mysql-connector-java-5.1.39-bin.jar /usr/share/java/mysql-connector-java.jar
5.6. 安装cloudera manager server packages
在hmaster上安装cloudera manager server packages
[root@hmaster opt]# cd /opt
[root@hmaster opt]# wget
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.7.2_x86_64.tar.gz
[root@hmaster opt]#tar xzvf cloudera-manager-el6-cm5.7.2_x86_64.tar.gz -C /opt
在其他主机上安装cloudera manager agent packages,以hnode1为例,其他类似。
[root@hmaster ~]#cd /opt(hmaster主机上执行)
[root@hmaster opt]# scp cloudera-manager-el6-cm5.7.2_x86_64.tar.gz root@hnode1:/opt/(hmaster主机上执行)
[root@hmaster opt]# cd /opt(hnode1主机上执行)
[root@hnode1 opt]# tar xzvf cloudera-manager-el6-cm5.7.2_x86_64.tar.gz -C /opt(hnode1主机上执行)
在3台主机上创建cloudera-scm用户,以hmaster为例,其他类似。
useradd --system --home=/opt/cm-5.7.2/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
在hmaster上创建目录
[root@hmaster opt]# mkdir /var/log/cloudera-scm-headlamp
[root@hmaster opt]# mkdir /var/log/cloudera-scm-firehose
[root@hmaster opt]# mkdir /var/log/cloudera-scm-alertpublisher
[root@hmaster opt]# mkdir /var/log/cloudera-scm-eventserver
[root@hmaster opt]# mkdir /var/lib/cloudera-scm-headlamp
[root@hmaster opt]# mkdir /var/lib/cloudera-scm-firehose
[root@hmaster opt]# mkdir /var/lib/cloudera-scm-alertpublisher
[root@hmaster opt]# mkdir /var/lib/cloudera-scm-eventserver
[root@hmaster opt]# mkdir /var/lib/cloudera-scm-server
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/log/cloudera-scm-headlamp
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/log/cloudera-scm-firehose
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/log/cloudera-scm-alertpublisher
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/log/cloudera-scm-eventserver
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-headlamp
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-firehose
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-alertpublisher
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-eventserver
[root@hmaster opt]# chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
在3台主机上配置Agent,以hmaster为例,其他类似。
[root@hmaster~]# vi /opt/cm-5.7.2/etc/cloudera-scm-agent/config.ini
5.7. 准备cloudera manager server数据库
在hmaster上准备cloudera manager server数据库
[root@hmaster ~]# /opt/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh mysql cm -h localhost -uroot -ptottor --scm-host localhost scm scm scm
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
Verifying that we can write to /opt/cm-5.7.2/etc/cloudera-scm-server
Creating SCM configuration file in /opt/cm-5.7.2/etc/cloudera-scm-server
Executing: /usr/java/jdk1.7.0_67-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cm/cm-5.7.2/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cm/cm-5.7.2/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
2016-08-15 14:16:31,087 [main] INFO com.cloudera.enterprise.dbutil.DbCommandExecutor - Successfully connected to database.
All done, your SCM database is configured correctly!
5.8. 准备cdh安装包
在hmaster上准备cdh安装包
下载:http://archive.cloudera.com/cdh5/parcels/5.6.1.3/,将下载文件放入/opt/cloudera/parcel-repo并将CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1改名为CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
[root@hmaster opt]# cd /opt/cloudera/parcel-repo/
[root@hmaster parcel-repo]# mv CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1 CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
[root@hmaster parcel-repo]# ll
total 1424008
-rw-r--r-- 1 root root 1458119400 Aug 15 14:39 CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel
-rw-r--r-- 1 root root 41 Aug 15 14:39 CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
-rw-r--r-- 1 root root 49563 Aug 15 14:39 manifest.json
修改文件权限
[root@hmaster parcel-repo]# chown cloudera-scm:cloudera-scm *
[root@hmaster parcel-repo]# ll
total 1424008
-rw-r--r-- 1 cloudera-scm cloudera-scm 1458119400 Aug 15 14:39 CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel
-rw-r--r-- 1 cloudera-scm cloudera-scm 41 Aug 15 14:39 CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
-rw-r--r-- 1 cloudera-scm cloudera-scm 49563 Aug 15 14:39 manifest.json
5.9. 启动cloudera manager server
[root@hmaster parcel-repo]# /opt/cm-5.7.2/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server: [ OK ]
查看日志
[root@hmaster~]#tail -f /opt/cm-5.7.2/log/cloudera-scm-server/cloudera-scm-server.log
5.10. 启动cloudera manager agent
[root@hmaster ~]# /opt/cm-5.7.2/etc/init.d/cloudera-scm-agent start
查看日志
[root@hmaster~]#tail -f /opt/cm-5.7.2/log/cloudera-scm-agent/cloudera-scm-agent.log
6. 安装配置cdh
6.1. 登录cm
打开ie浏览器,输入地址:http://192.168.1.10:7180/
输入用户名:admin,密码:admin登录
6.2. 选择cm版本
选择cloudera manager版本,这里选择cloudera express免费版本。
6.3. 指定安装主机
6.4. 选择cdh版本
这里可以设置parcel路径,选择cdh版本,这里保持默认。
6.5. 开始集群安装
在3台主机上检查主机正确性
6.6. 选择安装的cdh服务
自定义角色分配的主机,这里保持默认
Hive,Reports manager和oozie server数据库设置
集群审核设置,这里保持默认
6.7. 开始部署cdh服务
6.8. 完成cdh部署
进入cloudera manager主页
7. 启动关闭集群
7.1. 启动
? 启动cloudera manager server
[root@hmaster parcel-repo]# /opt/cm-5.7.2/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server: [ OK ]
查看日志
[root@hmaster~]#tail -f /opt/cm-5.7.2/log/cloudera-scm-server/cloudera-scm-server.log
? 启动cloudera manager agent
[root@hmaster ~]# /opt/cm-5.7.2/etc/init.d/cloudera-scm-agent start
查看日志
[root@hmaster~]#tail -f /opt/cm-5.7.2/log/cloudera-scm-agent/cloudera-scm-agent.log
? 启动集群
7.2. 关闭
? 关闭集群
? 关闭cloudera manager agent
[root@hmaster ~]# /opt/cm-5.7.2/etc/init.d/cloudera-scm-agent start
? 关闭cloudera manager server
[root@hmaster parcel-repo]# /opt/cm-5.7.2/etc/init.d/cloudera-scm-server start
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21799400/viewspace-2124413/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21799400/viewspace-2124413/