hadoop(CM版)

一、系统环境准备
本文档以安装 3 个节点为例,
主节点 6G 内存(c1,服务端+Agent 客户端),其他各 1G 内存(c2/c3,Agent 客户端)
CDH 系统要求的安装文档参考下面链接,(CDH 在管理节点尽量分配或使用更多内存)
https://www.cloudera.com/documentation/enterprise/release-
notes/topics/rn_consolidated_pcm.html#cm_cdh_compatibility

  1. 选择最小化安装 CentOS 6.8 x64
    基本工具安装: wget, openssh-clients(须所有节点都安装,可安装后再克隆虚拟机), etc
    网络设置
    (1) 每一台节点机器关闭 selinux
    Setenforce 0
    vi /etc/selinux/config
    SELINUX=disable
    (2) 在每一台节点机器关闭 iptables
    iptables -F
    chkconfig iptables off
    (3) Hostname 设置,以设置“c1”为例:
    hostname c1
    vi /etc/sysconfig/network
    c1
    设置/etc/hosts 文件
    vi /etc/hosts
    192.168.106.148
    192.168.106.149
    192.168.106.150
    c1
    c2
    c3
    (4) 为 c1 去每一天节点机器设置免密码登录
    ssh-keygen -t rsa –P ‘’
    ssh-copy-id localhost

ssh-copy-id c1
ssh-copy-id c2
ssh-copy-id c3
(5) 复制/etc/hosts 到其他节点
scp /etc/hosts c2:/etc/hosts
scp /etc/hosts c3:/etc/hosts
2. JDK installation and configuration and Other software dependencies
CDH 5.4.x is supported with the versions shown in the following table:
Mimimal
1.7.0_55
1.8.0_31
Recommend
1.7.0_67 1.7.0_75
1.8.0_31
Notes
None
Recommend NOT use JDK
1.8_40 and JDK 1.8_60
JDK8 download url:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
(1) 在每一台节点机器上都装 jdk
rpm -ivh jdk-8u131-linux-x64.rpm
(2) 在每一台节点机器上都设置好环境变量 JAVA_HOME
vi /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131
shell> source /etc/profile
(3) 安装其他软件依赖在每一台机器(可安装后再一台后克隆到其他节点)
yum install –y chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-
sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

二、CM 安装和运行

  1. CM 5.4.1 的下载地址 http://archive.cloudera.com/cm5/cm/5/
    https://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.4.1_x86_64.tar.gz
    下载完成后解压到目录
    mkdir /opt/cloudera-manager/
    tar zxvf cloudera-manager-el6-cm5.4.1_x86_64.tar.gz –C /opt/cloudera-
    manager
  2. 安装 Cloudera Manager 服务端和 Agents 客户端
    (1) 在每一台节点机器都创建用户 cloudera-scm,
    useradd --system --home=/opt/cloudera-manager/cm-5.4.1/run/cloudera-scm-
    server --no-create-home --shell=/bin/false --comment “Cloudera SCM User”
    cloudera-scm
    (2) 创建 CM 的本地数据目录
    mkdir /var/log/cloudera-scm-server
    chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-server
    (3) 配置 CM 的 Agents 客户端配置,并复制 CM 到其他节点
    vi /opt/cloudera-manager/cm-5.4.1/etc/cloudera-scm-agent/config.ini
    #更改 cm的 server地址,原为:server_host=localhost,改为:
    server_host=cdh01
    scp -r /opt/cloudera-manager/ cdh02:/opt
    scp -r /opt/cloudera-manager/ cdh03:/opt
  3. 为 Cloudera Manager 服务端设置数据库
    为了 CM 的服务端准备一个外部的数据库,比如 MySQL,Oracle,PG
    (1) 确定想要安装的 MySQL 版本,5.1,5.5,5.6 都支持,命令以 5.1 为例
    yum install –y mysql mysql-server mysql-libs
    chkconfig mysqld on

(2) 关闭 MySQL 数据库,如果已经启动
service mysqld stop
(3) 如果你的机器是生产环境机器已经有很多 MySQL 的日志,那要先把旧的 InnoDB 的数据
库日志移动出/var/lib/mysql 目录
(4) 确定 MySQL 的配置选项文件,通常为/etc/my.cnf 并设置成 CM 使用
范例文件:
[mysqld]
transaction-isolation = READ-COMMITTED

Disabling symbolic-links is recommended to prevent assorted

security risks;

to do so, uncomment this line:

symbolic-links = 0

key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M
#log_bin should be on a disk with enough free space. Replace
‘/var/lib/mysql/mysql_binary_log’ with an appropriate path for your
system
#and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log

For MySQL version 5.1.8 or later. Comment out binlog_format for

older versions.
binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M

InnoDB settings

innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
(5) 启动 MySQL 数据库并设置数据库 root 密码为’robbin’
service mysqld start
mysqladmin –u root password ‘robbin’
(6) 安装 MySQL JDBC, 官方下载链接:
http://www.mysql.com/downloads/connector/j/5.1.html
tar zxvf mysql-connector-java-5.1.43.tar.gz
mkdir -p /usr/share/java

cp mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar
/usr/share/java/mysql-connector-java.jar
(7) 为 CM 的数据库配置设置一个 temp 用户:
mysql> grant all
on . to ‘temp’@‘c1’ identified by ‘temp’ with grant option;
mysql> flush privileges;
(8) 用 CM 的脚本创建 CM 使用的数据库
脚本的语法:
scm_prepare_database.sh database-type [options] database-name username
password
命令如下:
/opt/cloudera-manager/cm-5.4.1/share/cmf/schema/scm_prepare_database.sh
mysql -h c1 -utemp -ptemp --scm-host c1 scm scm scm
(9) 安全相关:数据库设置成功后,可删除超级用户 temp
mysql> drop user ‘temp’@’c1’;
4. 创建本地软件仓库
(1) 给 CM 创建一个本地的软件包仓库,并设置目录权限给 CM 用户
mkdir –p /opt/cloudera/parcel-repo
chown –R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
(2) 在每一节点机器上都创建软件包仓库并 chown
(3) CDH 本地目录的建立和软件包的下载
CDH 官网软件包地址: http://archive.cloudera.com/cdh5/parcels/5.4.1/
选择相应平台的软件包和 manifest.json 及.sha1 文件并 mv to 仓库目录
/opt/cloudera/parcel-repo
mv CDH-5.4.1-1.cdh5.4.1.p0.6-el6.parcel CDH-5.4.1-1.cdh5.4.1.p0.6-
el6.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/
cd /opt/cloudera/parcel-repo
mv CDH-5.4.1-1.cdh5.4.1.p0.6-el6.parcel.sha1 CDH-5.4.1-1.cdh5.4.1.p0.6-
el6.parcel.sha

  1. 开启 CM 服务端程序
    (1) 使用 root 用户开启服务
    /opt/cloudera-manager/cm-5.4.1/etc/init.d/cloudera-scm-server start
    使用 cloudera-scm 用户开启服务
    chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager
    sudo –u cloudera-scm /opt/cloudera-manager/cm-5.4.1/etc/init.d/cloudera-
    scm-server start
    (2) 设置服务器启动时自动启动 CM 的服务端
    cp /opt/cloudera-manager/cm-5.4.1/etc/init.d/cloudera-scm-server
    /etc/init.d/cloudera-scm-server
    chkconfig cloudera-scm-server on
    vi /etc/init.d/cloudera-scm-server
    #注释:查找 CMF_DEFAULTS然后注释原有该变量相关内容,然后键入下面内容
    CMF_DEFAULTS=/opt/cloudera-manager/cm-5.4.1/etc/default
  2. 开启 CM 的 Agent 端程序
    (1) 在所有 Agent 节点机器都启动 agent 程序:
    #在所有节点运行
    /opt/cloudera-manager/cm-5.4.1/etc/init.d/cloudera-scm-agent start
    (2) 设置服务器重启后自启动,以 cdh01 为例
    cp /opt/cloudera-manager/cm-5.4.1/etc/init.d/cloudera-scm-agent
    /etc/init.d/cloudera-scm-agent
    chkconfig cloudera-scm-agent on
    (3) 编辑相关脚本,以 cdh01 为例
    vi /etc/init.d/cloudera-scm-agent
    #注释:查找 CMF_DEFAULTS然后注释原有该变量相关内容,然后键入下面内容
    CMF_DEFAULTS=/opt/cloudera-manager/cm-5.4.1/etc/default
    (4) 复制 cdh01 的自启动脚本到所有节点,并更改目录权限
    ssh cdh02 chown –R cloudera-scm.cloudera-scm /opt/cloudera-manager

ssh cdh03 chown -R cloudera-scm.cloudera-scm /opt/cloudera-manager
scp /etc/init.d/cloudera-scm-* cdh02:/etc/init.d
ssh cdh02 chkconfig cloudera-scm-agent on
scp /etc/init.d/cloudera-scm-* cdh03:/etc/init.d
ssh cdh03 chkconfig cloudera-scm-agent on
(5) 在其他节点也都开启 CM 的 Agent 客户端服务
ssh cdh02 service cloudera-scm-agent start
ssh cdh03 service cloudera-scm-agent start
7. CDH 登录,缺省在 7180 端口
http://192.168.106.151:7180
缺省用户名和密码: admin/admin
8. 其他设置
内核参数设置(在每一台节点服务器设置)
sysctl vm.swappiness=10
vi /etc/sysctl.conf
#cdh文档中的设置 vm.swappiness = 0,此处建议设为 10

vm.swappiness = 10
ssh cdh02 sysctl vm.swappiness=10
ssh cdh03 sysctl vm.swappiness=10
scp /etc/sysctl.conf cdh02:/etc
scp /etc/sysctl.conf cdh03:/etc
三、CM 初始化配置

  1. 在用 admin/admin 登录及选择版本(免费版已经够用,这里以试用版为例)后来到下
    图页面:

  2. 来到下图页面,若配置正常则可看到已经启动 Agent 客户端的节点,点击红框标识的选
    项:

  3. 得到下图页面,点击红框选项,勾选所有节点主机:

  4. 得到下图,此时若之前 Parcel 仓库正确则会出现红框内容,若不正确则在后台终端按
    步骤二.4 配置,并重启 server 端程序:

  5. 来到下图,配置程序向各节点发送软件包:

  6. 软件包分发完之后,初始配置程序会对所有需要的配置进行总检查
    此时若配置不正确,可在后台终端继续配置完成,并点击如下图的“重新运行”

  7. 上图点击完成,即可选择需要安装的核心组件,这里只选择 Hadoop 以节省内存,其他
    需要的组件可在安装完成后再自行添加

  8. “继续”后,需要为每一个服务配置相应运行的节点
    如下图,可点击红框处,可配置 secondary namenode 到 cdh02

点击下图红框可更改 DataNode 的节点:

点击下图红框可更改 NodeManager 的节点:
点击下图红框可更改 Zookeeper 的节点,注意 zookeeper 节点数必须单数

  1. 点击确定及继续后,来到数据库设置,如下图页面,
    在此页面分别填写安装这些组件需要用到的数据库名(此时这些数据库还未创建)及其他内
    容,用户名密码可使用下面命令:
    mysqladmin -u root -h cdh01 password ‘hadoop’
    创建(密码若已经创建则无需再建):

在后台终端创建数据库的命令:

  1. 设置集群各组件配置(都可缺省)

  2. 配置程序为每个组件初始化设置及启动,并最终“安装完成”!

  3. 完成后会进入 CM 的主页,下图红框内即为各种服务组件

  4. 可点击红色方框“添加服务”为集群添加组件等设置,红色圆框管理单个服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值