@Arslan6and6
2016-06-29T06:29:00.000000Z
字数 9230
阅读 1493
未分类
CDH5.3.6 离线安装手册
目录
一、机器准备
二、环境准备
1、网络配置
2、ssh 免密码登录
3、关闭防火墙
4、禁用 SELINUX
5、安装 JDK 并设置 JAVA_HOME
6、系统时间同步
7、设置文件打开数目和用户最大进程数
三、安装 MySQL 数据库
1、下载解压
2、编译环境准备
3、进入解压路径,进行编译检测
4、make && make install 编译安装
5、配置 MySQL
四、安装第三方依赖
五、CM 安装
1、安装 Cloudera Manager Server 和 agent(三台机器)
2、创建 cloudera-scm 用户(三台机器)
3、配置 cm-agent(三台机器)
4、配置 CM 数据库(bigdata-cdh00.ibeifeng.com 机器上)
六、CDH 安装
1、创建 parcel 目录
2、制作 CDH 本地源
3、启动 CM-Server 和 CM-Agent
七、安装路径详情
学习过程使用虚拟机安装
准备三个 CentOS6.X 虚拟机
hadoop-senior.ibeifeng.com 内存:6G(最好 8G) 磁盘 50G
hadoop-senior02.ibeifeng.com 内存:2G 磁盘 30G
hadoop-senior03.ibeifeng.com 内存:2G 磁盘 30G
# vim /etc/sysconfig/network
三台分别使用主机名(统一格式按序列号区别命名):
hadoop-senior.ibeifeng.com
hadoop-senior02.ibeifeng.com
hadoop-senior03.ibeifeng.com
vi /etc/sysconfig/network
# vim /etc/hosts
在 Windows 客户机上也配置下 C:\Windows\System32\drivers\etc\hosts
配置好 1)2)两项,重启下系统,然后通过 hostname 查看主机名是否正确,通过 ping xxxx 验证网络映射配置是否正确
# hostname
# ping hadoop-senior.ibeifeng.com
# more /etc/modprobe.d/dist.conf
# echo " ">> /etc/modprobe.d/dist.conf
# echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
# echo "alias ipv6 off ">> /etc/modprobe.d/dist.conf
修改好配置文件后需要重启 Linux,才能查看到下面的结果
# ssh-keygen
上面命令执行后,会在用户目录下创建.ssh 目录,~/.ssh 目录下会有 id_rsa 私钥文件和 id_rsa.pub 公钥文件
拷贝公钥到本机公钥文件 authorized_keys 中
# ssh-copy-id -i ~/.ssh/id_rsa.pub localhost
[root@hadoop-senior]# ssh-copy-id -i ~/.ssh/id_rsa.pub localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 8a:7b:d2:cc:03:01:f4:2f:2b:4f:67:32:48:1b:bc:ad.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
Now try logging into the machine, with "ssh 'localhost'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
验证:
记得要执行 exit 退出
拷贝公钥文件到其他主机的 authorized_keys 公钥文件中:
# ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop-senior02.ibeifeng.com
验证:
# ssh hadoop-senior02.ibeifeng.com
同样,要记得 exit 退回原来主机的 bash 环境
# service iptables stop ### 关闭防火墙
# chkconfig iptables off #### 防火墙开机不自启动
# chkconfig --list | grep iptables
# getenforce ### 查看 SELINUX 当前设置级别
[root@hadoop-senior ~]# getenforce
Enforcing
# setenforce 0
# vi /etc/sysconfig/selinux
把 SELINUX 值修改为 disabled
先卸载原来已经安装好的 jdk
# rpm -qa | grep java ### 先查看之前自带的 jdk
# rpm -e --nodepsava-1.7.0-open jdk-1.7.0.45-2.4.3.3.el6.x86_64ava-1.6.0-open jdk-1.6.0.0-1.66.1.13.0.el6.x86_64 tzdata-java-2013g-1.el6.noarch #### 卸载
安装 JDK
# rpm -ivh jdk-7u67-linux-x64.rpm
配置 JAVA_HOME
# vi /etc/profile
6、系统时间同步
以 hadoop-senior.ibeifeng.com 这台主机作为集群的时间服务器,其他机器跟这台主机进行时间同步
1) 开启 hadoop-senior.ibeifeng.com 的时间服务器服务
# date #### 查看系统时间
# service ntpd start
# service ntpd status
# ntpdate -u ntp.sjtu.edu.cn ### 如果执行 date 显示系统时间与当前自然时间相差很大,则可以先执行该命令,与远程互联网上的时间服务器进行同步(选国内常用的 ntp 服务器)
# hwclock --localtime -w #####将 BIOS 硬件时钟与系统时间进行同步一下
# vi /etc/ntp.conf ### 编辑 ntpd 配置文件
第18行去掉注释,并将IP地址更改为与集群相同网段
18 restrict 192.168.5.0 mask 255.255.255.0 nomodify notrap
注释外部 ntp 服务地址
22 #server 0.centos.pool.ntp.org
23 #server 1.centos.pool.ntp.org
24 #server 2.centos.pool.ntp.org
在26、27行添加:
26 server 127.127.1.0
27 fudge 127.127.1.0 stratum 10
# service ntpd restart ### 重启 ntpd 服务
# chkconfig ntpd on ## 开机自启动
# vim /etc/sysconfig/ntpd ### BIOS 时钟与系统时间同步
首行添加 SYNC_HWCLOCK=yes
其他主机与该主机进行时间同步:
# ntpdate -u hadoop-senior.ibeifeng.com
并且同时设置 BIOS 时钟时间与系统时间进行同步
# hwclock --localtime -w
# vim /etc/sysconfig/ntpd
首行添加 SYCN_HWCLOCK=yes
注意这些主机也需要把 ntpd 服务启动起来,不然后面主机会报运行不正常
# service ntpd start
# chkconfig ntpd on
写 crontab 定时任务来进行时间同步
# crontab –e
定时任务是否运行成功,通过 mail 命令查看邮件来检查定时任务执行情况
同步成功:
7、设置文件打开数目和用户最大进程数(所有节点)
# ulimit -a
# vi /etc/security/limits.conf #### 修改配置文件
添加以下几行(注意最好通过拷贝进行修改,不然会导致重启无法登录):
* soft nofile 32768
* hard nofile 1048576
* soft nproc 65536
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited
只需要在 bigdata-cdh00.ibeifeng.com 一台机器上安装即可
版本 5.6
安装包:mysql-5.6.26.tar.gz
# tar -zxvf ~/softwares/mysql-5.6.26.tar.gz -C /opt/modules/mysql/
# yum -y install gcc gcc-c++ gdb cmake ncurses-devel bison bison-devel #### 网速慢的话,将 yum 源改为阿里 yum
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
使用下面的命令查看是否有 mysql 用户及用户组
cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表
如果没有就创建
#groupadd mysql
#useradd -r -g mysql mysql
确认一下创建结果
id mysql
修改/usr/local/mysql 目录权限
chown -R mysql:mysql /usr/local/mysql
安装运行 MySQL 测试脚本需要的 perl
yum install perl
进入安装路径
cd /usr/local/mysql
删除或备份 my.cnf 文件
执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
[root@hadoop-senior mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在启动 MySQL 服务时,会按照一定次序搜索 my.cnf,先在/etc 目录下找,找不到则会搜索"$basedir/my.cnf",在
本例中就是 /usr/local/mysql/my.cnf,这是新版 MySQL 的配置文件的默认位置!
注意:在 CentOS 6.4 版操作系统的最小安装完成后,在/etc 目录下会存在一个 my.cnf,需要将此文件更名为其他的
名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的 MySQL 的正确配置,造成无法启动。
在使用"yum update"更新系统后,需要检查下/etc 目录下是否会多出一个 my.cnf,如果多出,将它重命名成别的。否
则,MySQL 将使用这个配置文件启动,可能造成无法正常启动等问题。
添加服务,拷贝服务脚本到 init.d 目录,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
ll /etc/init.d/mysql ### 查看有无可执行权限,如果没有则执行 chmod u+x /etc/init.d/mysql
chkconfig mysql on
service mysql start --启动 MySQL
MySQL 启动成功后,root 默认没有密码,我们需要设置 root 密码。
设置之前,我们需要先设置 PATH,要不不能直接调用 mysql
修改/etc/profile 文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
关闭文件,运行下面的命令,让配置立即生效
source /etc/profile
现在,我们可以在终端内直接输入 mysql 进入,mysql 的环境了
执行下面的命令修改 root 密码
mysql -uroot
mysql> SET PASSWORD = PASSWORD('123');
若要设置 root 用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
远程访问时的密码可以和本地不同。
在三台机器上都需要安装所需要的依赖库
# yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
http://archive.cloudera.com/cm5/cm/5/
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el5-cm5.3.6_x86_64.tar.gz
3)解压到 /opt/cloudera-manager 目录下
# useradd --system --home=/opt/cloudera-manager/cm-5.3.6/run/cloudera-scm-server --no-create-home --shell=/bin/false
--comment "Cloudera SCM User" cloudera-scm
进入/opt/cloudera-manager/cm-5.3.6/etc/cloudera-scm-agent 目录,修改 config.ini
server_host 和 server_port(这个只要 7182 端口没有被占用就不用改)
# scp -r /opt/cloudera-manager/ root@hadoop-senior02.ibeifeng.com:/opt/
# scp -r /opt/cloudera-manager/ root@hadoop-senior03.ibeifeng.com:/opt/
拷贝 mysql-connector-java.jar 到/usr/share/java 目录下
注意 jar 包名称只能是 mysql-connector-java.jar
进入 mysql 操作台:
添加用户 temp
mysql > grant all privileges on . to 'temp'@'localhost' identified by 'temp' with grant option;
mysql > grant all privileges on . to 'temp'@'hadoop-senior.ibeifeng.com' identified by 'temp' with grant option;
mysql > grant all privileges on . to 'temp'@'%' identified by 'temp' with grant option;
mysql > flush privileges;
# cd /opt/cloudera-manager/cm-5.3.6/share/cmf/schema/
# ./scm_prepare_database.sh mysql temp -h hadoop-senior.ibeifeng.com -utemp -ptemp --scm-host hadoop-senior.ibeifeng.com scm scm scm
# mkdir -p /opt/cloudera/parcel-repo ##### 创建 parcel-repo 目录
# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
# mkdir -p /opt/cloudera/parcels
# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels
http://archive.cloudera.com/cdh5/parcels/5.3.6/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel
http://archive.cloudera.com/cdh5/parcels/5.3.6/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1
下载好文件CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel 以及CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1,将这两
个文件放到 server 节点的/opt/cloudera/parcel-repo 下,注意更改
DH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 为DH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha(去掉末尾的 1)
# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
3、启动 CM-Server 和 CM-Agent
bigdata-cdh00.ibeifeng.com 主机
# cd /opt/cloudera-manager/cm-5.3.6/etc/init.d/
# ./cloudera-scm-server start
首次启动会做大量准备工作,时间比较长,
需要进入/opt/cloudera-manager/cm-5.3.6/log/目录查看启动日志
# cd /opt/cloudera-manager/cm-5.3.6/log/
# cd cloudera-scm-server/
重启./cloudera-scm-server后,出现 jetty-6.1.26.cloudera.4 等三行,说明服务启动成功。
# netstat -tlunp
在浏览器上访问 http://bigdata-cdh00.ibeifeng.com:7180,进入登录页面
用户名和密码均为admin
进入这个界面,没有主机,是因为 CM-agent 没有启动
先去把 cm-agent(三台机器)启动起来
勾选上三台主机,【继续】
我们选择已下载好的 5.3.6 版本 CDH 【继续】
等待分配和激活 100% 【继续】
在三台主机上 # echo 0 > /proc/sys/vm/swappiness 。设置值为 0 ,解决这个警告,然后重新运行主机检查
对于以下错误,分别在三台主机,按要求执行。
已启用“透明大页面”,它可能会导致重大的性能问题。版本为“CentOS release 6.4 (Final)”且发行版为“2.6.32-358.el6.x86_64”的 Kernel 已将 enabled 设置为“[always] never”,并将 defrag 设置为“[always] never”。请运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会予以设置。
自定义 CDH5 服务
先选择最基本的 hdfs 、 yarn(MR2 included) 和 zookeeper
如果选择了安装 Activity Monitor,则需要给其创建数据库
mysql> create database ACTIVIMONITOR default charcmysql> create database ACTIVIMONITOR default character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| ACTIVIMONITOR |
| mysql |
| performance_schema |
| temp |
| test |
+--------------------+
6 rows in set (0.03 sec)
mysql> grant all privileges on ACTIVIMONITOR.* to 'activimonitor'@'%' identified by 'activimonitor';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 secEE )
安装过程中遇到失败的重试下
到此安装成功
七、安装路径详情
各组件安装路径为/opt/cloudera/parcels/CDH
配置文件到/opt/cloudera/parcels/CDH/etc 目录下找
比如 hadoop 配置文件:
执行脚本 /opt/cloudera/parcels/CDH/bin