CDH5.3.6 离线安装手册 目录 一 机器准备...1 二 环境准备...2 1 网络配置...2 2 ssh 免密码登录... 4 3 关闭防火墙...5 4 禁用 SELINUX...6 5 安装 JDK 并设置 JAVA_HOME... 6 6 系统时间同步...7 7 设置文件打开数目和用户最大进程数... 10 三 安装 MySQL 数据库... 11 1 下载解压...11 2 编译环境准备... 11 3 进入解压路径 进行编译检测... 11 4 make && make install 编译安装...12 5 配置 MySQL... 12 四 安装第三方依赖...14 五 CM 安装... 14 1 安装 Cloudera Manager Server 和 agent 三台机器... 14 2 创建 cloudera-scm 用户 三台机器... 14 3 配置 cm-agent 三台机器... 14 4 配置 CM 数据库 bigdata-cdh00.ibeifeng.com 机器上... 15 六 CDH 安装...16 1 创建 parcel 目录...16 2 制作 CDH 本地源... 17 3 启动 CM-Server 和 CM-Agent...17 七 安装路径详情...26 一 机器准备 学习过程使用虚拟机安装 准备三个 CentOS6.X 虚拟机 bigdata-cdh00-ibeifeng.com 内存 6G 最好 8G 磁盘 50G bigdata-cdh01-ibeifeng.com 内存 2G 磁盘 30G bigdata-cdh02-ibeifeng.com 内存 2G 磁盘 30G
二 环境准备 1 网络配置 1 主机名 # vim /etc/sysconfig/network 三台分别使用主机名 统一格式按序列号区别命名 bigdata-chd00.ibeifeng.com bigdata-chd01.ibeifeng.com bigdata-chd02.ibeifeng.com 2 网络映射 # vim /etc/hosts 在 Windows 客户机上也配置下 C:\Windows\System32\drivers\etc\hosts 配置好 1 2 两项 重启下系统 然后通过 hostname 查看主机名是否正确 通过 ping xxxx 验证网络映射配置是否 正确 # hostname # ping bigdata-cdh00.ibeifeng.com
3 禁用 IPV6 # 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 才能查看到下面的结果
2 ssh 免密码登录 # ssh-keygen 上面命令执行后 会在用户目录下创建.ssh 目录 ~/.ssh 目录下会有 id_rsa 私钥文件和 id_rsa.pub 公钥文件 拷贝公钥到本机公钥文件 authorized_keys 中 # ssh-copy-id -i ~/.ssh/id_rsa.pub localhost 验证
记得要执行 exit 退出 拷贝公钥文件到其他主机的 authorized_keys 公钥文件中 # ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata-cdh02.ibeifeng.com 验证 # ssh bigdata-cdh02.ibeifeng.com 同样 要记得 exit 退回原来主机的 bash 环境 3 关闭防火墙 # service iptables stop ### 关闭防火墙 # chkconfig iptables off #### 防火墙开机不自启动 # chkconfig --list grep iptables
4 禁用 SELINUX # getenforce ### 查看 SELINUX 当前设置级别 # setenforce 0 # vi /etc/sysconfig/selinux 把 SELINUX 值修改为 disabled 5 安装 JDK 并设置 JAVA_HOME 先卸载原来已经安装好的 jdk # rpm -qa grep java ### 先查看之前自带的 jdk # rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 java-1.6.0-openjdk-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 系统时间同步 以 bigdata-cdh00.ibeifeng.com 这台主机作为集群的时间服务器 其他机器跟这台主机进行时间同步 1 开启 bigdata-cdh00.ibeifeng.com 的时间服务器服务 # date #### 查看系统时间 # service ntpd status # service ntpd start # ntpdate -u ntp.sjtu.edu.cn ### 如果执行 date 显示系统时间与当前自然时间相差很大 则可以先执行该命令 与远程互联网上的时间服务器进行同步 选国内常用的 ntp 服务器 # hwclock --localtime -w #####将 BIOS 硬件时钟与系统时间进行同步一下 # vi /etc/ntp.conf ### 编辑 ntpd 配置文件
# service ntpd restart ### 重启 ntpd 服务 # chkconfig ntpd on ## 开机自启动 # vim /etc/sysconfig/ntpd ### BIOS 时钟与系统时间同步 首行添加 SYNC_HWCLOCK=yes 其他主机与该主机进行时间同步 # ntpdate -u bigdata-cdh00.ibeifeng.com 并且同时设置 BIOS 时钟时间与系统时间进行同步 # hwclock --localtime -w # vim /etc/sysconfig/ntp 首行添加 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 hard soft hard nproc nproc memlock memlock 65536 unlimited unlimited unlimited 三 安装 MySQL 数据库 只需要在 bigdata-cdh00.ibeifeng.com 一台机器上安装即可 版本 5.6 安装包 mysql-5.6.26.tar.gz 1 下载解压 # tar -zxvf ~/softwares/mysql-5.6.26.tar.gz -C /opt/modules/mysql/ 2 编译环境准备 # yum -y install gcc gcc-c++ gdb cmake ncurses-devel bison bison-devel #### 网速慢的话 将 yum 源改为阿里 yum 3 进入解压路径 进行编译检测 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 4 make && make install 编译安装 5 配置 MySQL 1 配置用户 使用下面的命令查看是否有 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 2 初始化配置 安装运行 MySQL 测试脚本需要的 perl yum install perl 进入安装路径 cd /usr/local/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 将使用这个配置文件启动 可能造成无法正常启动等问题 3 启动 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 4 配置 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('123456'); 若要设置 root 用户可以远程访问 执行 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' 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 五 CM 安装 1 安装 Cloudera Manager Server 和 agent 三台机器 1 创建 /opt/cloudera-manager 目录 2 下载 cloudera-manager 安装 tar 包 并上传到/opt/softwares 目录上 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 目录下 2 创建 cloudera-scm 用户 三台机器 # 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 3 配置 cm-agent 三台机器 进入/opt/cloudera-manager/cm-5.3.6/etc/cloudera-scm-agent 目录 修改 config.ini server_host 和 server_port 这个只要 7182 端口没有被占用就不用改
4 配置 CM 数据库 bigdata-cdh00.ibeifeng.com 机器上 拷贝 mysql-connector-java.jar 到/usr/share/java 目录下 注意 jar 包名称只能是 mysql-connector-java.jar 进入 mysql 操作台 添加用户 temp mysql > grant all on *.* to 'temp'@'%' identified by 'temp' with grant option; mysql > flush privileges;
##### 进入该目录下执行 mysql 脚本 # cd /opt/cloudera-manager/cm-5.3.6/share/cmf/schema/ #./scm_prepare_database.sh mysql bigdata-cdh00.ibeifeng.com scm scm scm -h bigdata-cdh00.ibeifeng.com -utemp ########## 格式 数据库类型 数据库 数据库服务器 用户名 密码 cm server 服务器 六 CDH 安装 1 创建 parcel 目录 1 cloudera-manager server 节点 # mkdir -p /opt/cloudera/parcel-repo ##### 创建 parcel-repo 目录 # chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo 2 cloudera-manager agent 节点 # mkdir -p /opt/cloudera/parcels # chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels -ptemp --scm-host
2 制作 CDH 本地源 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 下 注意更改 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.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/
# netstat -tlunp 在浏览器上访问 http://bigdata-cdh00.ibeifeng.com:7180 进入登录页面
进入这个界面 没有主机 是因为 CM-agent 没有启动 先去把 cm-agent 三台机器 启动起来 勾选上三台主机 继续
等待分配和激活 100%
修改 /proc/sys/vm/swappness 的值为 0 解决这个警告 然后重新运行主机检查
先选择最基本的 hdfs yarn MR2 included 和 zookeeper
如果选择了安装 Activity Monitor 则需要给其创建数据库
安装过程中遇到失败的重试下 到此安装成功
七 安装路径详情 各组件安装路径为/opt/cloudera/parcels/CDH 配置文件到/opt/cloudera/parcels/CDH/etc 目录下找 比如 hadoop 配置文件 执行脚本 /opt/cloudera/parcels/cdh/bin