CDH5.11离线安装(CentOS6.5)

安装目的

主要快速搭建大数据平台,方便部门内学习。上级要求直接使用CDH加快部署和方便开发环境的运维,所以由此教程。(安装三次后总结)

准备工作

硬件资源:
4台 8核 32G 虚拟机。
操作系统:
CentOS 6.5
安装包准备:

  1. jdk1.8_151(oracle官网下载)
  2. CM & CDH
    CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel
    CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel.sha1
    manifest.json
    cloudera-manager-el6-cm5.11.0_x86_64.tar.gz
    (tips: CDH后缀el6代表CentOS6,其他版本请参照官网)
机器配置(以下操作请使用root用户)
  1. 修改主机名;

# vi /etc/sysconfig/network

修改内容

NETWORKING=yes
HOSTNAME=node1

改好后执行: service network restart生效

  1. 修改hosts;
    # vi /etc/hosts
127.0.0.1 localhost
192.168.1.101 node1
192.168.1.102 node2
192.168.1.105 node3
192.168.1.104 node4
  1. 关闭SELinux;
    # setenforce 0
    # vi /etc/selinux/config
SELINUX=disabled
  1. 关闭防火墙;

# service iptables stop
# chkconfig iptables off

  1. 配置网络;
    免密登陆
    生成ssh公钥

# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys

所有子节点追加公钥到主节点
(ps:下面命令只有主节点node1不用执行)

(子节点操作)
# cat ~/.ssh/id_dsa.pub | ssh root@node1 'cat >> ~/.ssh/authorized_keys'

检查主节点authorized_keys文件,公钥最后有节点主机名。

(主节点操作)
# vi ~/.ssh/authorized_keys

主节点发送authorized_keys文件到所有子节点

(主节点操作)
# scp ~/.ssh/authorized_keys root@node2:~/.ssh/
# scp ~/.ssh/authorized_keys root@node3:~/.ssh/
# scp ~/.ssh/authorized_keys root@node4:~/.ssh/

环境准备 (以下操作没有特殊说明都是在所有节点操作)
  1. 安装ntp,配置集群时钟同步

# yum install ntp

修改配置

# vi /etc/ntp.conf

## 主节点添加一下内容
restrict default ignore
server 127.127.1.0
fudge 127.127.1.0 stratum 10
## 子节点把所有server行注释掉,添加下面一行
server node1

更新机器当前时间:

ntpdate 202.120.2.101
可用的NTP
ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)

启动ntpd

# service ntpd start
查看状态命令,理论上要等几分钟才能时钟同步
# ntpstat

配置ntp自启动

chkconfig ntpd on

  1. 卸载open-JDK & 安装Oracle JDK
    卸载OpenJDK

执行以下命令1, 出现的jdk包都用命令2卸载openjdk包
命令1:rpm -qa|grep openjdk
命令2 :rpm -e --nodeps 包名

卸载gcj编译器

# rpm -qa|grep gcj
显示内容其中包含下面两行信息
# java-1.4.2-gcj-compat-1.4.2.0-27jpp
# java-1.4.2-gcj-compat-devel-l.4.2.0-27jpp
卸载
# rpm -e java-1.4.2-gcj-compat-devel-l.4.2.0-27jpp
# rpm -e java-1.4.2-gcj-compat-l.4.2.0-27jpp

卸载rpm版的jdk:

#rpm -qa|grep jdk
显示:jdk-1.6.0_10-fcs
卸载:#rpm -e --nodeps jdk-1.6.0_10-fcs

安装 Oracle JDK
执行以下命令使默认JDK链接安装的Oracle JDK

# mkdir /usr/java
# ln -s /opt/java/jdk/jdk1.8.0_151 /usr/java/default

修改环境变量

# vi /etc/profile
追加以下内容到文件末

# JAVA_HOME 必须是/usr/java/default,
# 否则启动Spark会提示找不到JAVA_HOME,
# 可能是部分启动脚本写死该目录。
export JAVA_HOME=/usr/java/default
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  1. 安装mysql connector

(所有节点)
# yum install mysql-connector-java.noarch

  1. 准备scm用户

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

  1. 安装MySQL
    5.1安装

# yum install mysql-server
# service mysqld start
# chkconfig mysqld on

5.2 配置密码

# mysqladmin -u root password 123456

5.3 准备数据库

# mysql -uroot -p123456

#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  1. 准备部署CM & CDH
    6.1 解压CM压缩包到/opt 目录

# cd /opt
# tar -xzvf cloudera-manager-el6-cm5.11.0_x86_64.tar.gz

6.2 准备parcel包,

# cd /opt/cloudera/parcel-repo/
复制以下文件到该目录
CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel.sha1
CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel
manifest.json

6.3 修改agent配置

# vi /opt/cm-5.11.0/etc/cloudera-scm-agent/config.ini

server_host=node1

6.4 拷贝agent到各datanode节点(node2-node4)

# scp -r /opt/cm-5.11.0 root@node2:/opt/
# scp -r /opt/cm-5.11.0 root@node3:/opt/
# scp -r /opt/cm-5.11.0 root@node4:/opt/

6.5 初始化CM数据库

# /opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm

7 启动CM
7.1 【主节点】server启动 & agent启动

# /opt/cm-5.11.0/etc/init.d/cloudera-scm-server start
# /opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start

7.2 【子节点】agent启动

# /opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start

7.3 在局域网内访问: http://192.168.1.101:7180/cmf/login, 如果你是windows可以修改hosts文件后用: http://node1:7180/cmf/login

cm.png

默认帐号密码:admin

到这里就安装CM & CDH完成,剩下组件安装都是可视化安装内容,不详细描述。

卸载攻略:
http://blog.csdn.net/u011031430/article/details/72867745
其中,卸载后再装kafka会出现启动错误,原因是log.dirs目录内存在旧的数据,删除了就好了。一般在以下目录:
rm -rf /var/local/kafka/data/*

部分组件验证代码
1.验证spark
/opt/cloudera/parcels/CDH-5.11.0-1.cdh5.11.0.p0.34/lib/spark/bin/spark-submit
--class org.apache.spark.examples.JavaWordCount
--master spark://node1:7077
--num-executors 2
--driver-memory 512m
--executor-memory 512m
--executor-cores 1
/opt/cloudera/parcels/CDH-5.11.0-1.cdh5.11.0.p0.34/lib/spark/lib/spark-examples.jar /kv1.txt\

2.验证kafka
root账号
kafka-topics --zookeeper node1:2181,node2:2181,node3:2181 --topic TestTopic --replication-factor 1 --partitions 1 --create

kafka-console-producer --broker-list node1:9092,node2:9092,node3:9092,node4:9092 --topic TestTopic

kafka-console-consumer --zookeeper node1:2181,node2:2181,node3:2181,node4:2181 --topic TestTopic --from-beginning

3.验证hbase
hbase shell
create 'a2','f1','f2'
put 'a2', 'rowkey001','f1:col1','aaaa'
put 'a2', 'rowkey001','f1:col2','bbbb'
put 'a2', 'rowkey002','f1:col1','cccc'
put 'a2', 'rowkey002','f1:col2','dddd'

scan 'a2'

4.hive
su - hdfs
create table users(id int, name string);
load data local inpath '/usr/local/wonhigh/users.txt' into table users;
select name from users;

  1. CDH问题
    重启之类/etc/里面的配置恢复原来的样子
    Spark2 依赖包问题:每次重启服务,配置都会重新加载/etc下的配置信息,比如说spark2, /etc/spark2的内容会恢复默认值,自定义jar目录会被覆盖。
    解决方法:
    1). 在指定目录添加classpath.txt文件(例如:/etc/extra-lib/hbase/classpath.txt);
    2). 在classpath.txt文件内添加需要引入的jar包绝对路径;
    3). 修改Spark2在CM内的配置:
    “spark2-conf/spark-env.sh 的 Spark 2 服务高级配置代码段(安全阀)”
    “spark2-conf/spark-env.sh 的 Spark 2 客户端高级配置代码段(安全阀)”
    在以上两个配置框内加入:
    export SPARK_DIST_CLASSPATH="$SPARK_DIST_CLASSPATH:$(paste -sd: "/etc/extra-lib/hbase/classpath.txt")"

4). 重启Spark2.
5). 内容会加入到/etc/spark2/conf/spark-env.sh 文件内。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。