[CDH基础]-- CDH安装

版权声明:尊重原创,转载请标明,本文转自 https://blog.csdn.net/high2011/article/details/51595870

【一】Cloudera Manager  安装

 

一\\系统环境准备(三台机器server1,server2,server3)

前提:搭建本地Yum源

1、网络配置(server1,server2,server3)

  #vi /etc/sysconfig/network

  #vi /etc/hosts

  #vi /etc/sysconfig/network-scripts/ifcfg-eth?

  #vi /etc/udev/rule.d/70-presistent-network.d

 

2、SSH免密钥登录(server1,server2,server3,两两之间面密码)

• ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

• cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

注意:各个机器的存放目录不能一致,否则免密码登陆会失败

另外一种免密码登陆方式

#ssh-keygen    ------》不断回车

#ssh-copy-id root@cdh2

#ssh-copy-id root@cdh3

注意每台机器的:/etc/hosts文件应该一致如下

192.168.1.211 cdh1

192.168.1.212 cdh2

192.168.1.59  cdh3

 

3、防火墙关闭和时间同步

• service iptables stop    关闭防火墙

• chkconfig iptables off   设置开启关闭防火墙

时间同步

先安装ntp、ntpd

yum –y install ntp

yum –y install ntpd

添加自动服务

crontab -e

*/10 * * * * /usr/sbin/ntpdate time.nist.gov

 

查看时间是否一致:date    hwclock   

写入系统时钟clock -w

 

4、SELINUX关闭(server1,server2,server3)

• setenforce 0   暂时修改(不推荐)

• vi /etc/selinux/config (SELINUX=disabled)   永久修改

 

5、安装JDK配置环境变量(server1,server2,server3)

#vi /etc/profile

• export JAVA_HOME=/usr/java/jdk1.7.0_79

• export PATH=$JAVA_HOME/bin:$PATH

• export CLASSPATH=.:$JAVA_HOMdE/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#source /etc/profile

 

6、安装NTP(server1,server2,server3)

安装:yum install ntp

• 设置开机启动 chkconfig ntpd on

• 设置时间同步

– ntpdate -u ntp.sjtu.edu.cn

 

7、再安装配置mysql(数据库只在server1上)

• GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANTOPTION;  修改登陆数据库的权限

• flush privileges                                                             刷新权限

 

8、开始下载并安装第三方依赖包

#yum install  chkconfig  python  bind-utils  psmisc  libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

 

 

 

【二】Cloudera Manager server安装

– 1、安装Cloudera Manager Server、Agent(三台机器都要创建)

• mkdir /opt/cloudera-manager

• 解压到指定目录:

  tar xvzf cloudera-manager*.tar.gz  -C  /opt/cloudera-manager

 #tar -zxvf cloudera-manager*.tar.gz  

 

– 2、创建用户“cloudera-scm”(在server1,server2,server3上)

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

 

– 3、配置CM Agent

• 修改文件vi /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中

  #server_host=master的ip(192.168.1.59)以及

  #server_port(7182是主的端口,不可以改变,此处不用修改)

 

– 4、配置CM Server数据库(server1上)

将驱动包拷贝到目录下( 注意拷贝过去的驱动包名字一定要和下边的一样,否则会报错 ) :

cp mysql-connector-java-5.1.31/mysql-connector-java-5.1.31-bin.jar /usr/share/java/mysql-connector-java.jar

 

•注意:(1)jar包名称要修改为mysql-connector-java.jar

       (2)如果没有“/usr/share/java/”目录,那么先创建目录

 

• 进入mysql界面:

  # mysql>grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;

   进入目录:  cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema

   生成数据库:./scm_prepare_database.sh mysql -h 192.168.1.59 -utemp -ptemp --scm-host 192.168.1.59 scm scm scm

   进入mysql界面,查看mysql数据库,会产生一个temp数据库

   #mysql>show databases;或者navcat查看

• 格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器

 

注意:mysql> drop user 'temp'@'%';

若上步失败或过程中操作中断,删除所有库、重头来过 /( ㄒ o ㄒ )/~~

若安装 Oozie 等组件可能需要手动创建对应组件所需的数据库,例如:

create database ooziecm DEFAULT CHARACTER SET utf8;

grant all on ooziecm.* TO 'ooziecm'@'%' IDENTIFIED BY 'ooziecm';

 

– 5、创建Parcel目录

• Server节点上(server1,)

– mkdir -p /opt/cloudera/parcel-repo

– chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

 

• Agent节点上(server1,server2,server3)

– mkdir -p /opt/cloudera/parcels

– chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

 

– 6、制作CDH本地源(已经制作好,资料路径:F:\tools\CDH工具

• 下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件

   放到serve1节点的/opt/cloudera/parcel-repo下,即移动到该目录(/opt/cloudera/parcel-repo)下

• 打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的

parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。

 

 

– 7、启动CM Server、Agent

执行:

保证mysql数据库已经启动后,再执行下一步

先在Server上执行:/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-server start

再Agents上执行:/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-agent start

 

查看日志:tail  -100 /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.out

 

查看相关架包,启动的日志路径如下

#cd  /opt/cloudera-manager/cm-5.4.3

追踪日志:

#tail -f  /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server.log 

--8、访问:http://h15:7180,

• 用户名、密码:admin

• 若可以访问,则CM安装成功

 

可能错误:

错误:A ResourcePool could not acquire a resource from its primary factory or source.

解决:主节点的mysql服务没有起来

错误:

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

解决:三台机器都需要执行操作----->  echo ‘0’ > /proc/sys/vm/swappiness

错误:

OperationalError: (1045, "Access denied for user 'hue'@'localhost' (using password: NO)")

解决:删除hue服务,重新安装

 

 

 

10\检查后,安装hdfs和yarn

11\安装hive,默认

 

 

 

手动创建数据库

##hive

create database hive DEFAULT CHARACTER SET utf8;

grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';

数据库:hive     账户:hive     密码: hive

测试连接mysql是否正常

下一步:默认----》下一步:默认

 

12\\安装oozie,全部选择默认

13\\安装hue(支持浏览器是高版本的)

进入网页:选择配置----》选择支持mysql的

安装完成后,可以在页面上上传,修改sql语句

网址:192.168.1.59:8888

创建表:

CREATE TABLE person3(

id INT, 

name STRING,

age  INT,

fav  ARRAY<STRING>,

addr MAP<STRING,STRING>

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' 

COLLECTION ITEMS TERMINATED BY '-' 

MAP KEYS TERMINATED BY ':' 

STORED AS TEXTFILE;

 

创建test2.txt文件

1 zs 18 girl-game-driver std_addr:beijing-work_addr:shanghai

2 ls 21 girl-game-driver std_addr:beijing-work_addr:shanghai

3 w5 33 girl-game-driver std_addr:beijing-work_addr:shanghai

 

界面查询语句:select * from person3;

 

14\\安装hbase

默认选项

 

15\停止服务

(1)在页面上停止

(2)在界面执行停止

(3)以上两步都执行成功后,再init 0虚拟机

 

备注:

 

 

MySql  建库&& 删库

##amon

create database amon DEFAULT CHARACTER SET utf8;

grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';

##hive

create database hive DEFAULT CHARACTER SET utf8;

grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';

##oozie

create database oozie DEFAULT CHARACTER SET utf8;

grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie'

 

17、安装oozie(Oozie界面化需要配置安装ext Js(oozie是用于监控job的界面工具)

 

 

(1)\安装yum install unzip -y

(2)\ext-2.2.zip

– 解压ext-2.2到/var/lib/oozie目录下 unzip ext-2.2.zip -d /var/lib/oozie/

(3)\到解压的ext-2.2目录下挂载:mount  /dev/cdrom  /mnt  

(4)\Oozie服务中配置启用web控制台

 

(5)\保存,重启oozie服务即可访问


                       【三Impala 、Hbase整合】

 

 

 

进入hbase的shell命令行:hbase shell

步骤1:创建hbase 表,向表中添加数据

– create 'test_info', 'info'

– put 'test_info','1','info:name','zhangsan'

– put 'test_info','2','info:name','lisi'

 

步骤2:hue里面创建hive表

– CREATE EXTERNAL TABLE test_info(key string,name string )

– ROW FORMAT SERDE 'org.apache.hadoop.hive.hbase.HBaseSerDe'

– STORED by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

– WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,info:name")

– TBLPROPERTIES

– ("hbase.table.name" = "test_info");

保证一一对应即可

 

步骤3:在impala的shell界面中,刷新Impala表

– invalidate metadata

 

错误:Error connecting: TTransportException, Could not connect to node16:21000

 

查看impala日志

 

需要在cloudera manager中手动安装impala

直接在cdh中默认安装即可

错误:

OperationalError: (1045, "Access denied for user 'hue'@'localhost' (using password: NO)")

 

解决:需要重新安装hue服务(通用的解决方法)

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页