对 Kerberos 有了基本了解后,我们开始进入安装部署的步骤,首先是先准备基本的服务器环境。
本次课程基于使用的软件环境如下:
CDH 5.14.4
hadoop2.6.0-cdh5.14.4
hive1.1.1-cdh5.14.4
CentOS 6.9 x64 操作系统
JDK 1.8 and jdk1.7(for maven)
apache-maven-3.0.5
Kerberos 使用在线yum库提供的最新版本
除操作系统外,所有需要用到的安装包,在课件内都有提供,同学们可以直接使用。
部署节点信息
本次课程使用4台服务器来进行演示,分别是:
主机名cdh0(FQDN: cdh0.itcast.cn):hadoop的master节点,部署 namenode ,
resourcemanager , hive server2 , historyserver 等master角色 以及 Kerberos 的 客户端
主机名cdh1(FQDN: cdh1.itcast.cn):hadoop的slave节点,部署 datanode , nodemanager 等slave角色 以及 Kerberos 的 客户端
主机名CDH2(FQDN: cdh2.itcast.cn):同CDH1
主机名CDH3(FQDN: cdh3.itcast.cn):Kerberos的server端,部署 Kerberos server
硬件配置:
CDH0、CDH1、CDH2均为2核心3GB内存配置,CDH3为1核心1GB内存
同学们可以根据自己主机的配置情况做相应增删
其中slave节点可以删除一个,比如CDH2可以删除不要,以节省内存开销
如果内存比较大的同学可以给slave节点配置三个,来模拟更加真实的环境
基础系统环境准备
a.关闭防火墙服务
chkconfig iptables off 关闭防火墙自启
service iptables stop 关闭当前防火墙的运行
b. 配置主机名
修改 /etc/sysconfig/network 文件,设置HOSTNAME为需要的主机名
这里设置FQDN形式,保存即可
FQDN形式的主机名就是包含完整的主机所在域(所在组织)的主机名 如 cdh0.itcast.cn 其中cdh0是简写的主机名 .itcast.cn 是这台主机的所在域 也就是domain hadoop中配置建议使用FQDN形式的主机名。
c. 配置各个主机IP地址
老师演示的网段是 192.168.66.0 网段
下面演示的IP地址根据你虚拟机的网段来设置,自行修改
1.关闭 NetworkManager 服务和 selinux
# NetworkManagerservice NetworkManager stop # 关闭chkconfig NetworkManager off # 关闭开机自启# Selinuxvim /etc/sysconfig/selinux设置SELINUX=disabled然后重启生效
2. 配置 ip : vim /etc/sysconfig/network-scripts/ifcfg-eth0
在其中确保有如下:
DEVIDE="eth0" # 网卡名字BOOTPROTO="static" # 静态IPONBOOT="yes" # 开机启动TYPE="Ethernet" # 类型IPADDR=192.168.66.200 # IP地址NETMAST=255.255.255.0 # 子网掩码GATEWAY=192.168.66.2 # 网关地址DNS1=192.168.66.2 # DNS1的地址
3. 执行 service network restart 重启网卡
如果遇到 Device eth0 does not seem to be present, delaying initialization. 错 误,可以执行: rm /etc/udev/rules.d/70-persistent-net.rules 然后重启机器即可 重启可以执行 init 6
4. 执行 curl www.baidu.com 来判断自己是否可以上网d. 配置 /etc/hosts 文件
执行到这一步网络就配置好了,可以用secureCRT等工具连接服务器了
vim /etc/hosts
添加:
192.168.66.200 cdh0.itcast.cn cdh0192.168.66.201 cdh1.itcast.cn cdh1192.168.66.202 cdh2.itcast.cn cdh2192.168.66.203 cdh3.itcast.cn cdh3
在每个机器都执行, 不要动原本的localhost的配置,可能会有bug
e. 安装必要软件(通过 yum 在线安装) 执行:
yum -y install epel-releaseyum install -y autoconf automake libtool cmake ncurses-devel openssl-devel lzo-develzlib-devel gcc gcc-c++ bzip2-devel cmake3 lrzsz ntp
所有机器上都执行
f. 配置ntp和时间
1. 修改时区: cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2. 校对当前时间: ntpdate -u 0.cn.pool.ntp.org
3. 设置ntp服务并启动和设置自启
vim /etc/ntp.conf在server那里最上面添加一行server 0.cn.pool.ntp.org iburst然后执行service ntpd start执行 chkconfig ntpd on
所有机器上都执行
g. 创建用户和组以及配置各自的ssh免密登录
添加用户
# 添加一个hadoop组groupadd hadoop# 添加用户useradd hadoop -g hadoop -p hadoopuseradd hive -g hadoop -p hiveuseradd yarn -g hadoop -p yarnuseradd mapred -g hadoop -p mapred或者一条命令搞定:groupadd hadoop;useradd hadoop -g hadoop -p hadoop;useradd hive -g hadoop -phive;useradd yarn -g hadoop -p yarn;useradd mapred -g hadoop -p mapred
在cdh0 cdh1 cdh2三台机器上执行
设置ssh免密登录(可选)
可选,方便操作,课程演示做root账户的互相免密
执行 ssh-keygen -t rsa 一路回车就可创建当前账户的 ssh key
执行 ssh-copy-id 目标主机 即可让当前机器的当前用户免密登录目标主机的当前用户
h. 上传Hadoop软件包
上传包
创建目录 mkdir /bigdata 在 cdh0执行
上传:
-
apache-maven-3.0.5-bin.tar.gz
-
hadoop-2.6.0-cdh5.14.4.tar.gz
-
hive-1.1.0-cdh5.14.4.tar.gz
并解压到/bigdata 目录下, 参考命令 tar -zxvf hive-1.1.0-cdh5.14.4.tar.gz -C /bigdata/
使用 scp 命令将 /bigdata 目录复制到cdh1 和 cdh2
scp -r /bigdata cdh1:/
scp -r /bigdata cdh2:/
目录/bigdata 用来安装hadoop等组件,同学可以自行修改
i. 安装jdk
上传jdk1.7 和 jdk1.8到服务器并解压
设置java home 为jdk1.8
在每个hadoop节点(cdh0,1,2)机器都执行
j. 配置环境变量
export HADOOP_HOME=/bigdata/hadoop-2.6.0-cdh5.14.4export MAVEN_HOME=/bigdata/apache-maven-3.0.5export HIVE_HOME=/bigdata/hive-1.1.0-cdh5.14.4export JAVA_HOME=/usr/local/jdk1.8.0_221exportPATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MAVEN_HOME/bin:$HIVE_HOME/bin:$PATH# export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native# export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/bigdata/hadoop-2.6.0-cdh5.14.4/lib/native
source /etc/profile
在每个hadoop节点(cdh0,1,2)机器都执行