使用阿里云主机离线部署CDH步骤详解

一、Linux文件系统准备

1. 拍摄快照

登录阿里云控制台,拍摄快照,注意有几个关键点尽量拍摄快照,系统初始状态、CM环境准备完成、CM安装完成、CDH安装完成。

2. 挂载设备

三个主机都执行。

  • 创建挂载目录
$mkdir /data
  • 查看设备
$df -h
$fdish -l

得知/dev/vdb没有挂载

  • 格式化设备
$mkfs.ext3 /dev/vdb
  • 编写开机自动挂载脚本
$mkdir /opt/shell/
$vim /opt/shell/mymount.sh
#!/bin/bash
#
mount -o rw /dev/vdb /data
  • 修改权限
$chmod 777 /opt/shell/mymount.sh
  • 设置开机运行
$vim /etc/rc.local

在文件中加入一行

/opt/shell/mymount.sh

二、系统环境准备

1. 网络配置

  • 修改hostname。三台机器分别改为cdh01、cdh02、cdh03。
$vim /etc/sysconfig/network
  • 重启网络服务。
$service network restart
  • 修改IP与主机名的对应关系。
vi /etc/hosts
内网ip1 cdh01
内网ip2 cdh02
内网ip3 cdh03

2. SSH两两免密码登录

三个云主机要设置自身免密码登录,并且三个云主机之间设置两两免密码登录。以cdh01为例:

  • 设置自身免密码登录

在cdh01产生密钥,将公钥追加重定向到认证文件中。在三台机器中都执行如下命令:

$ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
$cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
  • cdh01免密码登录到cdh02

将cdh01的公钥远程拷贝到cdh02中,这时需要输入cdh02的密码;再在cdh02中将已经远程拷贝过来的cdh01的公钥追加重定向到cdh02的认证文件中。这是因为私钥加密,公钥解密,cdh01与cdh02通信需要先用私钥加密,私钥加密的要用公钥解密,所以要将cdh01的公钥追加到cdh02的认证文件中。

$scp ~/.ssh/id_dsa.pub [email protected]:~
$cat ~/id_dsa.pub >> ~/.ssh/authorized_keys
  • cdh01免密码登录到cdh03
$scp ~/.ssh/id_dsa.pub [email protected]:~
$cat ~/id_dsa.pub >> ~/.ssh/authorized_keys

同理可以完成cdh02免密码登录到cdh01和cdh03,cdh03免密码登录到cdh01和cdh02。

3. 关闭防火墙

  • 临时关闭
$service iptables stop
  • 永久关闭需重启生效
$chkconfig iptables off

4. 关闭SELINUX

$vim /etc/selinux/config

将SELINUX=enforcing 修改为 SELINUX=disabled

  • 查看SELINUX状态
$/usr/sbin/sestatus

执行$/usr/sbin/sestatus,可见SELINUX status:(enabled:开启;disabled:关闭)

5. 安装JDK

  • 采用RPM包安装
$rpm -ivh jdk-7u79-linux-x64.rpm
  • 配置环境变量
$vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 使环境变量生效
$source /etc/profile

6. 安装时间同步

  • 所有节点安装NTP
$yum -y install ntp
  • 设置开机启动
$chkconfig ntpd on
  • 检查是否设置成功
$chkconfig --list ntpd
  • 设置时间同步
$ntpdate -u ntp1.aliyun.com

7. 主节点安装MySQL

  • 查看并卸载之前版本

查看系统是否安装了MySQL,使用命令

$rpm -qa | grep mysql

卸载命令类似下面

$rpm -ev mysql-*.RHEL4.1
$yum -y remove mysql-libs-5.1.71-1.el6.x86_64
  • 继续查看是否有未删尽的目录
$find / -name mysql

删除查找出的所有mysql目录,例如:

$rm -rf /var/lib/mysql
$rm -rf /var/lib/mysql
$rm -rf /usr/lib64/mysql
$rm -fr /usr/include/mysql
  • 手动删除my.cnf文件

卸载后/etc/my.cnf有可能不会删除,需要进行手工删除。

rm -f /etc/my.cnf
  • 再次查找机器是否安装mysql
$rpm -qa|grep -i mysql

如果无结果,说明已经卸载彻底。

  • 安装mysql

使用如下命令安装Server和Client:

$rpm -ivh MySQL-server-5.6.*.rpm
$rpm -ivh MySQL-client-5.6.*.rpm
$rpm -ivh MySQL-devel-5.6.*.rpm

注意MySQL的版本选择5.5或5.6,因其和Hadoop生态圈的Oozie、Hue、Hive/Impala、Sqoop等的兼容性比较好。

  • 启动MySQL

查看状态

$service mysql status

如果没有运行,则使用如下命令启动:

$service mysql start
  • 设置开机启动
$chkconfig --add mysql
#或者
$chkconfig mysql on

查看是否生效

$chkconfig --list mysql
  • 查看初始密码
$cat /root/.mysql_secret
  • 给mysql设置root密码

使用如下命令进入mysql:

$mysql -u root -p

输入密码初始密码后进入MySQL命令行,再修改密码。

mysql>SET PASSWORD = PASSWORD(‘newpwd‘);
mysql>quit;

退出后再用新密码测试

$mysql -uroot -pnewpwd 

如果可以登录成功,则表示mysql数据库已经安装成功。

8. 下载安装第三方依赖包

所有节点都需下载安装依赖包。

$yum -y install chkconfig python 2.6 required for CDH 5 bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb 

三、安装Cloudera Manager Server&Agent

1. 安装 Cloudera Manager Server&Agent

  • 上传文件

拷贝cloudera-manager-el6-cm5.6.1_x86_64.tar.gz 到所有Server、Agent节点

  • 创建 cm 目录
$mkdir /opt/cloudera-manager 
  • 解压 cm 压缩包
$tar -zxvf /opt/tools/cdh/cloudera-manager-el6-cm5.6.1_x86_64.tar.gz -C /opt/cloudera-manager 

2. 创建用户 cloudera-scm(所有节点)

  • 所有节点创建用户
$useradd --system --home=/opt/cloudera-manager/cm-5.6.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
  • 查看用户是否成功创建:
$cat /etc/passwd 

3.  配置CM Agent

所有的Agent机器都需要修改

修改文件/opt/cloudera-manager/cm-5.6.1/etc/cloudera-scm-agent/config.ini中server_host以及server_port。

server_host=cdh01,server_port 7182

4. 配置CM server数据库

在主节点执行。

  • 拷贝jar包

拷贝/opt/tools/cdh/目录下的mysql jar文件到目录/usr/share/java/中,并且jar包名要修改为mysql-connector-java.jar。如果没有java目录需要先创建。

$mkdir /usr/share/java
$cp /opt/tools/cdh/mysql-connector-java-5.1.26-bin.jar /usr/share/java/mysql-connector-java.jar  

因为在启动时会到这个目录下找jar包,如果没有找到就认为没有jar包,会报数据库JDBC connection的错误。

  • 创建临时账户

进入mysql,创建临时账户,来于建立数据库。

mysql>grant all on *.* to ‘temp‘@‘%‘ identified by ‘temp‘ with grant option;
mysql>FLUSH PRIVILEGES;
  • 执行scm_prepare_database.sh脚本
$cd /opt/cloudera-manager/cm-5.6.1/share/cmf/schema/
$./scm_prepare_database.sh mysql temp -h cdh01 -utemp -ptemp --scm-host cdh01 scm scm scm
  • 删除临时用户
mysql> drop user ‘temp‘@‘%‘;

5. 创建Parcel目录

  • Server节点

在Server节点创建parcel-repo目录并修改权限。

$mkdir -p /opt/cloudera/parcel-repo
$chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
  • Agent节点

所有Agent节点创建parcels目录并修改权限。

$mkdir -p /opt/cloudera/parcels
$chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

6. 制作CDH本地源

直接上传已下载文件CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1和CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel。或者直接用wget下载:

$wget http://archive-primary.cloudera.com/cdh5/parcels/5.6.1/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1 >> /dev/null &
$wget http://archive-primary.cloudera.com/cdh5/parcels/5.6.1/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel >> /dev/null & 

将这两个文件拷贝到/opt/cloudera/parcel-repo目录下。

7. 启动CM Manager&Agent服务

  • 进入目录
$cd /opt/cloudera-manager/cm-5.6.1/etc/init.d/
  • 先启动Server

首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装。

$./cloudera-scm-server start
  • 后启动所有Agents
$./cloudera-scm-agent start
  • 查看日志

Cloudera Manager的安装日志在/opt/cloudera-manager/cm-5.6.1/log目录下,其中有agent、server和cmf三个文件夹。server在启动的时候会启动很多脚本,对数据库的创建、包的操作,会花费一段时间。

四、安装CDH

1. CDH集群的安装

  • 登录到CM客户端(浏览器)

地址:http://cdh01公网ip:7180/

用户名:admin

密码:admin

  • Cloudear Manager部署版本的选择

  • 为CDH集群的安装指定主机

将三台云主机全选。

  • 选择储存库

使用Parcel方法,CDH版本选择5.6.1。

  • 集群正确性检测

如果出现警告,按提示解决即可

例如:echo never > /sys/kernel/mm/transparent_hugepage/defrag”以禁用此设置。然后将同一命令添加到 /etc/rc.local 等初始脚本中,以便在系统重启时予以设置。

  • 自定义脚本分配

2. 为集群添加Hive服务

3. 为集群添加Sqoop服务

最终可见安装完成的界面如下:

原文地址:https://www.cnblogs.com/yangp/p/8520229.html

时间: 2024-11-09 10:03:28

使用阿里云主机离线部署CDH步骤详解的相关文章

阿里云主机操作实战详细步骤

账户注册 首先登陆阿里云官网https://www.aliyun.com/ 右上角有免费注册 –点击后如下图 1.给这个账户起一个名字 2.设置密码 3.再输入密码 4.输入手机号 5.滑动验证 主机购买 在主页点击产品栏 里面有各种产品供你选择 我这里选择云服务器ECS  选择其他操作雷同 点击立即购买  选择自定义配置 选择你需要的配置 1. 计费方式:包年/包月 2. 地域:不同地域的实例之间内网互不相通:选择靠近您客户的地域,可降低网络时延.提高您客户的访问速度 3. 网络:选择经典网络

阿里云轻量应用服务器 搭建配置详解

好久没有更新博客了,说来也是惭愧没有养成记录经验的习惯. 有很多技术开发同学都想拥有自己的服务器用来搭建个人网站,或者展示作品,但是怕租上不会配置或者嫌配置繁琐难下决定. 废话不多说直接进入正题,前两天帮朋友配置一台阿里云的轻量应用服务器(注意不是云服务器ECS但是大同小异). 服务器规格 我配置的是1GB内存1核  20GB SSD系统盘 一年(最低配置算下来打折400多),一般个人建站或者拿来自己练手这个配置足够用了,如果公司用可以选择配置更高的. 1.地域选择 推荐大家选择 华东1(杭州)

普元云计算-阿里云上的容器技术实践详解

转载本文需注明出处:EAII企业架构创新研究院,违者必究.如需加入微信群参与微课堂.架构设计与讨论直播请直接回复公众号:"EAII企业架构创新研究院".(微信号:eaworld)   导读:本文以"实践过程中问题与思考"为主体,与大家分享其中的过程和经验,希望大家在后续的工作中能够避免相关问题,形成更佳实践. 为什么选择阿里云 现在的公有云如雨后春笋,国外如AWS.Azure.Bluemix,国内如BAT.DaoCloud.goodrain,都可以给大家提供丰富的云

FineBI学习系列之FineBI与阿里云ADS数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-569.html 目录: 1.描述 2.操作 3.注意事项 1.描述 阿里分析型数据库ADS是一种高并发低延时的PB级实时数据仓库,全面兼容MySQL协议以及SQL:2003 语法标准,可以毫秒级针对万亿级数据进行即时的多维分析透视和业务探索:可以使用标准 SQL.现有的商业智能 (BI) 工具和ETL工具经济高效地轻松分析与

【转】Redis学习---阿里云Redis多线程性能增强版详解

[原文]https://www.toutiao.com/i6594620107123589635/ 摘要 Redis做为高性能的K-V数据库,由于其高性能,丰富的数据结构支持,易用等特性,而得到广泛的应用.但是由于redis单进程单线程的模型限制,单Redis Server QPS最高只能达到10万级别.本文试图通过对Redis做多线程的优化,来达到增强性能的目的. 二.背景 众所周知redis是单进程单线程模型(不完全是单进程单线程,还有若干后端线程主要做刷脏数据,关闭文件描述符等后台清理工作

阿里云主机部署Docker容器引擎

一.部分  通过阿里云软件市场一键部署 配置过程如下链接: https://market.aliyun.com/products/56014007/cmjj017110.html?spm=5176.2020520132.101.5.4MIrmY最终get到云主机+Docker容器引擎 云主机登录:ssh -p 22 [email protected]公网IP  user:root pass:[email protected] 容器远程登录:ssh –p9090 [email protected]

阿里云主机免费申请级网站配置

前阵子看到阿里云主机和邮箱免费申请,当然吸引到了我,倒弄了一番送上我的简单操作如下,域名绑定部分请见我前面的文章. 1.云主机和企业邮箱免费申请 申请网址:http://wanwang.aliyun.com/hosting/free/ 1. 企业邮申请: 这个申请主要要求就是你得有个域名,这个域名是用来解析你的邮件地址的. 企业邮申请不需要抢. 2. 云主机申请: 申请主机的主要条件是手速快!!!手速快!!!手速快!!! 收到会有邮件通知,按找步骤来就行 2. 给云主机配置wordpress:

阿里云主机安装Memcached

http://www.zyuns.com/?page_id=354 前言最近发现阿里云主机在使用中,并发访问量稍大,页面加载速度就很慢.于是学习了一些服务器优化的文章,决定安装Memcached,优化页面查询,提高Wordpress的响应速度.这里记录下阿里云主机Centos6.3的Memcached安装的过程. Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据 库驱动网站的速度.

阿里云主机实战应用之centos7上的防火墙设置

最近公司又上了一台服务器,以前都是用centos 6系统,这次选择使用了centos 7系统的安装镜像,因为现在程序版本在centos 7上一般php默认就是5.4以上的,mysql也变成了mariadb,但使用都一样而已,apache安装的httpd程序也是2.4的版本,所以就算yum安装基本服务也是比较新一些的版本吧. 公司拨款后就在阿里云后台买了台主机,直接yum装的lamp,添加虚拟主机的配置文件这里就不说了,网上一堆的配置文档,只记录下,在centos7上遇到的坑. lamp环境都搭好