代码改变世界

Cloudera的安装

2016-03-22 10:36  Mandylover  阅读(612)  评论(0编辑  收藏  举报

To enable these parts of the tutorial, choose one of the following options:

  • To use Cloudera Express (free), run Launch Cloudera Express on the Desktop in Cloudera Manager. This requires at least 8 GB of RAM and at least 2 virtual CPUs.
  • To begin a 60-day trial of Cloudera Enterprise with advanced management features, run Launch Cloudera Enterprise (trial) on the Desktop. This requires at least 10 GB of RAM and at least 2 virtual CPUs

make sure the following services are up and running

  • Impala - which you will use for interactive query 
  • Apache Hive - which you will use for structure storage (i.e. tables in the Hive metastore) 
  • Hue - which you will use for end user query access 
  • HDFS - which you will use for distributed data storage 
  • YARN - processing framework used by Hive (includes MR2)

系统环境

    实验环境:Mac下VMware虚拟机
    操作系统:CentOS 6.5 x64 (至少内存2G以上)
    Cloudera Manager:5.1.3
    CDH: 5.1.3
相关包的下载:
    1.cloudera-manager-el6-cm5.1.3_x86_64.tar.gz ,

    2.
            CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel
            CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1
            manifest.json


manifest.json链接:
http://archive.cloudera.com/cdh5/parcels/5.1.3/

准备工作:系统环境搭建(以下操作均用root用户操作)。

关闭防火墙:

service iptables stop (临时关闭)  
chkconfig iptables off (重启后生效)

1.网络配置

vi /etc/sysconfig/network
vi /etc/hosts(这里需要将每台机器的ip及主机名对应关系都写进去,本机的也要写进去,否则启动Agent的时候会提示hostname解析错误)

2.打通SSH,设置ssh无密码登陆(所有节点)

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(所以节点)
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys(所以节点)
cd /root/.ssh/(主节点)
ls
rm -rf know_hosts
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
more authorized_keys
scp ~/.ssh/id_dsa.pub root@node2:/opt/(复制到所以从节点上)
cd /root/.ssh/(从节点)
cat /opt/id_dsa.pub >>authorized_keys
more authorized_keys

3.安装Oracle的Java(所有节点)

    1.rpm -qa | grep jdk
       cd /home/
       ls
    2.rpm -ivh jdk-7u79-linux-x64.rpm
 
    3.# rpm -qa | grep jdk(rpm -qa : 查询已经安装的所有包)
    4.# rpm -ql jdk | more(rpm -ql PACKAGE_NAME: 查询指定包安装后      生成的文件列表)然后回车
    5.vi ~/.bash_profile
        export JAVA_HOME=/usr/java/jdk1.7.0_79
         export PATH=$PATH:$JAVA_HOME/bin
    6.#source ~/.bash_profile  
    7.#printenv

4.安装配置MySql(主节点)

通过 yum install mysql-server 安装mysql服务器。
chkconfig mysqld on 设置开机启动,并 service mysqld start 启动mysql服务,并根据提示设置root的初试密码: mysqladmin -u root password 'xxxx'
#授权root用户在主节点拥有所有数据库的访问权限
grant all privileges on *.* to 'root'@'n1' identified by 'xxxx' with grant option;
flush privileges;

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

setenforce 0 (临时生效)  
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)

5.所有节点配置NTP服务

直接进行如下操作即可,不必非要安装NTP服务:
yum install ntpdate
ntpdate -u ntp.sjtu.edu.cn
date


正式开始安装Cloudera Manager Server 和Agent

1.主节点解压安装

tar xzvf cloudera-manager*.tar.gz 将解压后的cm-5.1.3和cloudera目录放到/opt目录下。

2.为Cloudera Manager 5建立数据库

首先需要去MySql的官网下载JDBC驱动, http://dev.mysql.com/downloads/connector/j/ ,解压后,找到mysql-connector-java-5.1.33-bin.jar,放到/opt/cm-5.1.3/share/cmf/lib/中。

在主节点初始化CM5的数据库:

/opt/cm-5.1.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pxxxx --scm-host localhost scm scm scm

3.Agent配置

修改/opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

同步Agent到其他节点
scp -r /opt/cm-5.1.3 root@n2:/opt/

在所有节点创建cloudera-scm用户

useradd --system --home=/opt/cm-5.1.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

4.准备Parcels,用以安装CDH5

将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。

相关的文件如下:

    CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel
    CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1
    manifest.json

最后将CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1,重命名为CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel文件。

 相关启动脚本

通过 /opt/cm-5.1.3/etc/init.d/cloudera-scm-server start 启动服务端。

通过 /opt/cm-5.1.3/etc/init.d/cloudera-scm-agent start 启动Agent服务。

我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。

CDH5的安装配置

Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。

这时可以通过浏览器访问主节点的7180端口试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin(http://node1:7180/cmf/login)

各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,点继续。

接下来,出现以下包名,说明本地Parcel包配置无误,直接点继续就可以了。

点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约10多分钟吧,取决于内网网速

接下来是服务器检查,可能会遇到以下问题:

Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。

通过 echo 0 > /proc/sys/vm/swappiness 即可解决。

接下来是选择安装服务

服务配置,一般情况下保持默认就可以了(Cloudera Manager会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了)

接下来是数据库的设置,检查通过后就可以进行下一步的操作了

下面是集群设置的审查页面,我这里都是保持默认配置的

终于到安装各个服务的地方了,注意,这里安装Hive的时候可能会报错,因为我们使用了MySql作为hive的元数据存储,hive默认没有带mysql的驱动,通过以下命令拷贝一个就行了:

cp /opt/cm-5.1.3/share/cmf/lib/mysql-connector-java-5.1.33-bin.jar /opt/cloudera/parcels/CDH-5.1.3-1.cdh5.1.3.p0.12/lib/hive/lib/

服务的安装过程大约半小时内就可以完成
安装完成后,就可以进入集群界面看一下集群的当前状况了。
这里可能会出现 无法发出查询:对 Service Monitor 的请求超时 的错误提示,如果各个组件安装没有问题,一般是因为服务器比较卡导致的,过一会刷新一下页面就好了
http://node1:7180/cmf/home

测试

在集群的一台机器上执行以下模拟Pi的示例程序:

sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 10 100

执行过程需要花一定的时间,通过YARN的后台也可以看到MapReduce的执行状态

检查Hue
http://node1:8888
首次登陆Hue会让设置一个初试的用户名和密码,设置好,登陆到后台,会做一次检查,一切正常后会提示

 

1.Ingest and query relational data(采集和查询关系数据)