CDH6.0.1详细安装步骤及常见问题解决
Cloudera Manager能够大大减轻配置hadoop集群的工作量,安装好以后能够快速熟悉Hadoop生态系统常用的一些组件,如HBase, Hive, Spark, Oozie, Impala, Hue等等。笔者在安装Cloudera Manager过程中遇到了很多麻烦,最终在折腾了一个星期以后终于配置成功。现在将配置步骤和过程中遇到的一些问题的解决办法拿出来与大家一起分享。
系统环境
• 操作系统:3台 CentOS 7 x64
• Cloudera Manager:6.0.1
• CDH: 6.0.1
VM IP Adress | Centos_HostName | Disk Space | Physical Memory | Role |
---|---|---|---|---|
192.168.1.101 | hadoop01 | 40GB | 16GB | Cloudera Manager Server + Cloudera Manager Agent |
192.168.1.102 | hadoop02 | 40GB | 4GB | Cloudera Manager Agent |
192.168.1.106 | hadoop06 | 40GB | 8GB | Cloudera Manager Agent |
- 最初是想搭建一个5个节点的Hadoop集群的,后来发现Cloudera Manager占用内存特别多,无奈一台PC只能安装一个CentOS;
- 安装CentOS系统时磁盘空间最好选成40GB,默认的20GB不够用。以后扩展很麻烦;
- 默认2GB的swap空间不够用,需要扩展成4GB;
一、配置网络环境
安装完CentOS后第一步就是配置网络。
-
编辑/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,修改其中以下粗体标示的项目:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=3719cf03-5d05-454b-903f-e1e26ad34fd6
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.101
NETWORK=192.168.1.1
NETSTAT=255.255.255.0
GATEWAY=192.168.1.1
DNS1=222.186.160.70
DNS2=114.114.114.114
其它主机的IP地址做相应的更改。 -
编辑/etc/default/grub文件,在GRUB_CMD_LINE_LINUX="“项中,插入"net.ifnames=0 biosdevname=0”(与原有项之间用空格隔开),保存退出。
-
调用命令grub2-mkconfig -o /boot/grub2/grub.cfg更新配置,然后直接reboot重启。
这样之后再用ifconfig -a命令查看时,就有eth0网卡存在了。 -
更改hostname
hostnamectl set-hostname hadoop01 -
修改hosts文件
vi /etc/hosts192.168.1.101 hadoop01
192.168.1.102 hadoop02
192.168.1.106 hadoop06 -
关闭防火墙
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service -
配置免密登录:
在每台主机上生成rsa公钥和私钥
ssh-keygen -t rsa
cd .ssh
cat id_rsa.pub >> authorized_keys
登录其他主机,将其他主机的公钥文件内容都拷贝到hadoop01主机上的authorized_keys文件中,命令如下:
[root@hadoop06 .ssh]# ssh-copy-id -i hadoop01
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed – if you are prompted now it is to install the new keys
root@hadoop01’s password:
Number of key(s) added: 1
Now try logging into the machine, with: “ssh ‘hadoop01’”
and check to make sure that only the key(s) you wanted were added.
在每台主机上重复以上步骤,使任意两台主机间都能相互连通。
至此,免密码登录已经设定完成。
-
更改系统时间:
进入home目录,修改.bash_profile
#setup time region
TZ=‘Asia/Shanghai’
export TZ
或者: tzselect将当前时间和日期写入BIOS,避免重启后失效
hwclock –w另外还要进入CentOS的菜单System Tools–> Settings --> Date & Time中,将时区修改为Asia/Shanghai。
-
配置NTP同步各台服务器的时间
9.1主节点配置在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用65.55.56.206作为对时中心,ntpdate -u ntp1.aliyun.com
vi /etc/ntp.conf
#Hosts on local network are less restricted.
取消下面一行的注释,并将其中IP和掩码修改为真实环境IP和掩码,此行配置为允许ntp客户端连接的配置
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
找到server 0.centos.pool.ntp.org iburst,并将所有server配置进行注释
添加下面两行内容