美文网首页
CDH 环境构建

CDH 环境构建

作者: daley_磊 | 来源:发表于2019-02-13 14:07 被阅读0次

    所需环境

    三台Linux centOS 7 系统 16G 最好以上内存
    设置主机系统固定IP:
    192.168.1.190:Server+agent
    192.168.1.191:agent
    192.168.1.192:agent

    需要下载的东西

    cm:http://archive.cloudera.com/cm5/cm/5/
    cdh:http://archive.cloudera.com/cdh5/parcels/5.10.1/ centos7 选择el7 x64
    mysql conn:下载mysql驱动 https://dev.mysql.com/downloads/connector/j/

    现在开始搭建CDH

    1. 主机和所有节点配置hostname和hosts
      vim /etc/sysconfig/network
      主机:HOSTNAME=cm 命令 hostnamectl set-hostname cm
      节点1:HOSTNAME=cdh1 命令 hostnamectl set-hostname cdh1
      节点2:HOSTNAME=cdh2 命令 hostnamectl set-hostname cdh2
      所有节点 vim /etc/hosts
      添加如下:
      192.168.1.190 cm
      192.168.1.191 cdh1
      192.168.1.192 cdh2
      重启让配置生效 service network restart
      查看hostname :hostname
      ping下各个节点主机名是否能ping通

    2. 配置ssh 主机到各个节点无命名连接
      主机和各个节点都执行如下:
      1、ssh-keygen -t rsa 回车 回车 回车
      在主节点执行:
      2、cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
      主机执行如下:
      scp ~/.ssh/authorized_keys root@cdh1:~/.ssh/
      scp ~/.ssh/authorized_keys root@cdh2:~/.ssh/
      修改权限:chmod 600 ~/.ssh/authorized_keys
      ssh cdh1 测试免密码是否成功

    3. 主机和所有节点下载rpm jdk安装
      jdk 下载地址
      rpm -ivh jdk-7u80-linux-x64.rpm
      java -version
      配置环境变量echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment

    4. 安装数据库
      参考:http://www.cnblogs.com/ianduin/p/7679239.html
      yum install mysql-server
      启动服务: systemctl start mariadb.service
      添加到开机启动: systemctl enable mariadb.service
      可以查看mariadb的启动状况: systemctl status mariadb.service
      设置root 用户密码:/usr/bin/mysqladmin -u root password 'root'
      登录mysql: mysql -uroot -proot
      设置root 用户登录权限:
      grant all privileges on . to 'root'@'%' identified by 'root' with grant option;
      FLUSH PRIVILEGES;
      执行如下:
      create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      create database rman DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      create database nav DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      create database navms DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      create database oozie_oozie_server DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    5. 主节点关闭防火墙和selinux
      service iptables stop #临时关闭
      chkconfig iptables off #重启后生效
      systemctl stop firewalld.service #停止firewall
      systemctl disable firewalld.service #禁止firewall开机启动
      systemctl list-unit-files | grep firewalld.service #查看开机服务是否已关闭
      set enforce 0 (临时生效)

    6. 所有节点开启时间同步
      参考:
      http://www.cnblogs.com/tmeily/p/4422604.html
      https://blog.csdn.net/chengqiuming/article/details/78735433

    7. 正式安装
      mv cloudera-manager-el6-cm5.10.1_x86_64.tar.gz /opt/
      cd /opt/
      tar xzvf cloudera-manager-el6-cm5.10.1_x86_64.tar.gz
      cp /mnt/soft/mysql-connector-java-5.1.41-bin.jar /opt/cm-5.10.1/share/cmf/lib/
      cp /opt/cm-5.10.1/share/cmf/lib/mysql-connector-java-5.1.41-bin.jar /usr/share/java/mysql-connector-java.jar (这里可能没有share/java 文件可以自己创建,不然到后面会报错)
      /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pCD@llxg520 --scm-host localhost scm CD@llxg520
      格式是:scm_prepare_database.sh 数据库类型 数据库 服务器 用户名 密码 –scm-host Cloudera_Manager_Server所在的机器,后面那三个不知道代表什么,直接照抄官网的了。 因为我们用的是Mysql数据库,所以我们需要下载Mysql的JDBC驱动,本次从官网上下载最新稳定版:mysql-connector-java-5.1.30.tar.gz,解压之后找到mysql-connector-java-5.1.30-bin.jar放到/opt/cm-5.0.0/share/cmf/lib/目录下。 在后面安装其他组件的时候,它会从/usr/share/java目录下找驱动,然后自动cp,所以为保险起见,建议把mysql的驱动jar包也拷贝到agent节点的/usr/share/java下面(最好把版本和“”bin“”去掉,如mysql-connector-java.jar)
      vim /opt/cm-5.10.1/etc/cloudera-scm-agent/config.ini 修改为主节点的主机名 这里是cm
      拷贝到各个节点:
      scp -r /opt/cm-5.10.1/ root@cdh1:/opt/
      scp -r /opt/cm-5.10.1/ root@cdh2:/opt/
      主节点和所有节点添加用户:
      useradd --system --home=/opt/cm-5.12.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
      将CDH包放入正确目录:
      将下载的文件.parcel .parcel.sha1manifest.json 拷贝到对应目录
      .sha1 改为.sha 不然不生效
      mv /mnt/soft/CDH-5.10.1-1.cdh5.10.1.p0.10-el6.* /opt/cloudera/parcel-repo/
      启用错误:yum -y install psmisc 行102: pstree: 未找到命令
      开启服务:/opt/cm-5.10.1/etc/init.d/cloudera-scm-server start
      开启节点服务:/opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
      查看server日志:tail -f /opt/cm-5.10.1/log/cloudera-scm-server/cloudera-scm-server.log
      查看节点日志: tail -f /opt/cm-5.10.1/log/cloudera-scm-agent/cloudera-scm-agent.log
      假如先启动的server后放入的cdh包需要重启下不然安装的时候会重新下载

    8. 开始配置节点
      http://192.168.1.190:7180 默认用户名密码为admin

    9、碰到的提示
    1、cdh[1-2]: IOException thrown while collecting data from host: No route to host
    2、Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响:
    cm
    1解决,关闭1-2的防火墙
    2解决,echo 10 >/proc/sys/vm/swappiness
    10、运行碰到问题
    (1)hdfs启动碰到:java.io.FileNotFoundException: /dfs/nn/current/VERSION (Permission denied)
    解决:chown hdfs:root -R /dfs/nn/

    (2)报错 Canary 测试无法在目录 /tmp/.cloudera_health_monitoring_canary_files 中创建文件。
    解决:sudo -uhdfs hdfs dfsadmin -safemode leave
    已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响:
    运行
    echo 10 >/proc/sys/vm/swappiness
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    配置离线存储:
    http://archive-primary.cloudera.com/cm5/repo-as-tarball/5.10.1/
    http://archive-primary.cloudera.com/cdh5/repo-as-tarball/5.10.1/
    解压出来: tar -xvf
    cm机器配置本地服务:python -m SimpleHTTPServer 8910
    访问测试:http://cm:8910/cm/5.10.1/
    在安装集群的时候选离线存储安装,因为在线安装很慢

    相关文章

      网友评论

          本文标题:CDH 环境构建

          本文链接:https://www.haomeiwen.com/subject/sftdeqtx.html