Cloudera CDH6.3.0集群安装与部署,集成hbase,集成spark

CDH6.3.0集群安装与部署,集成hbase,集成spark

1.1.修改机器名(所有节点)

修改机器名称,这种方式,在Centos7中可以永久性改变主机名称。
#hostnamectl set-hostname xxx //设置机器名
#hostname // 查看本机名
每个节点机器,都要配置hosts
#vi /etc/hosts
内容都改为:
127.0.0.1 localhost //建议保留此行
192.168.144.*** hadoopm
192.168.144.*** hadoopf

1.2.设置防火墙(所有节点)

注:为了简便,可以先关闭防所有节点火墙,安装完成后,再按照下面步骤设置。
防火墙常用命令:
#firewall-cmd --state(查询防火墙状态)
#systemctl stop firewalld.service (关闭防火墙)
#systemctl start firewalld.service (开启防火墙)
#systemctl disable firewalld.service (禁止firewall开机启动)

1.3.配置免密码登录SSH

将子节点设置为从主节点ssh无密码登陆(主节点访问从节点需要无密码互通,否则后面会出现问题)
在主节点上执行:
#cd~ //进入到 根目录
#ssh-keygen -t rsa
一路回车,生成无密码的密钥对。
把公钥拷贝至从节点服务器上 :
#scp /root/.ssh/id_rsa.pub root@hadoopf:~ //输入node169机器上root用户密码拷备成功
登录到从节点服务器上:
然后在从节点服务器上,把公钥的内容追加到authorized_keys文件末尾(这个文件也在隐藏文件夹.ssh下,如果没有可以新建):
在这里插入图片描述

cat id_rsa.pub >> ~/.ssh/authorized_keys
如果提示下面信息,则需要创建./ssh目录:
-bash: /root/.ssh/authorized_keys: No such file or directory

//创建/.ssh目录,再追加公钥内容
mkdir ~/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys
并设置authorized_keys的访问权限:
#chmod 600 ~/.ssh/authorized_keys
测试:在hadoopm上执行ssh hadoopf,正常情况下,不需要密码就能直接登陆进去了。如果不行可尝试 ssh hadoopf -p ssh的端口号,可根据下面文件进行配置。
在这里插入图片描述
以同样的方式将公钥拷贝至其他节点服务器上。

1.4.关闭SELINUX(所有节点)

关闭linux SELINUX安全内核
#setenforce 0 (临时生效)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)
#vi /etc/selinux/config
内容修改或增加:
SELINUX=disabled
重启后生效:
reboot
查看SELINUX 是否关闭:
#sestatus
(在Centos7中遇到SELINUX无法关闭的问题,重新启动机器恢复正常)

1.5.修改Linux内核参数(所有节点)

为避免安装过程中出现的异常问题,首先调整Linux内核参数。
1)设置swappiness,控制换出运行时内存的相对权重,Cloudera 建议将 swappiness 设置为 10:
//查看swappiness
#cat /proc/sys/vm/swappiness
//永久性修改,执行下面两条命令
sysctl -w vm.swappiness=10
#echo vm.swappiness = 10 >> /etc/sysctl.conf

2)关闭透明大页面:
自CentOS6版本开始引入了Transparent Huge Pages(THP),从CentOS7版本开始,该特性默认就会启用。尽管THP的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭THP,否则可能会导致性能出现下降。
首先查看透明大页是否启用,[always] never表示已启用,always [never]表示已禁用:
cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
以上状态就说明是启用的。
临时关闭(重启机器会变回默认开启状态):
echo never > /sys/kernel/mm/transparent_hugepage/defrag
#echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久关闭:
//编辑/etc/rc.d/rc.local
vi /etc/rc.d/rc.local
//在文件后添加下面内容:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

保存退出,然后赋予rc.local文件执行权限:
#chmod +x /etc/rc.d/rc.local
重启系统,以后再检查THP状态,显示状态被禁用了。

3)修改文件句柄数:
修改系统文件句柄数限制:
//查看文件句柄数,显示1024,显然太小
ulimit -n
1024
//修改限制
#vi /etc/security/limits.conf
//在文件后加入下面内容:

  • soft nofile 100000
  • hard nofile 100000

修改后需要重启机器。

1.6.其他安装与配置(所有节点)

为避免安装过程中出现异常问题,安装相关依赖包:
#yum -y install psmisc MySQL-python at bc bind-libs bind-utils cups-client cups-libs cyrus-sasl-gssapi cyrus-sasl-plain ed fuse fuse-libs httpd httpd-tools keyutils-libs-devel krb5-devel libcom_err-devel libselinux-devel libsepol-devel libverto-devel mailcap noarch mailx mod_ssl openssl-devel pcre-devel postgresql-libs python-psycopg2 redhat-lsb-core redhat-lsb-submod-security x86_64 spax time zlib-devel
#yum install -y python-lxml
#yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel

chmod +x /etc/rc.d/rc.local
yum -y install rpcbind
systemctl start rpcbind
echo “systemctl start rpcbind” >> /etc/rc.d/rc.local

1.7.配置NTP服务

修改时区(改为中国标准时区)ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
安装ntp yum -y install ntp
ntp主机配置 vim /etc/ntp.conf
manager节点
在这里插入图片描述
重新启动 ntp 服务:service ntpd restart
设置开机自启:systemctl enable ntpd.service
ntpdc -c loopinfo #查看与时间同步服务器的时间偏差
ntpq -p #查看当前同步的时间服务器
ntpstat #查看状态
配置成功状态(服务开启后前面出现*说明成功):

1.8.安装JDK1.8 (所有节点)

下载rpm 安装包jdk-8u151-linux-x64.rpm
CentOS系统一般自带OpenJdk,需要卸载掉自带的OpenJdk,使用
#rpm -qa | grep java
查询java相关的包,使用
rpm -e --nodeps +包名
安装jdk
mkdir /usr/java
将jdk-8u144-linux-x64.gz移到/usr/java并解压
#tar -xzvf jdk-8u144-linux-x64 -C /usr/java/
#切记必须修正所属⽤用户及⽤用户组
chown -R root:root /usr/java/jdk1.8.0_144

配置JAVA_HOME环境变量:
修改/etc/profile文件配置环境变量, 执行命令:
vi /etc/profile
在profile文件最后,输入下面内容,保存并退出。
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
执行下面命令,让配置生效
source /etc/profile //使修改立即生效
echo $PATH //查看PATH值
echo J A V A H O M E / / 查 看 J A V A H O M E 值 在 C e n t o s 7 中 修 改 / e t c / p r o f i l e 文 件 配 置 环 境 变 量 , 机 器 启 动 后 有 时 不 生 效 , 可 以 修 改 / e t c / b a s h r c 文 件 配 置 环 境 变 量 : v i / e t c / b a s h r c / / 在 文 件 最 后 加 入 : e x p o r t J A V A H O M E = / u s r / j a v a / j d k 1.8. 0 1 51 e x p o r t P A T H = JAVA_HOME //查看JAVA_HOME值 在Centos7中修改/etc/profile文件配置环境变量,机器启动后有时不生效,可以修改/etc/ bashrc文件配置环境变量: vi /etc/bashrc //在文件最后加入: export JAVA_HOME=/usr/java/jdk1.8.0_151 export PATH= JAVAHOME//JAVAHOMECentos7/etc/profile/etc/bashrcvi/etc/bashrc//exportJAVAHOME=/usr/java/jdk1.8.0151exportPATH=PATH:$JAVA_HOME/bin
//使修改立即生效
source /etc/bashrc
//查看JAVA_HOME值
echo $JAVA_HOME

1.12.Mysql安装(主节点)

到官网https://dev.mysql.com/downloads/file/?id=469456选择对应安装包:
1)下载安装包
#wget https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
2)解压安装包
#tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
//解压后文件列表:
mysql-community-embedded-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-client-5.7.18-1.el7.x86_64.rpm
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.18-1.el7.x86_64.rpm
mysql-community-test-5.7.18-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
3)按次序安装
按common–>libs–>client–>server的顺序安装:
rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm

//安装下面包,否则Hue安装报连接错误
#rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

4)启动数据库
systemctl start mysqld
查看状态:
systemctl status mysqld

5)修改MySQL初始密码
1、先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验,在[mysqld]下加入一行:
skip-grant-tables
2、重启MySQL
#service mysqld restart
3、免密码登录MySQL。
#mysql
4、mysql客户端执行如下命令,修改root密码
mysql> use mysql;
mysql> UPDATE user SET authentication_string = password(‘your-password’) WHERE host = ‘localhost’ AND user = ‘root’;
mysql> select host,user, authentication_string, password_expired from user;
mysql> update user set password_expired=‘N’ where password_expired=‘Y’ //密码不过期
mysql> update user set host=’%’ where user=‘root’ and host=‘localhost’; //远程可访问
mysql> flush privileges; //刷新
mysql> exit;//退出

5、修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL(这一步非常重要,不执行可能导致严重的安全问题)
#service mysqld restart //重启 Mysql

说了这么多以上都是集群安装的准备工作。下面才刚刚开始CDH的安装,小伙伴耐心的往下看哦 。

安装CDH

(1)首先安装httpd和createrepo:
yum -y install httpd createrepo

(2)启动httpd服务并设置开机自启动:
systemctl start httpd
systemctl enable httpd

(3)然后进入到前面准备好的存放Cloudera Manager RPM包的目录cloudera-repos下:
cd /data6/upload/cloudera-repos/
(4)生成RPM元数据:
createrepo .
chmod 777 -R cloudera-repos

(5)然后将cloudera-repos目录移动到httpd的html目录下:
mv cloudera-repos /var/www/html/
(6)确保可以通过浏览器查看到这些RPM包:
在这里插入图片描述

(7)接着在创建cm6的repo文件(每个节点都需要配置):
cd /etc/yum.repos.d
vim cloudera-manager.repo

(8)添加如下内容:
[cloudera-manager]
name=Cloudera Manager 6.3.0
baseurl=http://node01/cloudera-repos/
gpgcheck=0
enabled=1

(9)保存,退出,然后执行yum clean all && yum makecache命令
yum clean all && yum makecache

安装Cloudera Manager Server

(1)这一步只需要在CM Server节点上操作。执行下面的命令:
安装 cm manager(只需在server节点安装)
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

将会需要很多依赖包,所以说还是有必要搭一个局域网内yum源的,或者手动安装rpm包

配置本地Parcel存储库

(1)Cloudera Manager Server安装完成后,进入到本地Parcel存储库目录:
cd /opt/cloudera/parcel-repo

(2)将第一部分下载的CDH parcels文件上传至该目录下,然后执行修改sha文件,重命名去掉1,不不然在部署过程CM认为如上⽂文件下载未完整,会持续下载
(3)
mv /data6/upload/parcels/* /opt/cloudera/parcel-repo/
mv CDH-6.3.0-1.cdh6.3.0.p0.1279813-el7.parcel.sha1 CDH-6.3.0-1.cdh6.3.0.p0.1279813-el7.parcel.sha

(4)然后执行下面的命令修改文件所有者:
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

(5)最终/opt/cloudera/parcel-repo目录内容如下:
├── CDH-6.3.0-1.cdh6.3.0.p0.1279813-el7.parcel
├── CDH-6.3.0-1.cdh6.3.0.p0.1279813-el7.parcel.sha
└── manifest.json

创建CDH所需要的数据库

(1)根据所需要安装的服务参照下表创建对应的数据库以及数据库用户,数据库必须使用utf8编码,创建数据库时要记录好用户名及对应密码:
服务名 数据库名 用户名
Cloudera Manager Server scm scm
Activity Monitor amon amon
Reports Manager rman rman
Hue hue hue
Hive Metastore Server metastore hive
Sentry Server sentry sentry
Cloudera Navigator Audit Server nav nav
Cloudera Navigator Metadata Server navms navms
Oozie oozie oozie

(2)创建数据库及对应用户
#scm
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO ‘scm’@’%’ IDENTIFIED BY ‘scm’;

#amon
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO ‘amon’@’%’ IDENTIFIED BY ‘amon’;

#rman
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO ‘rman’@’%’ IDENTIFIED BY ‘rman’;

#hue
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO ‘hue’@’%’ IDENTIFIED BY ‘hue’;

#hive
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO ‘hive’@’%’ IDENTIFIED BY ‘hive’;

#sentry
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO ‘sentry’@’%’ IDENTIFIED BY ‘sentry’;

#nav
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO ‘nav’@’%’ IDENTIFIED BY ‘nav’;

#navms
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO ‘navms’@’%’ IDENTIFIED BY ‘navms’;

#oozie
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO ‘oozie’@’%’ IDENTIFIED BY ‘oozie’;

#flush
FLUSH PRIVILEGES;

设置Cloudera Manager 数据库

Cloudera Manager Server包含一个配置数据库的脚本。
当mysql数据库与CM Server是同一台主机时,执行命令:
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm

当mysql数据库与CM Server不在同一台主机上时,执行命令:
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h --scm-host scm scm

安装 CM Agent

在所有从节点上运行以下命令安装 Agent
yum install cloudera-manager-daemons cloudera-manager-agent

所有节点修改agent的配置server_host,指向server的节点
vim /etc/cloudera-scm-agent/config.ini

启动Cloudera Manager Server服务

主节点执行
systemctl start cloudera-scm-server

然后等待Cloudera Manager Server启动,可能需要稍等一会儿,可以通过命令
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

去监控服务启动状态。
当看到INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.日志打印出来后,说明服务启动成功,可以通过浏览器访问Cloudera Manager WEB界面了。

启动Cloudera Manager Agent服务

所有从节点执行
systemctl start cloudera-scm-agent

访问Cloudera Manager WEB界面

打开浏览器,访问地址:http://<server_host>:7180,默认账号和密码都为admin:

在这里插入图片描述
欢迎页面
首先是Cloudera Manager的欢迎页面,点击页面右下角的【继续】按钮进行下一步:
在这里插入图片描述
接受条款
勾选接受条款,点击【继续】进行下一步:在这里插入图片描述
版本选择
这里我就选择免费版了:
在这里插入图片描述
第二个欢迎界面
选择版本以后会出现第二个欢迎界面,不过这个是安装集群的欢迎页:在这里插入图片描述
选择主机
这一步是要搜索并选择用于安装CDH集群的主机,在主机名称后面的输入框中输入各个节点的hostname,中间使用英文逗号分隔开,然后点击搜索,在结果列表中勾选要安装CDH的节点即可:在这里插入图片描述
指定存储库
Cloudera Manager Agent
这里选择自定义,填写上面使用httpd搭建好的Cloudera Manager YUM 库URL:在这里插入图片描述
CDH and other software
如果我们之前的【配置本地Parcel存储库】步骤操作无误的话,这里会自动选择【使用Parcel】,并加载出CDH版本,确认无误后点击【继续】:在这里插入图片描述
JDK安装选项
这一步骤我就不再勾选安装JDK了,因为我在环境准备部分已经安装过了。取消勾选,然后继续:在这里插入图片描述
安装Parcels
这一步同样是自动安装,分配步骤的速度主要取决于网络环境,耐心等待即可:在这里插入图片描述
主机检查
等待检查完成即可在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值