一、准备工作:
系统环境:redhat6.7企业版,
cm版本:cloudera-manager-el6-cm5.7.1_x86_64.tar.gz
cdh版本:CDH-5.7.1-1.cdh5.7.1.p0.11-el6
a、修改主机名:
操作命令:vim /etc/sysconfig/network (例如:HOSTNAME= master,每个机器都要改,名字自己随便写,)
vim /etc/hosts , 添加集群的IP和名称,(例如:10.1.1.219 Slave1)每个机器都要加;
b、ssh免密钥登陆(集群之间的机器):
安装SSH服务: sudo apt-get install ssh(在线安装)
生成密匙:ssh-keygen-t dsa -P '' -f ~/.ssh/id_dsa
导入 authorized_keys:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
远程拷贝到其他机器上:scp authorized_keys Master:/tmp/authorized_keys (Masters是机器名,可以修改为你自己的机器名称)
将其他机器公钥文件追加到该机器上:cat /tmp/authorized_keys >> /root/.ssh/authorized_keys
假如有3台机器,第一台按照上面操作,放到第二台,第二台按照上面操作,放到第三台,这样第三台的公钥就全了,在把第三台的公钥按照上面的操作,考给第一和第二台,这样三台之间就可以免密钥登陆了
c、防火墙配置(所有机器):
关闭防火墙:service iptables stop
chkconfig iptables off
chkconfig --list iptables
查看状态 : service iptables status
d、jdk的安装(所有机器):
tar xzf jdk-7u80-linux-x64.gz -C /usr/java
配置环境变量:vim /etc/profile
底部添加:
export JAVA_HOME=/usr/java/jdk1.8.0_91
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
export PATH=$JAVA_HOME/bin:$PATH
配置生效:
source /etc/profile
查看版本:java -version
e、NTP配置:
配置时区:执行命令:tzselect 后,选择5(Asia),选择9(china),选择1,选择1,
时钟同步服务器配置:vim /etc/ntp.conf
restrict 10.2.5.0 mask 255.255.255.0 nomodify notrap (说明:10.2.5.0改成时钟服务器的IP段)
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
主时间服务器的启动ntp服务:
service ntpd restart
chkconfig --level 2345 ntpd on
其他节点配置:
vim /etc/ntp.conf
添加:server master
启动服务:ntpdate master
serivce ntpd restart
chkconfig --level 2345 ntpd on
f、mysql 安装:(创建mysql目的:存放cloudera-mananger、ooize、hive、hue等组件的配置信息)
建立mysql的用户和用户组
groupadd mysql
useradd -g mysql mysql
在/usr/local下解压mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz
tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz
将解压好的文件夹重命名为mysql
在etc下新建配置文件my.cnf,并在该文件内添加以下代码:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
在mysql目录下更改用户及用户组chown -R mysql:mysql ./
在安装的mysql文件下
./scripts/mysql_install_db --user=mysql
MYSQL配置
授予my.cnf的最大权限。
chown 777 /etc/my.cnf
复制启动脚本到资源目录
cp ./support-files/mysql.server/etc/rc.d/init.d/mysqld
增加mysqld服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld
将mysqld服务加入到系统服务
chkconfig --add mysqld
检查mysqld服务是否已经生效
chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止。
启动msql(停止mysqld服务:service mysqld stop)
service mysqld start
配置用户远程登录权限(根据实际用户而定,这里使用root)
grant all on *.* to 'root'@'%' identifiedby '123456' with grant option;
flush privileges(刷新);
执行 service mysql status
service mysql start
二、搭建cloudera-Manager
a.解压安装包(所有节点)
在所有服务器节点上:
创建解压目录
mkdir /opt/cloudera-manager
tar xzf cloudera-manager-el6-cm5.7.1_x86_64.tar.gz-C /opt/cloudera-manager
b.创建cloudera账户(所有机器):
useradd --system --home=/opt/cloudera-manager/cm-5.7.1/run/cloudera-scm-server/--no-create-home --shell=/bin/false --comment "Cloudera SCM User"cloudera-scm
(备注:redhat6.7的命令:useradd --system -M --comment "Cloudera SCM User"cloudera-scm)
c.修改agent配置文件
vim /opt/cloudera-manager/cm-5.7.1/etc/cloudera-scm-agent/config.ini
修改:
server_host=master
d、拷贝mysql的jar:
cp mysql-connector-java-5.1.33-bin.jar /usr/share/java
mv mysql-connector-java-5.1.33-bin.jar mysql-connector-java.jar
e.在管理节点服务器上:
初始化CM数据库
进入数据库创建scm
GRANT ALL PRIVILEGES ON *.* TO 'scm'@'%'IDENTIFIED BY 'scm' WITH GRANT OPTION;
flush privileges;
cd /opt/cloudera-manager/cm-5.7.1/share/cmf/schema/
./scm_prepare_database.sh mysql cm -hmaster -uroot -p --scm-host master scm scm scm
f.Server节点
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent节点
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
三、安装CDH:
在管理节点
将下载的CDH包放到目录/opt/cloudera/parcel-repo
cpCDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel /opt/cloudera/parcel-repo/
cpCDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha1 /opt/cloudera/parcel-repo/
cp manifest.json/opt/cloudera/parcel-repo/
mv CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha1CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha
管理节点启动服务:
/opt/cloudera-manager/cm-5.7.1/etc/init.d/cloudera-scm-server start
agent节点启动服务:
/opt/cloudera-manager/cm-5.7.1/etc/init.d/cloudera-scm-agent start
查看server、agent启动状态:
/opt/cloudera-manager/cm-5.7.1/etc/init.d/cloudera-scm-server status
/opt/cloudera-manager/cm-5.7.1/etc/init.d/cloudera-scm-agent status
接下来可以登录web进行可视化的服务部署安装:
地址:http://master:7180 (说明:master改成master的IP)
用户名:admin
密码:amdin