开发者学堂课程【快速掌握 Hadoop 集成 Kerberos 安全技术:环境搭建-02-配置 ntp 设置用户以及上传软件包】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/708/detail/12557
环境搭建-02-配置 ntp 设置用户以及上传软件包
内容介绍:
一、安装必要软件
二、配置 ntp 和时间
三、上传 hadoop 软件包
四、安装 jdk
五、配置环境变量
一、安装必要软件(通过yum在线安装)
执行:
yum -y install epel-release
yum install-y autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel gcc gcc-c++
bzip2-devel cmake3 lrzsz ntp
所有机器上都执行
第一台机器执行 yum -y install epel-release,将包加入 sendos 系统里。
Last login: Fri Sep 27 07:35:17 2019
[root@cdh0 ~]# vim /etc/hosts
[root@cdh0 ~]# yum -y install epel-release
Loaded plugins:fastestmirror,Fefresh-packagekit, security
Setting up Install Process
base 3.7 kB 00:00
base/primary_db 4.7 MB 00:01
extras 3.4 kB 00:00
extras/primary_db 29 kB 00:00
updates 3.4 kB 00:00
updates/primary_db 6.1 MB 00:02
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:6-8 will be installed
执行 yum 安装命令,安装一系列软件。
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KE-Y-Cento
s-6
Importing GPG key 0xC105B9DE:
Userid:centos-6Key(CentOS 6 Official Signing Key)<cents-6-key@c
entos.org>
Package:centos-release-6-9.el6.12.3.x86_64(@anaconda-Cent0S-201703281317.x86_64/6.9)
From :/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing :epel-release-6-8.noarch 1/1
Verifying:epel-release-6-8.noarch 1/1
Installed:
epel-release.noarch 0:6-8
Complete!
root@cdh0 ~]# yum install -y autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib devel gcc gcc-c++ bzip2-devel cmake3 lrzsz ntp
Loaded plugins: fastestmirror,refresh-packagekit, security Setting up Install Process
Determining fastest mirrors
epel/metalink 4.8 kB 00:00
每台机器相同操作,软件安装完成
二、配置 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.cnpool.ntporg iburst
然后执行service ntpd start执行 chkconfig ntpd on
ntp 是时间同步的工具,确保系统时间无时无刻通过网络校对,确保时间一直准确。如果时间不准确在集群里有各种各样的问题。
确认当前时间,输入 date-r,时区是-0700不是中国时区
Complete!
[root@cdh0 ~]# date
Fri Sep 27 08:47:49 PDT 2019
[root@cdh0 ~]# date -r
date: option requires an argument --'r'
Try`date--help' for more information.
[root@cdh0 ~]# date -R
Fri, 27 Sep 2019 08:47:54 -0700
[root@cdh0 ~]
#
修改为中国时区使用 cp/user/share/zoneinfo/Asia/Shan
ghai/etc/localtime
,提示是否覆盖,输入 y 覆盖文件。
[root@cdh0~]#cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
cp: overwrite `/etc/localtime'? y
[root@cdh0 ~]#
每台机器相同操作
时区改为正确+0800时区,时间不准说明当前时间与外界时间不同步。
[root@cdh0 ~]# date -R
Fri, 27 Sep 2019 23:48:27 +0800
[root@cdh0 ~]#
使用 ntp 确保时间与外界时间同步,安装必要软件时安装了 ntp,执行 ntpdate -u 0.cn.pool.ntp.org
手动进行校队。
[root@cdh0~]#ntpdate-u0.cn.pool.ntp.org
27 Sep 15:49:05 ntpda
te[36081:step time server 84.16.73.33 offset -28800.016589 sec
[root@cdh0 ~]#
ntpdate -u 0.cn.pool.ntp.org
命令为 ntpdate 工具指向 u0.cn.po
ol.ntp.org 服务器,通过服务器进行时间比对。
执行完后查看当前时间为正确的时区、时间。
[root@cdh0 ~]# date -R
Fri, 27 Sep 2019 15:49:19 +0800
[root@cdh0 ~]#
每台机器相同操作
设置 ntp 服务,能够开机自启。
在 vim /etc/ntp.conf 文件配置,加入 server 0.cnpool.ntpo
rg iburst,提供了 server 0、1、2、3 cnpool.ntp.org 服务器。中国服务器访问外网比较慢,使用国内 ntp 服务,以最快的网络速度校队时间。编辑完后保存,每台机器相同操作。
server 0.cnpool.ntp.org iburst
server 1.cnpool.ntp.org iburst
server 2.cnpool.ntp.org iburst
server 3.cnpool.ntp.org iburst
输入两条命令将 ntp 设置为开机启动,设置 chkconfig ntpd on 表示开机启动,service ntpd start 启动 ntp 服务。
[
root@cdh0~]#vim/etc/ntp.conf
[root@cdh0 ~]# chkconfig ntpd on
[root@cdh0 ~]# service ntpd start
Starting ntpd:
[root@cdh0 ~]#
创建用户和组以及配置各自的 ssh 免密登录
配置 hadoop 需要提供默认用户比如 hdfs hive yarn mapred 用户。
# 添加一个hadoop组
groupadd hadoop
#添加用户
useradd hdfs -g hadoop-p hdfs
useradd hive -g hadoop -p hive
useradd yarn -g hadoop-p yarn
useradd mapred-g hadoop-p mapred
或者一条命令搞定:
Groupadd hadoop;useradd hadoop-g hadoop-p hadoop;userad
d hive-g hadoop-p hive;useradd yarn-g hadoop-p yarn;useradd mapred -g hadoop-pmapred
cdh0 可切换到 hdfs、hive、yanr、mapred
[root@cdh0~]#groupadd hadoop;useradd hdfs-g hadoop -p hdfs;useradd hive -g hadoop -p hive;useradd yarn -g hadoop-p yarn;useradd mapred-g hadoop-p mapre
[root@cdh0 ~]# su - hdfs
[hdfs@cdh0 ~]$ logout
[root@cdh0 ~]# su - hive
[hive@cdh0 ~]$ logout
[root@cdh0 ~]# su - yanr
su: user yanr does not exist
[root@cdh0 ~]# su - yarn
[yarn@cdh0 ~]$ logout
[root@cdh0~]# su - mapred
[mapred@cdh0 ~]$ logout
[root@cdh0 ~]#
设置ssh免密登录(可选)
可选,方便操作,课程演示做 root 账户的互相免密。在公司生产集群可以不设置 ssh 免密登录。
执行 ssh-keygen -t rsa 秘钥一路回车就可创建当前账户的 cd.ssh 文件夹有 cat id_rsa 私钥,cat id_rsa.pub 公钥,拿到 ssh 相关秘钥。
[root@cdh0 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa. Your publi
c key has been saved in /root/.ssh/id rsa.pub. The key fingerprint is:
[root@cdh0 ~]# cd
[root@cdh0 ~]#cd .ssh/
[root@cdh0 .ssh]#11
total 8
-rw------- 1 root root 1675 Sep 27 15:53 id_rsa
-rw-r--r--1root root 401 Sep 27 15:53id_rsa.pub
[root@cdh0 .ssh]# cat id_rsa
[root@cdh0 .ssh]#cat id_rsa.pub
每个机器有秘钥后,需要免密登录其它机器。如果当前在 cdh0,想要访问 cdh1需要输入 ssh-copy-id cdh1.itcast.cn cdh1的域名,回车。提示是否加入到已知的主机列表中点击 yes,输入 cdh1 的注册密码回车即可免密登录。
[root@cdh0 ~]# ssh-copy-id cdh1.itcast.cn
The authenticity of host 'cdh1.itcast.cn (192.168.66.201)’ can't be established.
RSA key fingerprint is 85:d9:4a:aa:97:cc:c0:61:46:71:c7:1b:66:35:
c8:55.
Areyou sure you want to continue connecting(yes/no)?yes
Warning:Permanently added'cdh1.itcast.cn,192.168.66.201’(RSA)
to the list of known hosts.
root@cdh1.itcast.cn's password:
Now try logging into the machine, with "ssh 'cdh1.itcast.cn'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expect
ing.
[root@cdh0 ~]
#
输入 ssh cdh1.itcast.cn
回车,直接切换到 cdh1 说明免密支付没问题。
[root@cdh0 ~]# ssh cdh1.itcast.cn
Last login: Fri Sep 27 22:35:56 2019 from 192.168.66.1
[root@cdh1~]#
其它机器相同配置,cdh0配置到各个机器。
输入 ssh cdh0 host cdh0 询问是否加入已知列别,copy id 时已加入,输入 ssh cdh0.itcast.cn 可直接过去。配置时以ssh cdh0.itcast.
cn 主机名配置,已经加入到主机列表中。使用简写名,去掉后面的域,没有加入到主机列表中,对于 cdh0 名字没有记录,输入yes 记录即可。输入 yes 可直接进入不需要密码,说明免密登录不管使用 cdh0 还是 cdh0.itcast.cn 都可免密登录,都是相同机器的相同名称,一个全称一个简写。
[root@cdh1 ~]# ssh cdh0
The authenticity of host 'cdh0(192.168.66.200)’can't beestablished
RSA key fingerprint is 85:d9:4a:aa:97:cc:c0:61:46:71:c7:1b:66:35:
c8:55
Are you sure you want to continue connecting(yes/no)?no Host ke
y verification failed.
[root@cdh1 ~]# ssh cdh0.itcast.cn
Last login:Fri Sep2715:55:122019 from cdh0.itcast.cn
[root@cdh0 ~]# logout
Connection to cdh0.itcast.cn closed.
[root@cdh1 ~]# ssh cdh0
The authenticitv of host'cdhe (192.168.66.200)’can't beestablished
RSA key fingerprint is 85:d9:4a:aa:97:cc:c0:61:46:71:c7:1b:66:35:
:c8:55
Are you sureyou want to continue connecting(yes/no)?yes
Warning: Permanently added 'cdh0’(RSA) to the list of known
hosts.
Last login: Fri Sep 27 15:56:16 2019 from cdh1.itcast.cn
[root@cdh0 ~]# logout
Connection to cdh0 closed.
[root@cdh1 ~]#ssh cdh0
Last login: Fri Sep 27 15:56:33 2019 from cdh1.itcast.cn
[root@cdh0 ~]# logout
Connection to cdh0 closed.
[root@cdh1 ~]#
[root@cdh1 ~]#
[root@cdh1 ~]#
[root@cdh1~]#ssh-copy-id cdh3.itcast.cn
Now try logging into the machine, with"ssh'cdh3.itcast.cn’
and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expect
ing.
其它机器相同测试
四台机器无论想要登录哪台机器都可以直接过去,免密登录。
[root@cdh1 ~]# ssh cdh1
Last login:Fri Sep2715:58:33 2019 from cdh3.itcast.cn
[root@cdh1 ~]# logout
Connection to cdh1 closed.
[root@cdh3 ~]#
三、上传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
hive yarn 都安装在 mkdir /bigdata 文件,在 cdh0、cdh1、cdh2 三台机器创建,cdh3 不是 hadoop 集群机器。
使用 rz 认证命令上传软件安装包,Kerberos 文件夹里有安装包上传 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 上传点击 ok。
上传完成
rw- -----.1 root root 3356 Sep 4 21:01 anaconda-ks.cfg
-rw-r--r--1root root 5144659 Sep 21 11:26 apache-maven-3.0.5-b
in.tar.gz
-rw-r--r--1 root root 433914863 Apr 17 09:51 hadoop-2.6.0-cdh5.
14.4.tar.gz
-rw-r--r--1 root root 128534546 Apr 17 09:50hive-1.1.0-cdh5.14.4.
tar.gz
-rw-r--r--. 1 root root 41915 Sep 4 21:01 install.log
-rw-r--r--. 1root root 9154 Sep 4 20:59 install.log.syslog
解压用 tar -zxvf 解压 hadoop 包使用-C指定解压路径,解压到 bigdata,回车。速度慢因为有 hadoop-2.6.0源码,压缩包并不大。
[root@cdh0~]#tar-zxvf hadoop-2.6.0-cdh5.14.4.tar.g
z-C/bigdata/
解压 hive
[root@cdh0~]#tar-zxvf hive-1.1.0-cdh5.14.4.tar.g
z-C/bigdata/
解压 apache-maven
[root@cdh0~]#tar-zxvf apache-maven -3.0.5-bin.tar.gz-C/bigdata
1查看 cd /bigdata,三个没问题。
[root@cdh0 ~]#cd /bigdata/
[root@cdh0 bigdata]# 11
total 12
drwxr-xr-x 6 root root 4096 Sep 27 16:02 apache-maven-3.0.5
drwxr-xr-x14 1106 4001 4096 Jun 12 2018 hadoop-2.6.0-cdh5.14.4
drwxr-xr-x11 1106 4001 4096 Jun 12 2018 hive-1.1.0-cdh5.14.4
[root@cdh0 bigdata]#
使用scp命令将/bigdata目录复制到 cdh1 和 cdh2 保存路径一致。
[root@cdh0 /]#scp -r /bigdata cdh1:/
[root@cdh0 /]#scp -r /bigdata cdh2:/
切换到 cdh1 和 cdh2,查看 cd /bigdata
[root@cdh1 ~]#cd /bigdata/
[root@cdh1 bigdata]# 11
total 12
drwxr-xr-x 6 root root 4096 Sep 27 16:03 apache-maven-3.0.5
drwxr-xr-x 14 root root 4096 Sep 27 16:03 hadoop-2.6.0-cdh5.14.4
drwxr-xr-x11 root root 4096 Sep 27 16:03 hive-1.1.0-cdh5.14.4
[root@cdh0 bigdata]#
没有问题,复制完成。
四、安装 jdk
上传 jdk1.7 和 jdk1.8 到服务器并解压
rz 命令上传 jdk1.7、jdk1.8
-rw-r--r--1 root root 142384385 Sep 10 11:00jdk-7u65-linux-x64.t
ar.gz
-rw-r--r--1 root root 195094741 Aug 30 10:34 jdk-8u221-linux-x64
tar.gz
解压 jdk1.7,-C命令指定解压到 user/local 目录下
[root@cdh0~]#tar-zxvf jdk-7u65-linux.tar.gz-C/user/local/
解压 jdk1.8,-C命令指定解压到 user/local 目录下
[root@cdh0~]#tar-zxvf jdk-8u221-linux-x64.tar.gz-C/user/local
使用 cd /usr/local/查看
[root@cdh0 ~]# cd /usr/local/
[root@cdh0 local]# 11
total 48
drwxr-xr-x. 2 root root 4096 Sep 23 2011 bin
drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc
drwxr-xr-x. 2 root root 4096 Sep 23 2011 games
drwxr-xr-x. 2 root root 4096 Sep 23 2011 include
drwxr-xr-x8 uucp143 4096 Jun 172014 jdk1.7.0 65
drwxr-xr-x 7 uucp 143 4096 Jul 4 19:37 jdk1.8.0 221
drwxr-xr-x.i 2 root root 4096 Sep 23 2011 lib
drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib64
drwxr-xr-x. 2 root root 4096 Sep 23 2011 libexec
drwxr-xr-x. 2 root root 4096 Sep 23 2011 sbin
drwxr-xr-x. 5 root root 4096 Sep 4 20:57 share
drwxr-xr-x. 2 root root 4096 Sep 23 2011 src
[root@cdh0 local]#
使用 scp 复制到其它机器,scp-r jdk1.7 到 cdh1 usr/local下,回车。
[root@cdh0 local]#scp-r jdk1.7.0_65 cdh1:usr/local/
复制到 cdh2
[root@cdh0 local]#scp-r jdk1.7.0_65 cdh2:usr/local/
jdk1.8 复制到 cdh1 usr/local
[root@cdh0 local]#scp-r jdk1.8.0_221 cdh1:usr/local/
jdk1.8 复制到 cdh2 usr/local
[root@cdh0 local]#scp-r jdk1.8.0_221 cdh2:usr/local/
检查 cdh1 cd/usr/local
[root@cdh1 ~]# cd /usr/local/
[root@cdh1 local]# 11
total 48
drwxr-xr-x. 2 root root 4096 Sep 23 2011 bin
drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc
drwxr-xr-x. 2 root root 4096 Sep 23 2011 games
drwxr-xr-x. 2 root root 4096 Sep 23 2011 include
drwxr-xr-x8 uucp143 4096 Jun 172014 jdk1.7.0 65
drwxr-xr-x 7 uucp 143 4096 Jul 4 19:37 jdk1.8.0 221
drwxr-xr-x.i 2 root root 4096 Sep 23 2011 lib
drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib64
drwxr-xr-x. 2 root root 4096 Sep 23 2011 libexec
drwxr-xr-x. 2 root root 4096 Sep 23 2011 sbin
drwxr-xr-x. 5 root root 4096 Sep 4 20:57 share
drwxr-xr-x. 2 root root 4096 Sep 23 2011 src
[root@cdh0 local]#
jdk1.7、jdk1.8 复制完成,cdh2 相同操作。
五、配置环境变量
配置 HADOOP_HOME、MAVEN_HOME、JAVA_HOME
JAVA_HOME 长期使用 jdk1.8, jdk1.7临时使用,HADOOP基于1.8运行。
导入 PATH,JAVA、HADOOP、MAVEN、HIVE 加入到 PATH
导入 LD_LIBRARY_PATH 是 hadoop 的本地库 lib/native,hadoop 用 JAVA 做,使用 C 语言更加方便,hadoop 使用C语言写一系列库放到 lib/native,以供更加高效操作系统。
export HADOOP_HOME=/bigdata/hadoop-2.6.0-cdh5.14.4
export MAVEN_HOME=/bigdata/apache-maven-3.0.5
export HIVE_HOME=/bigdata/hive-1.1.0-cdh5.14.4
export JAVA_HOME=/usr/local/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HA
DOOP_HOME/sbin:$MAVEN_HOME/bin:$HIVE_HOME/bin:$PATH
#export HADOOP_COMMON_LIB_NATIVE_DIR=SHADOP_HOME/lib/
native
#export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/li
b/native"
export LD_LIBRARY_PATH=SLD_LIBRARY_PATH:/bigdata/hadoop-2
6.0-cdh5.14.4/lib/native
复制粘贴,粘不上路径不同,修改路径即可。
cdh0 进入 vim/etc/profile 文件,粘贴保存,cdh1、cdh2相同操作。
sourace /etc/profile
测试 Javac-version
[root@cdh0 ~]# cd
[root@cdh0 ~]# sourace /etc/profile
[root@cdh0 ~]#Javac-version
测试没有问题,cdh1、cdh2相同操作。