这几天一直在安装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. react Native 运行报错之一 gradle-2.14.1-all解压失败的问题

    在react-native run-android  时 可能出现压缩包不成功的情况,原因是压缩包失败,需要手动解压到相应目录, 目录:C:\Users\Administrator\.gradle\w ...

  2. c# 序列化对象为xml 方法

    public static string XmlUtils(object obj, bool omitXmlDeclaration = true, bool indent = false, bool ...

  3. scala之split()函数用法

    split()函数: def split(arg0: String): Array[String] def split(arg0: String, arg1: Int): Array[String] ...

  4. Educational Codeforces Round 34 B. The Modcrab【模拟/STL】

    B. The Modcrab time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  5. 正确地使用GIT FORK

    摘自github官方网站,稍后我将抽空翻译. Fork a repo https://help.github.com/articles/fork-a-repo/ Syncing a fork http ...

  6. Zabbix 企业Nginx监控

    Zabbix监控Nginx状态 1 修改Nginx配置文件,开启Nginx监控 location /nginx_status { stub_status on; access_log off; all ...

  7. MySQL Workbench关键字转成小写设置

  8. ylb:转换函数Cast,Convert 指定格式返回

    ylbtech-SQL Server:SQL Server-转换函数Cast,Convert 指定格式返回 转换函数Cast,Convert 指定格式返回. ylb:转换函数Cast,Convert ...

  9. ylb:了解存储过程

    ylbtech-SQL Server:SQL Server-了解存储过程 了解存储过程 ylb:了解存储过程 返回顶部 存储过程 2.2.1 主要的编程结构: 变量 数据类型 输入/输出变量 返回值 ...

  10. git工程迁移(修改提交服务器地址)方法

    git remote set-url [--push] <name> <newurl> [<oldurl>]git remote set-url --add [-- ...