环境搭建-02-配置 ntp 设置用户以及上传软件包|学习笔记

简介: 快速学习环境搭建-02-配置 ntp 设置用户以及上传软件包

开发者学堂课程【快速掌握 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.cnThe 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_keysto 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 cdh0The 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 cdh0The 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)?yesWarning: 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_keysto 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。

image.png

上传完成

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.gz-C/bigdata/

解压 hive

[root@cdh0~]#tar-zxvf hive-1.1.0-cdh5.14.4.tar.gz-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相同操作。

相关文章
|
存储 传感器 编解码
中科星图——MOD11A1 V6数据集(Terra星搭载的中分辨率成像光谱仪获取的地表温度/发射率(LST/E)产品)
中科星图——MOD11A1 V6数据集(Terra星搭载的中分辨率成像光谱仪获取的地表温度/发射率(LST/E)产品)
349 5
|
Android开发
KernelSU基于内核的 SU。它通过自定义内核,直接在内核中赋予目标进程 root 权限。
KernelSU基于内核的 SU。它通过自定义内核,直接在内核中赋予目标进程 root 权限。
4629 0
|
2月前
|
Arthas 数据可视化 Java
深入理解JVM《火焰图:性能分析的终极可视化利器》
火焰图是Brendan Gregg发明的性能分析利器,将复杂调用栈可视化为“火焰”状图形,直观展示函数耗时与调用关系。通过宽度识别热点函数,结合async-profiler或Arthas工具生成,助力快速定位CPU、内存等性能瓶颈,提升优化效率。
|
计算机视觉
Emgu.CV 报错 Emgu.CV.Util.CvException: OpenCV
Emgu.CV 报错 Emgu.CV.Util.CvException: OpenCV 异常信息:Emgu.CV.Util.CvException: OpenCV: 在 Emgu.CV.CvInvoke.CvErrorHandler(Int32 status, IntPtr funcName, IntPtr errMsg, IntPtr fileName, Int32 line, I...
370 1
|
机器学习/深度学习 人工智能 自然语言处理
如何从0到1开始并一步步巩固自己的AI职业生涯
2024年,AI领域的技术革新正在重塑各行业的运营模式。本文结合吴恩达发布的《如何构建AI职业生涯》及最新的AI技术进展,为信息技术和计算机科学领域的毕业生及从业者提供详细的职业发展指南。内容涵盖基础技能的掌握、项目实践、团队合作、生成式大模型与AI基础设施的发展,以及职业发展中的挑战与应对策略。通过扎实的学习和实践,帮助读者逐步建立并巩固AI职业生涯。
1134 1
|
9月前
|
运维 Cloud Native Java
postman发起post请求遇到报错:java.io.FileNotFoundException (文件名、目录名或卷标语法不正确。)
遇到bug报错,多猜可能的原因,控制变量反复测试,直至找到问题的关键,然后再思考如何解决或者回避。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
|
SQL 关系型数据库 Go
Golang ORM框架介绍及比较
Golang ORM框架介绍及比较
|
SQL 安全 Linux
Kali Linux中的SQL注入攻击如何进行
Kali Linux中的SQL注入攻击如何进行
549 0
|
自然语言处理
【NLP】如何实现快速加载gensim word2vec的预训练的词向量模型
本文探讨了如何提高使用gensim库加载word2vec预训练词向量模型的效率,提出了三种解决方案:保存模型以便快速重新加载、仅保存和加载所需词向量、以及使用Embedding工具库代替word2vec原训练权重。
913 2
Trying to access array offset on value of type null
你就可以避免在null值上尝试访问数组偏移量的错误。 总的来说,当你遇到这个错误时,你应该回顾你的代码,确保在尝试访问数组偏移量之前,相关的变量已经被正确地初始化为一个数组,并且不是null。
3005 4