CDH环境搭建(一)
一、架构 一共三台虚拟机:cdh1~cdh3。 其中Server部署在cdh1上,MySQL同样部署在cdh1上(因此cdh1的内存要大一些,其它两台主机的内存可稍小一点,笔者的内存配置是:6G、1G、1G)。IP分配如下: cdh1:192.168.111.201 cdh2:192.168.111.20
·
一、架构
一共三台虚拟机: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 SelectChannelConnector@0.0.0.0: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
更多推荐
已为社区贡献3条内容
所有评论(0)