CDH环境搭建(一)

一、架构
               
       一共三台虚拟机:cdh1~cdh3。
      其中Server部署在cdh1上,MySQL同样部署在cdh1上(因此cdh1的内存要大一些,其它两台主机的内存可稍小一点,笔者的内存配置是:6G、1G、1G)。IP分配如下:
       cdh1:192.168.111.201
       cdh2:192.168.111.202
       cdh3:192.168.111.203
版本信息:
      系统版本:CentOS 6.5
      JDK版本:   jdk-7u67-linux-x64.rpm
      CM版本:   cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
      CDH版本: CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
      MySQL版本: 5.6
需准备的安装包列表:
      1、CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
      2、CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
      3、manifest.json
      4、cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
      5、mysql-connector-java-5.1.26-bin.jar
      6、jdk-7u67-linux-x64.rpm
其中, 1、2、3 CDH安装包,4是Cloudera Manager的安装包,5是mysql相关的jar包,用于CDH连接MySQL,6是JDK的安装包。

二、准备工作
1、网络配置(cdh1~cdh3):
     (a) vi /etc/sysconfig/network  分别修改chd1~cdh3的hostname
NETWORKING=yes
HOSTNAME=cdh1  
    (b) vi /etc/hosts  (cdh1~cdh3)     修改IP与主机名的对应关系,对三台主机分别添加如下配置
192.168.111.201 cdh1
192.168.111.202 cdh2
192.168.111.203 cdh3
2、免密钥配置(cdh1~cdh3):
      三台主机,两两之间互做免密钥配置。具体配置方法如下:
在cdh1执行
1、ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa    
2、ssh-copy-id cdh2    
3、ssh-copy-id cdh3
同样,在cdh2、cdh3上执行类似操作。
3、关闭防火墙(cdh1~cdh3):
service iptables stop
chkconfig iptables off
4、关闭selinux (cdh1~cdh3):
vi /etc/selinux/config
将SELINUX的值设置为 disabled
5、安装jdk(cdh1~cdh3)
rpm -ivh jdk-7u67-linux-x64.rpm
安装完成后,修改环境变量
vi /etc/profile
在末尾添加两行配置:
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
保存退出!
source /etc/profile ,刷新。
6、安装ntp服务,时间同步(cdh1~cdh3)
yum install -y ntp
安装成功后,设置为开机启动,并进行时间同步:
chkconfig ntpd on
ntpdate -u ntp1.aliyun.com
7、在cdh1安装MySQL、配置相关信息。
     此处需特别注意:
           (a) CDH 5.1版本及更新的版本匹配的MySQL版本是MySQL 5.6 , 故此处选取MySQL 5.6进行安装。
           (b) 使用yum安装MySQL ,默认版本是5.1 , 要安装指定版本的MySQL,请参考笔者另一篇帖子: Linux yum安装指定版本的MySQL
      MySQL安装完毕后,启动mysql服务,并设置成开机启动
[root@cdh1 files]# service mysqld start

[root@cdh1 files]# chkconfig mysqld on
       进入MySQL命令行,进行如下配置:
mysql>use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql>delete from user where host != '%' ;
Query OK, 6 rows affected (0.00 sec)
mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
8、安装第三方依赖包(cdh1~cdh3)
yum install chkconfig  python bind-utils psmisc libxslt  zlib  sqlite cyrus-sasl-plain  cyrus-sasl-gssapi  fuse  fuse-libs  redhat-lsb -y
至此,准备工作完毕。
三、安装Cloudera Manager
1、安装Cloudera Manager Server、Agent (cdh1~cdh3)
     上传Cloudera Manager的安装包,创建新目录,将安装包解压到新目录中
mkdir /opt/cloudera-manager               #注意此目录是CM默认的目录。可以在后续的web中修改。
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
2、创建用户 cloudera-scm(cdh1~cdh3)
useradd --system --no-create-home --shell=/bin/false --comment="Cloudera SCM User" cloudera-scm
3、配置CM Agent(cdh1~cdh3)
     修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中
server_host以及server_port。
     server_host 的值设置为 cdh1 , server_port保持默认的7182不变
4、配置CM Server数据库(在cdh1上操作)
     (a) 将mysql的jar包(mysql-connector-java-5.1.26-bin.jar) 拷贝至目录/usr/share/java/。该目录为CM默认的读取路径,若不存在,则需要手动创建。
     (b) jar包的名称要修改为 mysql-connector-java.jar , 该名称也是CM默认读取的名称。
     (c) 进入MySQL命令行模式,创建临时用户temp
[root@cdh1 ~]#mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 429
Server version: 5.6.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
mysql>flush privileges;
      (d) 退出MySQL命令行模式,重新回到Linux中,执行如下命令进行数据库初始化:
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h cdh1 -utemp -ptemp --scm-host cdh1 scm scm scm
上述脚本后面所跟参数的含义:
mysql        数据库类型
temp         数据库实例名
-h cdh1     数据库服务器的主机名 或 IP
-utemp -ptemp   数据库登录用户名、密码
--scm-host cdh1     cm server服务器
scm scm scm           固定写法,用途暂时不明
5、创建Parcel目录
     Server节点(cdh1):
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
     Agent节点(cdh1~cdh3):
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
      注意:此处涉及到的几个目录,都是CDH默认读取的目录。CDH安装成功之后,可以在Web控制端进行修改,但此处需要使用默路径。
6、制作CDH本地源
      将下面三个文件拷贝至Server节点(cdh1)的 /opt/cloudera/parcel-repo下:
      CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
      CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
      manifest.json
7、 启动CM Server、 Agent
      启动脚本都在目录/opt/cloudera-manager/cm-5.4.3/etc/init.d/下,进入此目录
      (a) 在cdh1节点启动 Server
./cloudera-scm-server start
– Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
      (b) 在cdh1~cdh3 上启动Agent
./cloudera-scm-agent start
      Server的启动日志是:/opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log。出现如下提示,说明CM启动成功:
2018-01-31 20:05:35,066 INFO WebServerImpl:org.mortbay.log: jetty-6.1.26.cloudera.4
2018-01-31 20:05:35,067 INFO WebServerImpl:org.mortbay.log: Started [email protected]:7180
2018-01-31 20:05:35,067 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl:Started Jetty server
Cloudera Manager如果能顺利启动,则可以通过浏览器访问: http://192.168.111.201:7180

用户名/密码:admin/admin
发布了27 篇原创文章 · 获赞 43 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/u010476994/article/details/79257565