这几天一直在安装CDH,头都搞大了,安装第三次,最终成功了。

第一次问题非常多。后面卸载了。由于没有卸载干净导致第二次安装失败。

后来索性重装系统了。直接使用了纯净系统进行安装。一个人跑到学院机房去装系统,苦逼慘了。

。不扯了,记录下安装流程。

系统环境

操作系统:CentOS 6.5 x64,配置例如以下:



Cloudera Manager:5.3.4

CDH: 5.3.4

前期准备工作(系统环境搭建)

所需软件

cloudera-manager-el6-cm5.3.4_x86_64.tar.gz
mysql-connector-java-5.1.25-bin.jar

1、设置静态IP地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0 

由于我重装系统时已经设置了,这里就不设置了。

2、改动主机名

hostname 主机名  (当前生效)
vi /etc/sysconfig/network (下次启动生效) [root@hadoop2 opt]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop2
GATEWAY=172.23.253.1
NTPSERVERARGS=iburst

由于我重装系统时已经设置了,这里就不设置了。

3、绑定 IP与HostName

在hadoop1节点上操作

 vi /etc/hosts
172.23.253.20 hadoop1
172.23.253.22 hadoop2
172.23.253.23 hadoop3
172.23.253.24 hadoop4
172.23.253.25 hadoop5
172.23.253.26 hadoop6

拷贝到其他节点(hadoop2~hadoop6)

scp /etc/hosts hadoop2:/etc/
···
scp /etc/hosts hadoop6:/etc/

4、设置SSH免password登录(全部节点)

1、又一次生成密钥 (各个节点)

[root@hadoop1 /]# cd /root/.ssh/
[root@hadoop1 .ssh]# ssh-keygen -t rsa
[root@hadoop1 .ssh]# cat id_rsa.pub >> authorized_keys

測试是否成功ssh localhost

其他其他节点相同的方式生成密钥。

2、设置两两结点间的免password登录

hadoop2~hadoop6将自己的公钥复制给对方主机

ssh-copy-id -i hadoop1

hadoop1复制自己的authorized_keys给其他主机 hadoop2~hadoop6,这样都能够互相免password登录了。

scp /root/.ssh/authorized_keys hadoop2:/root/.ssh/
...
scp /root/.ssh/authorized_keys hadoop6:/root/.ssh/

5、安装Oracle的Java

CentOS自带Open Jdk,只是运行CDH5须要使用Oracle的jdk,须要Java 7的支持。jdk安装的时候,一定要採用rpm的安装方式,而不要採用tar解压的安装方式。由于rpm的安装方式,会在/usr/lib下新建两个软连接。

首先,卸载自带的OpenJdk,使用rpm -qa | grep java查询java相关的包,使用rpm -e --nodeps 包名卸载掉。

由于是rpm包并不须要我们来配置环境变量,我们仅仅须要配置一个全局的JAVA_HOME变量就可以,运行命令:

echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment

运行命令java -versionjavac -version,查看Jdk是否安装正确。

1、卸载系统自带OPEN-JDK(全部节点)

[root@hadoop1 .ssh]# rpm -qa | grep java
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
tzdata-java-2013g-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
[root@hadoop1 .ssh]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
tzdata-java-2013g-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

2、安装Oracle的JDK(全部节点)

[root@hadoop1 opt]# rpm -ivh jdk-7u80-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
jfxrt.jar...
[root@hadoop1 opt]# echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment
[root@hadoop1 opt]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[root@hadoop1 opt]# javac -version
javac 1.7.0_80

6、安装和配置MySql(主节点)

通过yum install mysql-server安装mysql服务器。

设置开机启动chkconfig mysqld on

并启动mysql服务service mysqld start

并依据提示设置root的初始password:mysqladmin -u root password 'xxxx'

[root@hadoop1 opt]# yum install mysql-server
[root@hadoop1 opt]# chkconfig mysqld on
[root@hadoop1 opt]# service mysqld start
[root@hadoop1 opt]# service mysqld status [root@hadoop1 opt]# mysqladmin -u root password 'liguodong'

进入mysql命令行mysql -uroot -pxxxx,创建下面数据库:

[root@hadoop1 opt]# mysql -uroot -pliguodong

mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec) mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec) mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

设置root授权訪问以上全部的数据库。

mysql> grant all privileges on *.* to 'root'@'hadoop1' identified by 'liguodong' with grant option;
Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Cloudera官方MySql配置文档:

http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cm_ig_mysql.html#cmig_topic_5_5

7、关闭防火墙和SELinux(全部节点)

注意: 须要在全部的节点上运行。由于涉及到的port太多了,暂时关闭防火墙是为了安装起来更方便(防火墙会引起hadoop相关组件通讯的各种异常。),安装完毕后能够依据须要设置防火墙策略,保证集群安全。

关闭防火墙:

service iptables stop (暂时关闭)

chkconfig iptables off (重新启动后生效)

关闭SELINUX:

(实际安装过程中发现没有关闭也是能够的,不知道会不会有问题,还需进一步进行验证)

setenforce 0(暂时生效)

改动/etc/selinux/config 下的 SELINUX=disabled(重新启动后永久生效)

[root@hadoop1 opt]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
[root@hadoop1 opt]# chkconfig iptables off [root@hadoop1 opt]# setenforce 0
[root@hadoop1 opt]# vi /etc/selinux/config
[root@hadoop1 opt]# cat /etc/selinux//config
SELINUXTYPE=targeted
SELINUX=disabled

8、安装和配置NTP服务(全部节点)

集群中全部主机必须保持时间同步,假设时间相差较大会引起各种问题。

详细思路例如以下:

master节点作为ntp服务器与外界对时中心同步时间,随后对全部datanode节点提供时间同步服务。全部datanode节点以master节点为基础同步时间。

全部节点安装相关组件:yum install ntp

完毕后,配置开机启动:chkconfig ntpd on

检查是否设置成功:chkconfig --list ntpd。当中2-5为on状态就代表成功。

[root@hadoop1 opt]# yum install ntp
[root@hadoop1 opt]# chkconfig ntpd on
[root@hadoop1 opt]# chkconfig --list ntpd
ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

配置内网NTP服务器(主节点)

在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大。使得ntpd不能正常同步。

这里选用202.112.10.36作为对时中心,命令例如以下:ntpdate -u 202.112.10.36

# ntpdate -u 202.112.10.36
22 Dec 16:52:38 ntpdate[6400]: adjust time server 202.112.10.36 offset 0.012135 sec

ntp服务仅仅有一个配置文件,配置好就能够。

这里仅仅给出实用的配置,不须要的配置都用#注掉。这里就不在给出。

[root@hadoop1 opt]# vi /etc/ntp.conf
[root@hadoop1 opt]# cat /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 202.112.10.36 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

配置文件完毕。保存退出。

启动服务,运行例如以下命令:

[root@hadoop1 opt]# service ntpd start

检查是否成功,用ntpstat命令查看同步状态,出现下面状态代表启动成功:

[root@hadoop1 ~]# ntpstat
synchronised to NTP server (202.112.10.36) at stratum 3
time correct to within 133 ms
polling server every 1024 s

假设出现异常请等待几分钟,一般等待5-10分钟才干同步。

配置ntpclient(hadoop2~hadoop6)

driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#这里是主节点(内网NTP服务器)的主机名或者ip
server hadoop1 includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

保存退出,请求服务器前。请先使用ntpdate手动同步一下时间:ntpdate -u hadoop1 (主节点ntp服务器)

这里可能出现同步失败的情况。请不要着急。通常是本地的ntp服务器还没有正常启动,一般须要等待5-10分钟才干够正常同步。

启动服务:service ntpd start

[root@hadoop2 ~]# ntpdate -u hadoop1
27 Jun 08:14:38 ntpdate[1899]: adjust time server 172.23.253.20 offset 0.000293 sec [root@hadoop2 ~]# service ntpd start
[root@hadoop2 ~]# chkconfig ntpd on

安装与配置Cloudera Manager Server 和Agent

Server配置(主节点)

下载地址:http://archive-primary.cloudera.com/cm5/cm/5/(选择适合你的一款)

依据自己的系统选择对应的版本号。本次安装选用的是cloudera-manager-el6-cm5.3.4_x86_64.tar.gz,下载完毕后仅仅上传到主节点就可以。

然后解压到/opt文件夹下,不能解压到其他地方。

由于cdh5的源会默认在/opt/cloudera/parcel-repo寻找。怎么制作cdh5的本地源文件会在之后介绍。

[root@hadoop1 opt]# tar -zxvf cloudera-manager-el6-cm5.3.4_x86_64.tar.gz

全部节点加入cloudera-scm用户:

[root@hadoop1 lib]# useradd --system --home=/opt/cm-5.3.4/run/cloudera-scm-server/ --no-create-home --shell=/bin/false
--comment "Cloudera SCM User" cloudera-scm

为Cloudera Manager 5建立数据库:

由于我们用的是Mysql数据库。所以我们须要下载Mysql的JDBC驱动。本次从官网上下载的版本号是:mysql-connector-java-5.1.25-bin.jar放到/opt/cm-5.3.4/share/cmf/lib/文件夹下。

[root@hadoop1 opt]# mv mysql-connector-java-5.1.25-bin.jar /opt/cm-5.3.4/share/cmf/lib/

然后。建立数据库:

[root@hadoop1 opt]#/opt/cm-5.3.4/share/cmf/schema/scm_prepare_database.sh mysql
cm -hlocalhost -uroot -pliguodong --scm-host localhost scm scm scm

格式是:scm_prepare_database.sh 数据库类型 数据库 服务器 username password –scm-host Cloudera_Manager_Server所在的机器,后面那三个不知道代表什么。直接照抄官网的了。

开启Cloudera Manager 5 Server端:

[root@hadoop1 lib]# /opt/cm-5.3.4/etc/init.d/cloudera-scm-server start

注意:

server首次启动不要马上关闭或重新启动,由于首次启动会自己主动创建相关表以及数据,

假设由于特殊原因中途退出,请先删除全部表以及数据之后再次启动。否则将会出现启动不成功的情况。

Agent配置(全部节点)

开启Cloudera Manager 5 Agents端。

如今主节点改动/opt/cm-5.3.4/etc/cloudera-scm-agent/config.ini下面的serer_host为主节点的主机名。

[root@hadoop1 lib]# vi /opt/cm-5.3.4/etc/cloudera-scm-agent/config.ini
server_host=hadoop1

先复制/opt/cm-5.3.4到hadoop2~hadoop6节点上,

scp -r /opt/cm-5.3.4 hadoop2:/opt/
···
scp -r /opt/cm-5.3.4 hadoop6:/opt/

等待拷贝成功,在全部节点上启动Agent:(注意必须以管理员权限启动)

[root@hadoop1 lib]# /opt/cm-5.3.4/etc/init.d/cloudera-scm-agent start

浏览器启动Cloudera Manager 5 控制台(默认port号是7180),启动成功就会看到登陆页面。

离线安装Cloudera Manager5.3.4与CDH5.3.4(一)的更多相关文章

  1. 离线安装Cloudera Manager5.3.4与CDH5.3.4(二)

    Cloudera Manager Server和Agent所有后发先至.也能够进行CDH5的安装和配置. 然后,主节点可以通过浏览器访问7180port测试(因为CM Server需要花时间来启动,可 ...

  2. 离线安装Cloudera Manager5.3.4与CDH5.3.4

    文章转载:http://www.aboutyun.com/thread-14024-1-1.html 前期准备工作(系统环境搭建) 操作系统:CentOS 6.5 x64 CPU*2 64G 300G ...

  3. 离线安装Cloudera Manager5.2.0和CDH5 2.0

    第一次安装出现了各种问题,尤其是对于不是太熟悉linux系统的更是头疼不已呀!特此记录一下,希望能够让小伙伴们少走点弯路. 1.给机器添加路由 (根据自己的机器情况,可以忽略)   route add ...

  4. 离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  5. 离线安装 Cloudera Manager 5 和 CDH5.10

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  6. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(六)CM的安装

    一.角色分配 Cloudera Manager Agent:向server端报告当前机器服务状态. Cloudera Manager Server:接受agent角色报告服务状态,以视图界面展现,方便 ...

  7. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(一)环境说明

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  8. 离线安装Cloudera Manager 5和CDH5

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Cloudera 完全开源的Hadoop  ...

  9. CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

    因为项目开发需要要在本地组建一个Hadoop/Spark集群,除了Hadoop/Spark还要同时安装多个相关的组件,如果一个个组件安装配置,对于一个由多台服务器组成的集群来说,工作量是巨大的. 所以 ...

随机推荐

  1. Push pull, open drain circuit, pull up, pull down resistor

    Push pull 就以下面這個 電路來說, 因為沒有 pull up resistor, 所以 output voltage 由 low 往 high 的速度會較快. 有兩個電晶體,一個on,一個 ...

  2. php--点赞功能的实现

    最近在做一个视频网站,需要实现视频的点赞功能,我是结合ajax和数据库实现的,数据库的格式为有四个字段:文章id,赞,踩,ip.因为需要一个ip只能点赞一次,所以需要一个ip字段存储点赞的ip,这样便 ...

  3. 将linlayout布局转为bitmap图片和保存

    1.首先新建路径 File filedirs = new File(Environment.getExternalStorageDirectory(), "/YuLin/"); i ...

  4. WKWebView遇到的问题汇总

    一.手势放大缩小页面解决方法 1.通过操作webview中scrollview的代理方法来关闭 -(UIView *)viewForZoomingInScrollView:(UIScrollView ...

  5. Android开发 大坑Fragment

    是不是弄了半天你的Fragment老是Replace不了,我的原因是:弄成静 态的,然后要动态Replace,竟然不行,后来框个FragmentLayout,改成全动态添加和Replace,OK了.

  6. Hrbust 2319 Number Game(贪心)

    题目链接  Hrbust 2319 首先把二元组排序,$ai$大的排前面,$ai$相同的$bi$大的排前面. 这样的话就满足了Kim的取数顺序,即选每次$ai$最大的. 考虑得坏一些,在$ai$相同的 ...

  7. 模糊测试工具Simple Fuzzer

    模糊测试工具Simple Fuzzer   模糊测试是一种不同于渗透测试的漏洞检测方式.它向目标系统发送各种非预期的输入,然后通过监视异常结果来发现漏洞.Kali Linux虽然作为渗透测试系统平台, ...

  8. Java线程池原理解读

    引言 引用自<阿里巴巴JAVA开发手册> [强制]线程资源必须通过线程池提供,不允许在应用中自行显式创建线程. 说明:使用线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销 ...

  9. SecureCRT设置每次连接使用后的日志

  10. OpenSSL使用3(基本原理及生成过程)(转)

    1. 基本原理 OpenSSL初接触的人恐怕最难的在于先理解各种概念 公钥/私钥/签名/验证签名/加密/解密/非对称加密 我们一般的加密是用一个密码加密文件,然后解密也用同样的密码.这很好理解,这个是 ...