Created
August 21, 2020 10:40
-
-
Save banjin/55058f5f4129467d6810d364de0852c7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
所有的操作都是在root权限下进行 | |
硬件环境 | |
一台master | |
内存: 14G | |
操作系统 ubuntu 16.04 xenial | |
硬盘: 500G | |
两台slave | |
内存: 8G | |
操作系统 ubuntu 16.04 xenial | |
硬盘: 500G | |
安装CDH: | |
1. 下载源码包 | |
cloudera-manager-xenial-cm5.12.1_amd64.tar.gz(Cloudera Manager 安装包,约703M) | |
CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel(CDH离线资源包,约1.6GB) | |
CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1(CDH离线包验证文件,约41B) | |
manifest.json(CDH离线包内的组件描述文件,约71KB) | |
jdk-7u80-linux-x64.tar.gz(JDK7安装包,约150MB)(CDH5.12.1只支持到java1.7版本,不知道1.8版本) | |
下载时需要确定自己系统的版本名称,Ubuntu16.04的对应的版本名称为xenial,下面为对应文件的下载地址: | |
Cloudera Manager: http://archive.cloudera.com/cm5/cm/5/_index.html | |
上面有关CDH资源包、CDH校验文件、manifest.json等文件下载地址:http://archive.cloudera.com/cdh5/parcels/5.12.1/ | |
JDK文件下载地址:http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz | |
以下操作均以root身份执行 | |
2. 修改主机名hostname(所有节点) | |
vi /etc/hostname | |
# master主机修改为master, | |
# slave[1-2]则修改为slave1,slave2 | |
3. 修改hosts(所有节点) | |
vi /etc/hosts | |
# 所有节点(使用内网ip) | |
127.0.0.1 localhost | |
10.10.20.4 slave1 | |
10.10.20.5 slave2 | |
10.10.20.6 master | |
4. 配置master到slave[1-2]免密登录(所有节点) | |
配置主机可root远程ssh登录:用下面命令,编辑配置文件,将PermitRootLogin prohibit-password修改为PermitRootLogin yes | |
# 所有节点 | |
vim /etc/ssh/sshd_config | |
PermitRootLogin yes | |
service ssh restart # 重启ssh服务 | |
# 或者 | |
/etc/init.d/ssh restart | |
生成master密钥并配置信任:master节点上,执行ssh-keygen -t rsa 一直回车,会在当前用户目录下生成.ssh文件夹,里面存放了公钥和私钥。然后将公钥添加到master和slave[1-2]主机里 | |
# master节点上 | |
ssh-keygen -t rsa | |
# 需要设置root用户密码 passwd | |
ssh-copy-id -i ~/.ssh/id_rsa.pub master | |
ssh-copy-id -i ~/.ssh/id_rsa.pub slave1 | |
ssh-copy-id -i ~/.ssh/id_rsa.pub slave2 | |
或者直接手动将主机master上的id_rsa.pub内容拷贝到所有主机的authorized_keys中 | |
测试master免密登录:master节点上,ssh [hostname],若不需要密码即可登录,则成功: | |
# master节点 | |
ssh master | |
ssh slave1 | |
ssh slave2 | |
4. 关闭防火墙(所有主机上) | |
ufw disable | |
5. 配置jdk环境(所有主机上) | |
tar -zxf jdk-7u80-linux-x64.tar.gz -C /opt | |
mv /opt/jdk1.7.0_80 /opt/jdk7 | |
# 配置JAVA_HOME和PATH环境变量 | |
# 所有节点 | |
vi /etc/profile # 加入下面环境 | |
export JAVA_HOME=/opt/jdk7 | |
export JRE_HOME=$JAVA_HOME/jre | |
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib | |
export PATH=$JAVA_HOME/bin:$PATH | |
# 所有节点 | |
vi /etc/environment # 添加如下,注意此处无需export关键字 | |
JAVA_HOME=/opt/jdk7 | |
# 所有节点 | |
vi ~/.bashrc # 添加如下 | |
export JAVA_HOME=/opt/jdk7 | |
export JRE_HOME=$JAVA_HOME/jre | |
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib | |
export PATH=$JAVA_HOME/bin:$PATH | |
# 所有节点 | |
source /etc/profile | |
source /etc/environment | |
source ~/.bashrc | |
测试java:输入 java -version ,显示java版本即可。 | |
6. 安装mysql(master节点) | |
apt-get install mysql-server mysql-client | |
修改数据看配置 /etc/mysql/my.cnf | |
注释掉 bind-server 127.0.0.1 | |
重启 /etc/init.d/mysql restart | |
7. 正式部署–安装Manager(如果没有特别说明,下面操作在所有主机上同样执行) | |
这里先需要将需要的软件上传到所有节点根目录,文件包含: | |
cloudera-manager-xenial-cm5.12.1_amd64.tar.gz(Cloudera Manager 安装包,约703M) | |
CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel(CDH离线资源包,约1.6GB) | |
CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1(CDH离线包验证文件,约41B) | |
manifest.json(CDH离线包内的组件描述文件,约71KB) | |
jdk-7u80-linux-x64.tar.gz | |
# 将CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1修改成CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha | |
mv CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1 CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha | |
# 创建文件夹,用以存放解压后的cloudera-manager | |
mkdir /opt/cloudera-manager | |
tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager | |
# 为所有节点创建cloudera-scm用户 | |
useradd --system --home=/opt/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm | |
# 创建Cloudera Manager Server 本地数据存放目录(master) | |
mkdir /var/lib/cloudera-scm-server | |
chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server | |
# 为Cloudera Manager连接MySQL 安装mysql-connector-java包,并链接到CM库 | |
# 所有节点安装库 | |
apt-get install libmysql-java | |
# 链接mysql连接库到cm库中给平台使用 | |
ln -s /usr/share/java/mysql-connector-java.jar /opt/cloudera-manager/cm-5.12.1/share/cmf/lib/mysql-connector-java.jar | |
#创建cm5的数据库 | |
# master节点 | |
cd /opt/cloudera-manager/cm-5.12.1/share/cmf/schema | |
./scm_prepare_database.sh mysql -uroot -p123456 scm scm scm | |
# 配置Agent 修改配置文件的server,指向master | |
# 所有节点 | |
vi /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini | |
# 将server_host修改为master | |
server_host=master | |
8.配置Parcels,用以安装CDH5(在master节点) | |
mkdir -p /opt/cloudera/parcel-repo | |
# 传入三个文件: | |
CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel | |
CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha | |
manifest.json | |
# 所有主机 | |
mkdir -p /opt/cloudera/parcels | |
9. 创建数据库(master) | |
create database oozie default character set utf8 collate utf8_general_ci; | |
create database rman DEFAULT CHARSET utf8 collate utf8_general_ci; | |
create database hive DEFAULT CHARSET utf8 collate utf8_general_ci; | |
create database hue DEFAULT CHARSET utf8 collate utf8_general_ci; | |
# 创建四个用户名 | |
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456'; | |
grant all on rman.* TO 'rman'@'%' IDENTIFIED BY '123456'; | |
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456'; | |
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456'; | |
# grant all privileges on oozie.* to 'oozie'@'localhost' identified by '123456'; | |
flush privileges; | |
10. 启动Manager的Server和Agent | |
# 在master节点启动Server进程 | |
cd /opt/cloudera-manager/cm-5.12.1/etc/init.d | |
./cloudera-scm-server start | |
# 在所有节点上启动agent | |
./cloudera-scm-agent start | |
# 这里假如大家有错误,可以查看对应进程的日志 | |
Server进程log日志文件:/opt/cloudera-manager/cm-5.12.1/log/cloudera-scm-server/cloudera-scm-server.log | |
Agent进程log日志文件:/opt/cloudera-manager/cm-5.12.1/log/cloudera-scm-agent/cloudera-scm-agent.log, | |
如果没有.log文件,可以试试.out文件 | |
11 接下来需要再浏览器中安装配置 | |
# 查看主机master的外网IP | |
curl ip.sb | |
# 在浏览器中 | |
masterIP:7180 | |
注意:在安装过程中 | |
#需要再各个主机上执行 | |
echo 10 > /proc/sys/vm/swappiness | |
# master主机上 | |
# 如果出现hue测试连接数据库时失败,仅master主机 | |
apt-get install python-mysqldb | |
apt-get install libxslt1.1 | |
apt-get install apache2 | |
apt-get install libssl-dev | |
安装过程基本上都是默认选项即可,只是在选择parcel时候,选择自己上传的parcel版本。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment