目录
一、环境说明及所需软件包... 1
1、环境说明... 1
2、所需软件及说明... 1
二、安装前的主机准备(所有主机都有做) 2
1、配置主机名和修改host文件... 2
2、下载系统基本软件包... 2
3、关闭防火墙和selinux. 3
4、ssh免密码登录... 3
5、ntp同步... 3
6、禁止交换... 3
7、禁用大页面... 3
8、修建linx进程最多打开数... 4
9、安装jdk. 4
三、部署cm和cdh. 4
1、安装mysql 4
2、开始安装cm和cdh. 5
一、环境说明及所需软件包
1、环境说明
(本次基于centos6.6系统)
主机ip |
主机名 |
角色 |
10.2.24.34 |
cdh1.hadoop.com |
CMserver,agent |
10.2.24.35 |
cdh2.hadoop.com |
agent |
10.2.32.104 |
cdh3.hadoop.com |
agent |
10.2.32.105 |
cdh4.hadoop.com |
agent |
2、所需软件及说明
1)JDK1.7
2)Cloudera Manager
下载地址: https://archive.cloudera.com/cm5/cm/5/
说明:CM的各个平台,版本的包都在这里了,各取所需。根据我的环境,下载的是
cloudera-manager-el6-cm5.7.0_x86_64.tar.gz
3)CDH
下载地址:http://archive.cloudera.com/cdh5/parcels/5.7.0/
说明:和上面CM一样,各取所需。需要下载3个文件
CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel
CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1(注意下载后要把后缀 .sha1 改为 .sha)
4)mysql
说明:本次使用的是mysql5.7
5)数据库驱动
说明:注意默认的数据驱动是有版本号的,比如mysql-connector-java-xxx.jar,
这里要把版本号去掉mysql-connector-java.jar
二、安装前的主机准备(所有主机都有做)
1、配置主机名和修改host文件
1)配置静态IP
略
2)配置各个主机名
cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=cdh1.hadoop.com
3)修改host文件
> /etc/hosts
echo '127.0.0.1 localhost localhost.localdomain'>>/etc/hosts
echo '10.2.24.34 cdh1.hadoop.com'>>/etc/hosts
echo '10.2.24.35 cdh2.hadoop.com'>>/etc/hosts
echo '10.2.32.104 cdh3.hadoop.com'>>/etc/hosts
echo '10.2.32.105 cdh4.hadoop.com'>>/etc/hosts
2、下载系统基本软件包
yum -y install iproute net-tools lrzsz wget ntp* numactl psmisc vim
3、关闭防火墙和selinux
service iptables stop
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4、ssh免密码登录
ssh-keygen -t rsa
ssh-copy-id cdh1.hadoop.com
ssh-copy-id cdh2.hadoop.com
ssh-copy-id cdh3.hadoop.com
ssh-copy-id cdh4.hadoop.com
5、ntp同步
时间更改
ntpdate pool.ntp.org
date
echo '*/10 * * * * /usr/sbin/ntpdate pool.ntp.org' >>/var/spool/cron/root
crontab -l
#########以上做完重启机器
6、禁止交换
echo 'vm.swappiness=10' >>/etc/sysctl.conf
sysctl vm.swappiness=10
sysctl -p
7、禁用大页面
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
#添加到自动启动
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >>/etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >>/etc/rc.local
cat /etc/rc.local
chmod +x /etc/rc.d/rc.local
8、修建linx进程最多打开数
对文件打开数linux有两种限制:用户和系统
修改对用户级别的限制(永久生效)
echo '* soft nofile 655350' >>/etc/security/limits.conf
echo '* hard nofile 655350' >>/etc/security/limits.conf
修改对系统级别的限制(永久生效)
echo "655350" > /proc/sys/fs/file-max
重新打开xshell,连接主机校验配置是否生效
ulimit -a | grep open 查看
9、安装jdk
mkdir /usr/java
tar xf jdk-7u79-linux-x64.tar.gz
mv jdk1.7.0_79 /usr/java/jdk1.7
cat /etc/profile #添加java环境变量
export JAVA_HOME=/usr/java/jdk1.7
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
source /etc/profile
java -version
三、部署cm和cdh
1、安装mysql
(在规划的节点上,本次把mysql安装在了cm机器上)
检查,有就卸载
rpm -qa mysql*
rpm -e --nodeps 包
tar xf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql
useradd -r mysql
cd /usr/local/mysql
chown -R root:mysql .
mkdir -p /usr/local/mysql/data/
#添加mysql环境变量
echo 'export MYSQL_HOME=/usr/local/mysql' >>/etc/profile
echo 'export PATH=$MYSQL_HOME/bin:$MYSQL_HOME/lib:$PATH' >>/etc/profile
source /etc/profile
#初始化数据库
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
登录创建库
mysql
grant all on *.* to 'root'@'localhost' identified by 'root';
grant all on *.* to 'root'@'%' identified by 'root';
flush privileges;
CREATE DATABASE `cm` CHARACTER SET utf8 COLLATE utf8_general_ci; #创建cm初始化要用到的数据库
2、开始安装cm和cdh
1)在所有节点,将上面准备好的数据库驱动上传到/usr/share/java目录下
mkdir /usr/share/java
mv mysql-connector-java.jar /usr/share/java/
2)在所有节点创建目录,并把cm包移动到指定目录
mkdir /opt/cloudera-manager
tar xf /software/cloudera-manager-el6-cm5.7.0_x86_64.tar.gz -C /opt/cloudera-manager/
3)在所有节点,创建用户,这是CM需要使用的用户
useradd --system --home=/opt/cloudera-manager/cm-5.7.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
4)在server节点,创建CM服务本地数据存放目录,并赋予权限
mkdir /var/lib/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
5)在所有的agent节点,执行命令(如果cm也做agent,也要执行):#修改server_host为server节点的主机名
sed -i s/server_host=localhost/server_host=cdh1.hadoop.com/g /opt/cloudera-manager/cm-5.7.0/etc/cloudera-scm-agent/config.ini
6)在server节点上执行命令。初始化数据库scm。mysql scm scm scm分别代表:数据库类型 database名称 数据库用户名 数据库密码
/opt/cloudera-manager/cm-5.7.0/share/cmf/schema/scm_prepare_database.sh mysql cm root root
7)在主节点执行,创建CDH文件存放目录
mkdir /opt/cloudera/
cd /opt/cloudera
mkdir parcel-repo
把上面的cdh三个包放到parcel-repo目录下
一定注意把sha1改成sha
8)启动
在server节点,启动CM server
/opt/cloudera-manager/cm-5.14.3/etc/init.d/cloudera-scm-server start
在agent节点,启动CM agent
/opt/cloudera-manager/cm-5.14.3/etc/init.d/cloudera-scm-agent start
agent启动可能会出错:
解决:mkdir /opt/cloudera-manager/cm-5.7.0/run/cloudera-scm-agent
稍等一会,访问地址:serverip:7180,出现界面如下,用户名密码都是admin。接下来就是一步一步的配置。