Ubuntu 14.04 下安装 Cloudera

* 系统环境配置

1. 环境属性

  1. *. lsb_release -a 查看版本
  2. 1. 创建用户 cloudera-scm, 给与免密码 sudo 权限
  3. vim /etc/sudoers
  4. #把 %sudo ALL=(ALL:ALL) ALL 这行注释掉
  5. #用这句替代刚刚注释掉的那句
  6. %sudo ALL=(ALL:ALL) NOPASSWD:ALL 移动到文件未尾
  7. # 创建cm部署用户
  8. userdel cloudera-scm
  9. groupadd -r cloudera-scm
  10. # 分配到 组
  11. useradd -m -s /bin/bash -g cloudera-scm cloudera-scm
  12. # 分配 sudo 权限
  13. sudo adduser cloudera-scm sudo
  14. # 创建hadoop用户
  15. userdel hadoop
  16. groupadd -r hadoop
  17. useradd -m -s /bin/bash -g hadoop hadoop
  18. # 追加用户到 sudo 组
  19. sudo adduser hadoop sudo
  20. 2. 同步系统时区(每台服务器的时区必须一样)
  21. 3. 关闭防火墙
  22. 4. 安装 scp
  23. 6. ssh key
  24. # 生成 key
  25. sssh-keygen
  26. # 分配
  27. ssh-copy-id -i ~/.ssh/id_rsa.pub username@hostname

2. 系统属性

  1. 1. 禁用大透明页
  2. cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
  3. [always] never 表示已启用透明大页面压缩。
  4. always [never] 表示已禁用透明大页面压缩。
  5. 如果启用, 请关闭
  6. echo 'never' > /sys/kernel/mm/redhat_transparent_hugepage/defrag
  7. 加入开机启动中
  8. vim /etc/rc.local
  9. # 禁用大透明页
  10. echo 'never' > /sys/kernel/mm/redhat_transparent_hugepage/defrag
  11. 2. vm.swappiness Linux 内核参数
  12. # 默认为 60 , 用于控制将内存页交换到磁盘的幅度, 介于 0-100 之间的值;值越高,内核寻找不活动的内存页并将其交换到磁盘的幅度就越大。
  13. cat /proc/sys/vm/swappiness
  14. # 设置为 0
  15. sysctl -w vm.swappiness=0
  16. 3. 集群挂载的文件系统,不使用 RAID LVM 文件系统
  17. 4. 最大打开的文件数
  18. sysctl -a | grep fs.file
  19. 如果比 65535 下, 则设置如下参数
  20. sudo vim /etc/security/limits.conf
  21. hdfs soft nofile 65535

3. 确保正确的 apt 源,如果没有请添加以下

  • vim /etc/apt/sources-ext.list
  1. deb http://cn.archive.ubuntu.com/ubuntu/ precise main restricted
  2. deb-src http://cn.archive.ubuntu.com/ubuntu/ precise main restricted
  3. deb http://cn.archive.ubuntu.com/ubuntu/ precise-updates main restricted
  4. deb-src http://cn.archive.ubuntu.com/ubuntu/ precise-updates main restricted
  5. deb http://cn.archive.ubuntu.com/ubuntu/ precise universe
  6. deb-src http://cn.archive.ubuntu.com/ubuntu/ precise universe
  7. deb http://cn.archive.ubuntu.com/ubuntu/ precise-updates universe
  8. deb-src http://cn.archive.ubuntu.com/ubuntu/ precise-updates universe
  9. deb http://cn.archive.ubuntu.com/ubuntu/ precise multiverse
  10. deb-src http://cn.archive.ubuntu.com/ubuntu/ precise multiverse
  11. deb http://cn.archive.ubuntu.com/ubuntu/ precise-updates multiverse
  12. deb-src http://cn.archive.ubuntu.com/ubuntu/ precise-updates multiverse
  13. deb http://cn.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
  14. deb-src http://cn.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
  15. deb http://security.ubuntu.com/ubuntu precise-security main restricted
  16. deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
  17. deb http://security.ubuntu.com/ubuntu precise-security universe
  18. deb-src http://security.ubuntu.com/ubuntu precise-security universe
  19. deb http://security.ubuntu.com/ubuntu precise-security multiverse
  20. deb-src http://security.ubuntu.com/ubuntu precise-security multiverse
  21. # 更新
  22. sudo apt-get update(可选)
  23. sudo apt-get install curl -y

一、安装 Cloudera Manager Server 和 Cloudera Agent

1. 配置 CM 源

  1. * 登录 cloudera-scm 账号
  2. 1. 添加 cloudera-manager.repo 源(所有节点, ubuntu14.04)
  3. cd /etc/apt/sources.list.d/
  4. 1) CM 配置源
  5. wget http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm/cloudera.list
  6. # 安装 key
  7. wget http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm/archive.key -O archive.key
  8. sudo apt-key add archive.key
  9. apt-get update
  10. # Trusty 额外步骤,能够获得当前的 CDH 发行版的正确 ZooKeeper 软件包。您需要确定您刚添加的 Cloudera 存储库的优先级,以便您安装 ZooKeeper 的 CDH 版本,而不是与 Ubuntu Trusty 捆绑在一起的版本。
  11. vim /etc/apt/preferences.d/cloudera.pref 添加如下信息
  12. Package: *
  13. Pin: release o=Cloudera, l=Cloudera
  14. Pin-Priority: 501

2. 安装 CM

  1. 登录 cloudera-scm 账号
  2. 1. 安装 JKD (PS: oracle-j2sdk1.7 源在 CM 的源中)
  3. apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install oracle-j2sdk1.7
  4. # 配置环境变量,在/etc/profile中添加
  5. # JAVA
  6. export JAVA_HOME=/usr/lib/jvm/java-7-oracle-cloudera
  7. export JRE_HOME=${JAVA_HOME}/jre
  8. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
  9. export PATH=${JAVA_HOME}/bin:$PATH
  10. source /etc/profile
  11. 2. 安装 cloudera-manager (管理服务器节点)
  12. apt-get install cloudera-manager-daemons cloudera-manager-server -y
  13. 3. 配置 cloudera-manager-server 数据库(mysql 默认你已经安装了 mysql , 并且创建了数据库和远程可以访问的的账号)
  14. sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p --scm-host localhost scm scm scm_password
  15. 2)方法 2 编写配置文件 /etc/cloudera-scm-server/db.properties
  16. com.cloudera.cmf.db.type=mysql
  17. com.cloudera.cmf.db.host=dw0:3306
  18. com.cloudera.cmf.db.name=scm
  19. com.cloudera.cmf.db.user=hadoop
  20. com.cloudera.cmf.db.password=2345.com
  21. com.cloudera.cmf.db.setupType=EXTERNAL
  22. 4. 安装 cloudera-manager (集群节点,注意配置服务器环境和 JDK 环境, 步骤在开头)
  23. apt-get install cloudera-manager-daemons cloudera-manager-agent -y
  24. vim /etc/cloudera-scm-agent/config.ini 配置文件
  25. # 配置 CM host
  26. server_hostcm_hostname
  27. 5. 启动节点 CM 节点
  28. sudo service cloudera-scm-server restart
  29. 6. 启动 AGENT 节点(在 CM 正确启动后)
  30. sudo service cloudera-scm-agent restart

二、安装 CDH 组件

  • 配置源 CDH 源
  1. *. 登录 hadoop 用户
  2. 1. 安装源
  3. # 下载源
  4. sudo wget 'http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh/cloudera-chd.list' -O /etc/apt/sources.list.d/cloudera-chd.list
  5. # 安装 key
  6. wget http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh/archive.key -O archive.key
  7. sudo apt-key add archive.key
  8. apt-get update
  9. 2. 固定版本问题
  10. # PS: 若要安装指定的版本, 修改如下参数
  11. sudo vim /etc/apt/sources.list.d/cloudera-chd.list
  12. # Packages for Cloudera's Distribution for Hadoop, Version 5, on Ubuntu 14.04 amd64
  13. #deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh5 contrib (修改前)
  14. deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh5.9 contrib
  15. #deb-src http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh5 contrib (修改前)
  16. deb-src http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh5.9 contrib
  17. # 修改 trusty-cdh5 版本号, 所有 trusty 可查看如下链接
  18. http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh/dists/
  19. # 更新源方可生效
  20. apt-get update

1. 安装 Flume

  • 具体说明转 flume 文档
  1. sudo apt-get install flume-ng-agent

2. 安装 sqoop

  1. sudo apt-get install sqoop

3. 安装 HBase

  1. sudo apt-get install sqoop

* 常见问题

1. 如果遇到python报错:ImportError: No module named

  1. mv /usr/lib/cmf/agent/build/env/bin/python /usr/lib/cmf/agent/build/env/bin/python.bak
  2. cp /usr/bin/python2.7 /usr/lib/cmf/agent/build/env/bin/python