Heimdall线下测试环境--CDH5 安装

来源:互联网 发布:linux chromium log 编辑:程序博客网 时间:2024/06/01 07:53

CDH5 安装


集群部署

这里写图片描述

基本组件

  • CM 5.x

    集群管理工具
    http://archive.cloudera.com/cm5/
    这里写图片描述

  • CDH 5.8.2

    http://archive.cloudera.com/cdh5/
    这里写图片描述


CM安装方式

  • bin方式
    http://archive.cloudera.com/cm5/installer/5.8.2/
    这里写图片描述
  • rpm包方式
    http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.8.2/
    这里写图片描述
  • yum方式
    http://archive.cloudera.com/cm5/repo-as-tarball/5.8.2/
    这里写图片描述

软件准备

  • CM(yum本地源方式安装)
    cm5.8.2-centos6.tar.gz
    cloudera-manager-installer.bin
  • CDH
    CDH-5.8.2-1.cdh5.8.2.p0.3-el6.parcel
    CDH-5.8.2-1.cdh5.8.2.p0.3-el6.parcel.sha1
    manifest.json
  • postgresql-libs
    postgresql-8.4.18-1.el6_4.x86_64.rpm
    postgresql-libs-8.4.18-1.el6_4.x86_64.rpm
    postgresql-server-8.4.18-1.el6_4.x86_64.rpm
  • repo-libs
    createrepo-0.9.9-18.el6.noarch.rpm
    deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
    python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

机器环境准备

机器准备

7台,用于数据处理

    CentOS6.7     4核 CPU    8G 内存    120GB SSD + 1T 硬盘 

创建普通用户

adduser heimdallpasswd heimdall

创建普通用户的sudo权限

拥有执行权限
chmod u+w /etc/sudoers
修改sudoers
vi /etc/sudoers
添加
heimdall ALL=(root)NOPASSWD:ALL
收回执行权限
chmod u-w /etc/sudoers

静态ip

/etc/sysconfig/network-script/ifcfg-eth0

DEVICE=eth0TYPE=EthernetONBOOT=yesBOOTPROTO=staticIPADDR=172.16.0.201NETMASK=255.255.255.0GATEWAY=172.16.0.1DNS1=192.168.2.19DNS2=192.168.2.12

防火墙 off

$ sudo service iptables stop$ sudo chkconfig iptables off  //永久性关闭

selinux off

/etc/sysconfig/selinux
修改selinux=disable

HOST 配置

/etc/hosts

172.16.0.201 heimdall01.test.hadoop.com172.16.0.202 heimdall02.test.hadoop.com172.16.0.203 heimdall03.test.hadoop.com172.16.0.204 heimdall04.test.hadoop.com172.16.0.205 heimdall05.test.hadoop.com172.16.0.206 heimdall06.test.hadoop.com172.16.0.207 heimdall07.test.hadoop.com172.16.0.208 heimdall01.test.web.com172.16.0.209 heimdall02.test.web.com172.16.0.210 heimdall03.test.web.com

禁用ipv6

root用户下
/etc/modprobe.d/dist.conf
文件中添加3行:

echo "    " >> /etc/modprobe.d/dist.conf echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.confecho "alias ipv6 off" >> /etc/modprobe.d/dist.conf

卸载JDK

首先检查有哪些自带的JDK
sudo rpm -qa|grep java
再卸载
sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64

在安装CM的过程中选择自带的JDK

设置文件打开数目和用户最大进程数

修改文件 /etc/security/limits.conf

*   soft   nofile     32768*   hard   nofile     1048576*   soft   nproc      65536*   hard   nproc      unlimited*   soft   memlock    unlimited*   hard   memlock    unlimited

/etc/security/limits.d/90-nproc.conf 文件尾添加

*   soft   nproc   65536*   hard   nproc   unlimited

集群环境配置

时间同步

  • 校准时间
    ntpdate time.nist.gov
  • 【01节点】修改/etc/ntp.conf
  • 删除注释,并改成集群所处网段
    restrict 172.16.0.0 mask 255.255.255.0 nomodify notrap
    同时添加server
server   127.127.1.0 fudge    127.127.1.0  stratum 10

这里写图片描述
- 【其他节点】注释掉默认的server,并添加01节点作为server

这里写图片描述

  • 启动服务
    需要等待一段时间才能手工同步,否则有可能会报no server suitable for synchronization found
sudo service ntpd statussudo service ntpd startsudo service ntpd restartsudo chkconfig ntpd on
  • 配置集群中其他服务器与时间服务器同步
    获取同步命令地址
    which ntpdate
    添加定时任务(自动)
    crontab -e
    0-59/10 * * * * /usr/sbin/ntpdate heimdall01.test.hadoop.com
    修改/etc/sysconfig/ntpd,添加下面代码,实现Bois系统时间同步
    SYNC_HWCLOCK=yes

集群间SSH无密登录

  • 用root用户登录服务器修改SSH配置文件/etc/ssh/sshd_config的下列内容(去掉注释)
RSAAuthentication yes # 启用 RSA 认证PubkeyAuthentication yes # 启用公钥私钥配对认证方式AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
  • 重启服务
    service sshd restart

  • 切换为heimdall用户,集群每台机器生成ssh key
    ssh-keygen -t rsa

  • Master主机登录所有Slave

    • Master:
      生成公钥
      cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
      授权
      chmod 600 ~/.ssh/authorized_keys

    • Slaves:
      把所有slave机器上的公钥文件 复制到 master
      chmod 700 ~/.ssh
      scp ~/.ssh/id_rsa.pub heimdall01.test.hadoop.com:/home/heimdall/.ssh/id_rsa1.pub

    • Master:
      添加到授权文件
      cat ~/.ssh/id_rsa1.pub >> ~/.ssh/authorized_keys


  • 配置所有Slave无密码登录Master
    把公钥复制所有的Slave机器上
    scp ~/.ssh/authorized_keys heimdall@172.16.0.202:/home/heimdall/.ssh/

测试ssh免秘钥登录,首次连接的时候,需要输入yes,之后就不用输入密码直接可以ssh过去了。


CM安装

搭建本地yum源(Master)

  • 启动http服务
sudo service httpd statussudo service httpd startsudo chkconfig httpd on

apache配置目录 /var/www/html 下新建index.html

<html>Hello World</html>

测试:
这里写图片描述

  • 创建cm目录,准备cm安装文件
cd /var/www/htmlsudo mkdir -p cm-5.8.2# cd /root/softwares# tar -zxf cm5.8.2-centos6.tar.gz# cd /root/softwares/cm/5.8.2/RPMS/x86_64# mv ./* /var/www/html/cm-5.8.2/
  • 创建本地repo目录,并一起放到cm目录中(安装CM Agent的依赖)
    把DVD上的Packages拷贝到/cm-5.8.2/
ls -l /dev | grep cdrommount /dev/cdrom /mnt/cd /mntcd Packagescp ./* /var/www/html/cm-5.8.2/  //可以仅copy依赖的那些组件
  • 修改用户
$ cd /var/www/html/cm-5.8.2$ sudo chown -R heimdall:heimdall ./*
  • 生成repodata数据
第一步:安装软件cd /root/softwares/repo-libsrpm -ivh ./*第二步:生成$ cd /var/www/html/cm-5.2.8$ sudo createrepo .
  • 配置使用本地源
$ cd /etc/yum.repos.d/$ mkdir bak-repos   ## 创建备份目录$ sudo mv ./*.repo bak-repos/$ sudo touch myrepo.repo ##创建本地源$ sudo vi myrepo.repo
[myrepo]name=myrepobaseurl=http://heimdall01.test.hadoop.com/cm-5.8.2/enabled = 1gpgcheck = 0
  • 其他机器yum源配置
    备份repo,然后使用把myrepo发送到其他机器上(或者整个repo文件夹)
scp -r /etc/yum.repos.d/myrepo.repo heimdall02.test.hadoop.com:/etc/yum.repos.d/

这里写图片描述

Agent依赖组件列表
cloudera-manager-agent x86_64 5.8.2-1.cm582.p0.17.el6 cloudera-manager 8.9 M
Installing for dependencies:
MySQL-python x86_64 1.2.3-0.3.c1.1.el6 cloudera-manager 86 k
cloudera-manager-daemons x86_64 5.8.2-1.cm582.p0.17.el6 cloudera-manager 530 M
keyutils-libs-devel x86_64 1.4-5.el6 cloudera-manager 29 k
krb5-devel x86_64 1.10.3-42.el6 cloudera-manager 502 k
libcom_err-devel x86_64 1.41.12-22.el6 cloudera-manager 33 k
libselinux-devel x86_64 2.0.94-5.8.el6 cloudera-manager 137 k
libsepol-devel x86_64 2.0.41-4.el6 cloudera-manager 64 k
mod_ssl x86_64 1:2.2.15-45.el6.centos cloudera-manager 95 k
openssl-devel x86_64 1.0.1e-42.el6 cloudera-manager 1.2 M
postgresql-libs x86_64 8.4.20-2.el6_6 cloudera-manager 202 k
python-psycopg2 x86_64 2.0.14-2.el6 cloudera-manager 100 k
zlib-devel x86_64 1.2.3-29.el6 cloudera-manager 44 k

安装CM依赖的数据库

# cd /root/softwares/postgresq-libs# chmod u+x ./*# yum localinstall *.rpm   本地安装

安装CM Server

# cd /root/softwares# chmod u+x cloudera-manager-installer.bin# ./cloudera-manager-installer.bin --skip_repo_package=1

这里写图片描述
一直Next,直到成功,会有CM地址和默认用户密码
这里写图片描述

如果中间出现错误,查看日志解决
这里写图片描述

安装CM Agent

  • CDH准备
    放入CDH parcels包到CM机器的/opt/cloudera/parcel-repo
# cd /root/softwares/cdh-5.8.2   ##一定要root用户# mv ./* /opt/cloudera/parcel-repo/##修改文件名$ cd /opt/cloudera/parcel-repo/$ sudo mv CDH-5.8.2-1.cdh5.8.2.p0.3-el6.parcel.sha1 CDH-5.8.2-1.cdh5.8.2.p0.3-el6.parcel.sha查看cm server 状态,重启$ sudo service cloudera-scm-server status$ sudo service cloudera-scm-server restart

这里写图片描述

  • 登录CM
    这里写图片描述
    第一次登录会出现安装向导,选择免费版
    另开一个页面,直接输入http://heimdall01.test.hadoop.com:7180/cmf/home,进入管理主页,查看cdh(即时没有刷出来也没关系)
    这里写图片描述
    这里写图片描述

  • 集群安装向导
    继续之前的向导页面,点击选择免费版本(图片来自beifeng网)
    这里写图片描述
    选择主机,搜索格式为172.16.0.[201-207],把CM所在的Master也要包含进去
    这里写图片描述
    自定义存储库(图片来自beifeng网)
    这里写图片描述
    安装CM自带的JDK(图片来自beifeng网),如果自己安装过了可以不用安装
    这里写图片描述
    不启用Single User Mode(图片来自beifeng网)
    这里写图片描述
    提供SSH登录凭据,默认root就可以了(图片来自beifeng网)
    这里写图片描述
    安装Agent……最好一个节点一个节点安装

这一步如果出错,可以查看详细信息,查找出错日志

  • 碰到的问题:正在获取安装锁…
rm -rf /tmp/scm_prepare_node.*rm -rf  /tmp/.scm_prepare_node.lock rm -f /var/run/yum.pid
  • 碰到的问题:下载lib依赖失败
yum -y install bind-utils psmisc libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs httpd mod_ssl openssl-devel Python-psycopg2 Myum install lsb

主机设置以及服务添加
按照规划来分配主机的角色,后面也可以手动修改
这里写图片描述
安装完成,检查主机
这里写图片描述

  • 这里有2个警告需要解决一下,至于版本里的不可用不适用不需要管

    • 警告一
      Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响
      解决方法
      每台受影响的主机运行
      echo 10 > /proc/sys/vm/swappiness 即可解决。

    • 警告二
      已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始脚本中,以便在系统重启时予以设置。以下主机将受到影响
      解决方法
      每台受影响的主机运行命令
      echo never > /sys/kernel/mm/transparent_hugepage/defrag
      并且
      vim /etc/rc.local
      加入echo never > /sys/kernel/mm/transparent_hugepage/defrag这条命令。
      然后点击重新运行进行重新检查

CM安装完毕!


参考链接:

  • hadoop基础—-hadoop实战(七)—–hadoop管理工具—使用Cloudera Manager安装Hadoop—Cloudera Manager和CDH5.8离线安装
  • 北风网
0 0
原创粉丝点击