Hadoop 安装
安装准备
1.两台装有 ubuntu16.04 或者更新版本操作系统的物理机或虚拟机
主机名
master
slave01
其中 master 节点作为 hadoop 集群中 namenode,slave01 节点作为 hadoop 集群中 datanode.
2.Xshell,Xftp
3.本次安装是 ubuntu16.04+ hadoop-2.9.1.tar.gz+jdk-8u74-linux-x64.tar.gz。如果版本不同,参
考 Hadoop 官网 http://hadoop.apache.org/docs/
主机 ip
172.19.5.33
172.19.5.34
练习一:更改主机名等信息
Step1:更改主机名
1.在 master 节点中添加集群中主机 ip,域名
root@master:~# vim /etc/hosts
172.19.5.33 master
172.19.5.34 slave01
2.在 master 节点中更改主机名,将原来的主机名更改为 master。
root@master:~# vim /etc/hostname
master
3.在 slave01 节点中添加集群中主机 ip,域名
root@slave01:~# vim /etc/hosts
172.19.5.33 master
172.19.5.34 slave01
4. 在 slave01 节点中更改主机名,将原来的主机名更改为 slave01。
root@slave01:~# vim /etc/hostname
slave01
5.重启 master,slave01 节点
练习二:ssh 免密登录
Step1:在 master 和 slave01 节点设置 root 登录密码
1.在 master 节点设置登录密码
root@master: ~# sudo passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Root 用户密码设置成功
2.在 master 节点配置文档,允许其它节点通过免密登录方式登录 master 节点
root@master: ~ # vim /etc/ssh/sshd_config
PermitRootLogin yes
配置成功后,重启 ssh 服务
root@master: ~# /etc/init.d/ssh restart
[ ok ] Restarting ssh (via systemctl): ssh.service.
3.在 slave01 节点重复 1,2 步骤。
Step2:master 节点免密登录
1.在 su 状态下设置免密登录
root@master:~# su
2.生成秘钥对
root@master:~# 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 public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:hfPzND40zums9eU1vAqnDjEyZyD1MsRW9GG1iJKktpY root@master
The key's randomart image is:
+---[RSA 2048]----+
|
|
|
|
.+oo o..
=oo.+ o .
+.*oo.o .
. + =+
|
|
|
|
.
= oO +.
E oS=o =
|
|
. .O. oo|
.++o o+|
o+o.o..|
|
|
|
|
|
+----[SHA256]-----+
3.添加 master 需要 ssh 免密登录访问的主机,也就是 slave01
root@master:~# ssh-copy-id slave01
4.验证是否可以免密登录 slave01
root@master:~# ssh slave01
登录成功。
通过 exit 退出登录
Stp3:slave01 节点免密登录
1.在 su 状态下设置免密登录
root@slave01:~# su
2. 生成秘钥对
root@slave01:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
o*B|
. .o|
. .
o .|
= o ....|
S * =. . |
+ =.o.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:rUtiW73upps0M2cHliTf5mcMVhRNFU16i8teSuKCN8o root@slave01
The key's randomart image is:
+---[RSA 2048]----+
|
|
|
|
|
|
|
|
|
+----[SHA256]-----+
3. 添加 slave01 需要 ssh 免密登录访问的主机
root@slave01:~# ssh-copy-id master
a.pub"
out any that are already installed
ted now it is to install the new keys
root@master's password:
|
o X +.o++. |
..B %oo+oo |
.EB**. o
|
Number of key(s) added: 1
Now try logging into the machine, with:
and check to make sure that only the key(s) you wanted were added.
4.验证 slave01 节点是否可以免密登录 master 节点
root@slave01:~# ssh master
"ssh 'master'"
Slave01 节点可以免密登录 master 节点。
通过 exit 退出。
练习三:安装 java
Step1:master 节点安装 java
Java 下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
1.通过 xftp 将 jdk 安装包发送到 master 节点,记住 jdk 安装包的路径,第 3 步需要用.
jdk-8u74-linux-x64.tar.gz
2.在/usr 中创建 java 目录
root@master:/usr# mkdir java
3.将 jdk 安装包解压到/usr/java 路径下
root@master:/home/ubuntu# ls
hadoop-2.9.1.tar.gz
root@master:/home/ubuntu# tar -zxvf jdk-8u74-linux-x64.tar.gz -C /usr/java
4.在 /etc/profile 文档末尾中添加 java 环境变量
root@master:~# vim /etc/profile
在 profile 中,添加以下信息
export JAVA_HOME=/usr/java/jdk1.8.0_74
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
5.执行 /etc/profile,使环境变量生效
root@master:~# source /etc/profile
6.验证 java 环境是否配置成功
root@master:~# java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
root@master:~# javac -version
javac 1.8.0_74
Java 环境配置成功。
Step2:在 slave01 节点配置 java 环境
1.在 slave01 节点中,在/usr 中创建 java 目录
root@slave01:/usr# mkdir java
2.在 master 节点将/usr/java 中 jdk1.8.0_74 文件发送到 slave01 节点
root@master:/usr/java# scp -r jdk1.8.0_74 root@slave01:/usr/java
db
release
src.zip
include
jre
man
确认 master 中 jdk1.8.0_74 文件成功发送到 slave01 /usr/java 路径下
root@slave01:/usr/java/jdk1.8.0_74# ls
javafx-src.zip lib
bin
THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT
THIRDPARTYLICENSEREADME.txt
3.在/etc/profile 文档末尾添加 java 环境变量
root@slave01:~# vim /etc/profile
在 profile 中,添加以下信息
export JAVA_HOME=/usr/java/jdk1.8.0_74
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
LICENSE README.html
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
执行 /etc/profile,试环境变量生效
root@slave01:~# source /etc/profile
4. 验证 java 环境是否配置成功
root@slave01:~# java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
root@slave01:~# javac -version
javac 1.8.0_74
Java 环境配置成功
练习四 master 节点安装、配置 hadoop
Hadoop 软件可以在官网上下载:https://archive.apache.org/dist/hadoop/common/
里面可以选择下载版本,然后下载 .tar.gz 文件
Step1:master 安装 hadoop
include
lib libexec
sbin share
jdk-8u74-linux-x64.tar.gz
LICENSE.txt NOTICE.txt README.txt
1.通过 xftp 将 hadoop-2.9.1.tar.gz 从本地发送到 master 节点,记住 hadoop-2.9.1.tar.gz 的路
径。
2.将 hadoop-2.9.1.tar.gz 解压到 /usr/local 路径下
root@master:/home/ubuntu# ls
hadoop-2.9.1.tar.gz
root@master:/home/ubuntu# tar -zxvf hadoop-2.9.1.tar.gz -C /usr/local
解压后
root@master:/usr/local/hadoop-2.9.1# ls
bin etc
3.在/etc/profile 中配置 hadoop 环境变量
root@slave01:~# vim /etc/profile
在 profile 中添加以下内容:
export HADOOP_HOME=/lib/hadoop/hadoop2.9.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
因为 profile 中含有 java 环境变量,将两个配置合在一起之后添加到 profile 中:
export JAVA_HOME=/usr/java/jdk1.8.0_74
export HADOOP_HOME=/usr/local/hadoop-2.9.1
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$HADOOP_HOME/s
bin
执行 /etc/profile,试环境变量生效
root@master:~# source /etc/profile
4.修改 hadoop 的 hadoop-env.sh,修改 JAVA_HOME 的路径
root@master:/usr/local/hadoop-2.9.1# vim etc/hadoop/hadoop-env.sh