CDH 生产环境安装

环境
  • centos 6.5
  • JDK 8
  • CHD 5.16
  • MySQL 5.7
  • python.2.6 (hue)

以三台vps为例: vps138(主),vps155(从),vps156(从)

Hostname设置

三台的hosts都要相同

$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.138 vps138
192.168.1.155 vps155
192.168.1.156 vps156
防火墙设置

三台的iptables都要相同

$ cat /etc/sysconfig/iptables
# Ansible managed
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# default
-A INPUT -i lo -j ACCEPT

#vps
-A INPUT -p tcp -s 192.168.1.155 -m multiport --dports 80,873,3181,4040,4181,7070,7072,7180,7182,7183,8042,8050,8051,8081,8084 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.155 -m multiport --dports 8085,8086,8087,8088,8091,8888,8889,8983,9000,9001,9010,9095,9864,9868,9870 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.155 -m multiport --dports 10002,11000,12321,14000,18088,19888,20550,25000,25010,25020,31079,41414,50070,50075,50079 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.155 -m multiport --dports 50090,50977,60010,60030,63751,64689 -j ACCEPT

-A INPUT -p tcp -s 192.168.1.138 -m multiport --dports 80,873,3181,4040,4181,7070,7072,7180,7182,7183,8042,8050,8051,8081,8084 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.138 -m multiport --dports 8085,8086,8087,8088,8091,8888,8889,8983,9000,9001,9010,9095,9864,9868,9870 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.138 -m multiport --dports 10002,11000,12321,14000,18088,19888,20550,25000,25010,25020,31079,41414,50070,50075,50079 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.138 -m multiport --dports 50090,50977,60010,60030,63751,64689 -j ACCEPT

-A INPUT -p tcp -s 192.168.1.156 -m multiport --dports 80,873,3181,4040,4181,7070,7072,7180,7182,7183,8042,8050,8051,8081,8084 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.156 -m multiport --dports 8085,8086,8087,8088,8091,8888,8889,8983,9000,9001,9010,9095,9864,9868,9870 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.156 -m multiport --dports 10002,11000,12321,14000,18088,19888,20550,25000,25010,25020,31079,41414,50070,50075,50079 -j ACCEPT
-A INPUT -p tcp -s 192.168.1.156 -m multiport --dports 50090,50977,60010,60030,63751,64689 -j ACCEPT

# Drop all except allow
-A INPUT -p tcp -m multiport --dports 80,873,3181,4040,4181,7070,7072,7180,7182,7183,8042,8050,8051,8081,8084 -j DROP
-A INPUT -p tcp -m multiport --dports 8085,8086,8087,8088,8091,8888,8889,8983,9000,9001,9010,9095,9864,9868,9870 -j DROP
-A INPUT -p tcp -m multiport --dports 10002,11000,12321,14000,18088,19888,20550,25000,25010,25020,31079,41414,50070,50075,50079 -j DROP
-A INPUT -p tcp -m multiport --dports 50090,50977,60010,60030,63751,64689 -j DROP
SSH KEY设置

三台都要操作

$ ssh-keygen -t rsa -N "" -f "/root/.ssh/id_rsa" -C "root@`hostname`"
//# vps138
$ cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
$ chmod 600 /root/.ssh/authorized_keys

将vps138上的authorized_key传到vps155,vps156的/root/.ssh/

JAVA安装

三台都要操作

$ yum install http://192.168.1.238/soft/java/jdk-8u162-linux-x64.rpm
$ cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_162
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

$ cat /etc/profile.d/path.sh
export PATH=$PATH:$JAVA_HOME/bin
JDBC安装

三台都要操作

$ mkdir -p /usr/share/java
$ wget http://192.168.1.238/soft/mysql/mysql-connector-java-5.1.46-bin.jar -O /usr/share/java/mysql-connector-java.jar
系统设置

三台都要操作

$ echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
$ echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
$ swapoff -a
$ sysctl -w vm.max_map_count=262144
$ sysctl -w vm.swappiness=1

//# 加入rc.local
$ echo "echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled" >> /etc/rc.local
$ echo "echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag" >> /etc/rc.local
entropy设置

三台都要操作

$ cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever

[epel-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Source
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
gpgcheck=1

$ yum install -y haveged
$ cat /etc/default/haveged
DAEMON_ARGS="-w 1024"

$ service haveged start
$ chkconfig --add haveged
$ chkconfig haveged on
NTP设置

三台都要操作

$ yum install ntp
$ ntpdate ntp1.aliyun.com
$ hwclock --systohc

vps138作主NTP服务器提供时间同步服务
vps138上运行

$ cat /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict -6 ::1
restrict 192.168.1.1 mask 255.255.255.128 nomodify notrap
server ntp1.aliyun.com prefer
server ntp5.aliyun.com
server 127.0.0.1
fudge 127.0.0.1 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

$ service ntpd start
$ chkconfig ntpd on
$ ntpq -p

从vps155,vps156同步vps138的时间
vps155,vps156上运行

$ cat /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict -6 ::1
server vps138
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

$ service ntpd start
$ chkconfig ntpd on
$ ntpq -p
MySQL安装

可安装在任一台,这里安装在vps138
参见MySQL 安装并修改密码策略
添加CDH需要的数据库,用户密码:

//# Cloudera Manager Server
mysql> create database cmf DEFAULT CHARACTER SET utf8;
mysql> grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY 'cmf_password';

//# Oozie
mysql> create database oozie DEFAULT CHARACTER SET utf8;
mysql> grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie_password';

//# Hive Metastore Server
mysql> create database hive DEFAULT CHARACTER SET utf8;
mysql> grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive_password';

//# Hue
mysql> create database hue DEFAULT CHARACTER SET utf8;
mysql> grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'hue_password';

//# Activity Monitor(MapReduce service)
mysql> create database amon DEFAULT CHARACTER SET utf8;
mysql> grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon_password';

//# Reports Manager
mysql> create database rman DEFAULT CHARACTER SET utf8;
mysql> grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'rman_password';

//# Sentry Server
mysql> create database sentry DEFAULT CHARACTER SET utf8;
mysql> grant all on sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry_password';

//# Cloudera Navigator Audit Server(企业版才有)
mysql> create database nav DEFAULT CHARACTER SET utf8;
mysql> grant all on nav.* TO 'nav'@'%' IDENTIFIED BY 'nav_password';

//# Cloudera Navigator Metadata Server(企业版才有)
mysql> create database navms DEFAULT CHARACTER SET utf8;
mysql> grant all on navms.* TO 'navms'@'%' IDENTIFIED BY 'navms_password';

mysql> flush privileges;
mysql> quit;
内部仓库设置

在192.168.1.238 web服务器上,配置CDH内部仓库,便于快速获取包

//# apache默认根目录
$ cd /cache1/web/soft/cdh/

//# CM仓库;
$ wget https://archive.cloudera.com/cm5/repo-as-tarball/5.16/cm5.16.2-centos6.tar.gz
$ tar xvfz cm5.16.2-centos6.tar.gz
$ chown -R www:www /cache1/web/soft/cdh/cm

//# parcel仓库
$ mkdir cloudera-parcels
$ cd cloudera-parcels
$ wget https://archive.cloudera.com/cdh5/parcels/5.16/CDH-5.16.2-1.cdh5.16.2.p0.8-el6.parcel
$ wget https://archive.cloudera.com/cdh5/parcels/5.16/manifest.json
$ chown -R www:www /cache1/web/soft/cdh/cloudera-parcels

yum仓库文件,传到三台VPS上

//# 名称固定为cloudera-manager.repo
$ cat /etc/yum.repos.d/cloudera-manager.repo
[cloudera-cdh5]
# Packages for Cloudera's Distribution for cm, Version 5, on RedHat     or CentOS 6 x86_64
name=Cloudera's Distribution for cm, Version 5
baseurl=http://192.168.1.238/soft/cdh/cm/5
gpgcheck = 0
enabled=1
CM安装

在vps138上运行

$ yum install -y cloudera-manager-daemons
$ yum install -y cloudera-manager-server
$ yum install -y enterprise-debuginfo

配置,使用MYSQL

$ vi  /etc/cloudera-scm-server/db.properties
# Cloudera Manager Server
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost:63751
com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.user=cmf
com.cloudera.cmf.db.password=cmf_password
com.cloudera.cmf.db.setupType=EXTERNAL

//# 启动服务,查看启动过程
$ service cloudera-scm-server start
$ tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
INFO WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180

如果有报错Unable to retrieve remote parcel repository manifest,可以先不用管,后面会配置;

安装CDH

在CMS启动后,登录CM管理终端(Cloudera Manager Admin Console): http://vps138:7180
默认账户密码: admin/admin
登录之后,会看到

"最终用户许可条款和条件(End User License Terms and Conditions)"页

勾选"是的,我接受最终用户许可条款和条件(Yes, I accept the End User License Terms and Conditions)"
点击"继续(Continue)"

"您想要部署哪个版本?(which edition to install)"页

选择"Cloudera Express",不需要许可证,无限制节点,包含CDH,Cloudera Manager 核心功能,不包含Cloudera Manager 高级功能,Cloudera Navigator,Cloudera Navigator Key Trustee,Cloudera 支持

点击"继续(Continue)"

"感谢您选择 Cloudera Manager 和 CDH"页

列出可安装的程序

将安装此安装程序Cloudera Express5.16.2,您可以稍后通过此安装程序选择以下服务的软件包(可能会涉及到许可证)。

Apache Hadoop(Common、HDFS、MapReduce、YARN)
Apache HBase
Apache ZooKeeper
Apache Oozie
Apache Hive
Hue(已获 Apache 许可)
Apache Flume
Cloudera Impala(许可的 Apache)
Apache Sentry
Apache Sqoop
Cloudera Search(许可的 Apache)
Apache Spark

点击"继续(Continue)"

"为 CDH 群集安装指定主机"页

如果填的是hostname,先在/etc/hosts里设置解析,集群里的都要有相同的配置;

输入

vps138
vps155
vps156

“SSH 端口”: 57891
点击"搜索(Search)"
搜索正常,再点击"继续(Continue)"

选择存储库

“选择方法”: 使用 Parcel (建议)
点击"更多选项"-> “远程 Parcel 存储库 URL”,删除原有的,增加: http://192.168.1.238/soft/cdh/cloudera-parcels ->保存更改
“CDH 版本”: CDH-5.16.2-1.cdh5.16.2.p0.8
勾选: “自定义存储库”: http://192.168.1.238/soft/cdh/cm/5
“自定义 GPG 主要 URL”: http://192.168.1.238/soft/cdh/cm/RPM-GPG-KEY-cloudera

点击"继续(Continue)"

JDK 安装选项

跳过
点击"继续(Continue)"

启用单用户模式

跳过
点击"继续(Continue)"

提供 SSH 登录凭据

“登录到所有主机,作为”: root
“身份验证方法”: 所有主机接受相同私钥
将vps138的/root/.ssh/id_rsa文件下载,并点击"选择文件"加载
“SSH 端口”: 57891

点击"继续(Continue)"

Install Agents

自动安装成功

点击"继续(Continue)"

正在安装选定 Parcel

自动安装成功

点击"继续(Continue)"
如果中途出错,报主机运行状况不良,在3台机器上则将/var/lib/cloudera-scm-agent/cm_guid文件删除,同时执行service cloudera-scm-agent restart

检查主机正确性

检查通过

点击"继续(Continue)"

Select Services

选择"核心 Hadoop"或者按需选择

点击"继续(Continue)"

自定义角色分配

角色尽量分散;

HDFS和YARN

NameNode,SecondaryNameNode,Balancer只能有一个;
ResourceManager,JobHistory Server只能有一个;

Cloudera Management Service

Service Monitor,Activity Monitor,Host Monitor,Event Server,Alert Publisher只能一个;

点击"继续(Continue)"

数据库设置

将之前创建的数据库信息填入

数据库主机名称: vps138:63751
数据库名称 : hive
密码: hive_password

其他类似;
点击"测试连接"
没问题,点击"继续(Continue)"

审核更改

HDFS 块大小(dfs.block.size, dfs.blocksize): 512M

点击"继续(Continue)"

首次运行 命令

会自动运行:
部署客户端配置
启动Cloudera Management Service,ZooKeeper
启动HDFS
启动YARN
启动Hive
启动Oozie
启动Hue

点击"继续(Continue)"

点击"完成"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值