赞
踩
本文涉及到的资源如下:
(1)CM-5.16.1
(2)CDH-5.16.1
官网下载链接:https://archive.cloudera.com/cm5/repo-as-tarball/5.16.1/
但是官网现在已经不提供开源下载资源
资源来自:https://xiaoguaiguai.blog.csdn.net/article/details/115181682
https://blog.csdn.net/zhumingye/article/details/115181682
(3)VMware
https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
(4)CentOS 7 映像文件
http://mirrors.aliyun.com/centos/7/isos/x86_64/
(5)Java
https://www.java.com/zh-CN/download/linux_manual.jsp
(6)MySQL
在终端用命令下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
(7)mysql-connector-java
https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.46/
安装步骤参考了多篇文章,感谢各位大佬的分享:
https://blog.csdn.net/czz1141979570/article/details/86658416
https://www.cnblogs.com/zhangleisanshi/p/7575579.html
https://www.cnblogs.com/frankdeng/p/10136230.html
https://blog.csdn.net/u010452388/article/details/102822956
VMware及CentOS安装步骤参考:https://blog.csdn.net/m0_50519965/article/details/116175873
按照以上步骤安装好虚拟机之后会遇到以下几个问题:
1.在CM上安装主节点parcel的时候提示磁盘空间不足,因此建议master节点的磁盘空间增加到40G或60G,我的配置是
内存 | 磁盘 | ||
---|---|---|---|
master | 4G | 40G | Server&Agent |
slaver1\slaver2 | 2G | 20G | Agent |
2.网络ping不通 | |||
首先主机查看VMnet8的ip | |||
Windows命令行:ipconfig | |||
注意IPv4地址 | |||
在VMware中 | |||
“编辑”选项卡下“虚拟网络编辑器” | |||
关闭DHCP,将IP固定,与IPv4地址设置为同一网段 | |||
点击NAT设置按钮,修改网关地址 | |||
进入机器设置网络连接 | |||
如下图,IPv4设置为Manual,DNS为8.8.8.8; | |||
设置ip、子网掩码、网关、DNS等参数,ip与NAT里的网段一致,网关同NAT一样 | |||
配置网络文件 |
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将BOOTPROTO改为static,设置ip、子网掩码、网关、DNS等参数
重启网络服务:service network restart
用ping www.baidu.com检查是否连通网络,如下图已成功
slave节点配置同上
XShell可以将输入的命令发送到所有回话,后续的操作我都在XShell7上进行,关于xshell的使用这里暂不展开叙述
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master
查看主机名hostname(文件修改后没有重启主机名没有生效,可以用hostname临时生效)
vim /etc/hosts
192.168.100.128 master
192.168.100.129 slaver1
192.168.100.130 slaver2
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
同理在slave1和slave2节点上进行相同的操作,然后将公钥复制到master节点上的authoized_keys
将master的文件远程传输到其他节点
scp ~/.ssh/authorized_keys root@slave1:~/.ssh/
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
service firewalld status #查看防火墙状态
注:有的文章中用命令stop iptables.service,在CentOS7中默认使用firewall作为防火墙,所以iptables命令并不起作用。防火墙未关闭会导致后面ntp无法开启。
vim /etc/selinux/config
SELINUX=disabled
下载压缩包上传并解压
https://www.java.com/zh-CN/download/linux_manual.jsp
tar zxvf jre-8u321-linux-x64.tar.gz
在/etc/profile文件里添加jdk路径
vim /etc/profile
在profile这个文件末尾增加这几行代码:
export JAVA_HOME=/opt/jre1.8.0_321 #jar包解压的目录
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
使配置文件生效
source /etc/profile
查看java版本
java -version
官网下载MySQL安装包后启动报错,好多文章说CentOS7不支持MySQL了,建议直接安装mariadb,如https://blog.csdn.net/miaodichiyou/article/details/99289160
systemctl start mysql.service
Failed to start mysqld.service: Unit not found
不过按照这篇文章wget命令下载并安装的方式还是成功了
https://blog.csdn.net/u011174699/article/details/93782631
进入MySQL创建数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
修改配置文件ntp.conf
vim /etc/ntp.conf
启用restrice,修改网段,将这行的注释去掉
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
注释掉server域名配置
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
添加配置
server 127.127.1.0
fudge 127.127.1.0 stratum 10
修改配置文件ntpd
vim /etc/sysconfig/ntpd
添加一行配置
SYNC_CLOCK=yes
启动ntp服务
chkconfig ntpd on
chkconfig ntpdate on
配置其他机器的同步
在ntp.conf文件中添加
server master iburst
通过contab进行定时同步
查看ntp状态
systemctl list-unit-files | grep ntp
(1)首先上传cm包到所有节点,并解压到指定目录
mkdir /opt/cloudera-manager
tar -axvf cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C /opt/cloudera-manager
(2)在所有节点创建cloudera-scm用户
useradd --system --home=/opt/cloudera-manager/cm-5.16.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
–system 创建一个系统账户
–home 指定用户登入时的主目录,替换系统默认值/home/<用户名>
–no-create-home 不要创建用户的主目录
–shell 用户的登录 shell 名
–comment 用户的描述信息
(3)配置从节点cloudera-manger-agent指向主节点服务器
vim /opt/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini
将server_host改为master
(4)主节点上配置CM的数据库
1.上传mysql-connector-java
mkdir /usr/share/java/
cp mysql-connector-java-5.1.46-bin.jar /usr/share/java
mv /usr/share/java/mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
注:jar包名称要修改为mysql-connector-java.jar
2.在mysql中创建cm库
/opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hmaster -uroot -p123 --scm-host master scm scm scm
mysql:数据库用的是mysql cm:表示在mysql中创建cm数据库
-h:Database host 表示安装数据库的主机名
-u:Database username
-p:Database Password
–scm-host master :cm安装的主机,一般也是mysql安装的主机
最后三个参数是:数据库名,数据库用户名,数据库密码
执行这行命令后,可能会遇到用户权限问题,解决办法可以参考:https://blog.csdn.net/qq_38617531/article/details/83344734
执行完创建cm库的命令后,看到以下信息表明命令操作是成功的
All done, your SCM database is configured correctly!
(5)主节点上创建parcel-repo目录
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
将CDH的相关文件上传到目录/opt/cloudera/parcel-repo
CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel
CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1
manifest.json
注:其中CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 后缀要把1去掉
mv CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha
(6)所有节点上创建parcels目录
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
(7)启动主节点cloudera-scm-server
cp /opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
chkconfig cloudera-scm-server on
vi /etc/init.d/cloudera-scm-server
修改
CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}
为
CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cloudera-manager/cm-5.16.1/etc/default}
查看状态,如果2-5显示开启表示配置成功
chkconfig --list cloudera-scm-server
启动,并在开机启动脚本中加入命令,保证每次重启都能启动
service cloudera-scm-server start
vim /etc/rc.local
service cloudera-scm-server restart
(8)所有节点上启动cloudera-scm-agent
mkdir /opt/cloudera-manager/cm-5.16.1/run/cloudera-scm-agent
cp /opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
chkconfig cloudera-scm-agent on
vim /etc/init.d/cloudera-scm-agent
将
CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}
修改为
CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cloudera-manager/cm-5.16.1/etc/default}
启动,并在开机启动脚本中加入命令,保证每次重启都能启动
service cloudera-scm-agent start
vim /etc/rc.local
service cloudera-scm-agent restart
查看端口被占用表示安装成功
netstat -anp | grep 7180
(1)配置Windows hosts文件
C:\Windows\System32\drivers\etc\hosts
192.168.100.128 master
192.168.100.129 slaver1
192.168.100.130 slaver2
(2)进入主节点ip:7180
192.168.100.128:7180
默认使用admin admin登录
选择第一个免费版
由于我之前已经安装完成,后面步骤无法再复现截图,以下图片及操作来自:https://blog.csdn.net/czz1141979570/article/details/86658416
可以直接跳转到此博文操作,为了方便阅读我也截图过来了
我在CDH分配的时候有遇到“主机运行状态不良”的提示,解决办法:
https://blog.csdn.net/u011031430/article/details/74057601
删除每个节点的cm_guid文件,然后进入init.d目录重启agent服务
rm -f /opt/cloudera-manager/cm-5.16.1/lib/cloudera-scm-agent/cm_guid
cd /opt/cloudera-manager/cm-5.16.1/etc/init.d
./cloudera-scm-agent restart
由于前面配置了ntp时间同步,所以没有时间不同步的问题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。