Hadoop 伪分布式安装

说明

安装环境

1
2
3
4
5
操作系统: CentOS7 mini 

JDK 安装包: jdk-8u161-linux-x64.tar.gz

Hadoop 安装包: hadoop-2.6.0-cdh5.7.0.tar.gz

注意事项

CentOS7 mini 需要配置双网卡

虚拟机里的 JDK 版本要和物理机的一致,从 Oracle 官网下载。

Hadoop 安装包下载地址,注意版本一致。

前期准备

安装虚拟机

安装虚拟机 CentOS7 mini,过程略。

下载相关安装包

在注意事项中提供了相关资源下载的链接或方法。

验证环境

给 CentOS7 mini 配置双网卡

在虚拟机中 ping 物理机地址和 baidu.com ,验证其内外网的连通性。

通过 XShell 5 进行远程连接,方便后面的操作。

安装 JDK

上传并解压安装包

在 Oracle 官网下载 JDK 在 Linux 下的安装包 jdk-8u161-linux-x64.tar.gz

在根目录下创建 app 目录,用 Xftp 将本地下载好的 JDK 包传输到 app 目录

解压到指定目录

1
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /app/

配置 Java 环境变量

配置系统环境变量

1
2
3
4
vi ~/.bash_profile

export JAVA_HOME=/app/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH

让配置生效

1
source  ~/.bash_profile

在命令行中输入 java 验证。

安装 ssh

安装命令

1
yum install ssh

生成 ssh 的 key

1
2
3
4
5
6
7
8
9
10
11
12
13
# 生成 ssh 的 key

ssh-keygen -t rsa

用 ls -la 命令找到隐藏文件 .ssh 并 cd 进去

# 备份 id_rsa.pub

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

# 在 .ssh 目录下查看 authorized_keys

cat authorized_keys

验证

1
2
3
4
5
6
7
# 免密码登陆

ssh localhost

# 退出

exit

Hadoop 环境配置

下载、上传、解压 Hadoop 安装包

Hadoop 安装包 hadoop-2.6.0-cdh5.7.0.tar.gz 下载地址

用 Xftp 把下载好的安装包上传到 /app 目录下

解压到指定目录

1
tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C /app/

修改配置文件

/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop 下修改配置文件

hadoop-env.sh

1
2
3
#注释掉 export JAVA_HOME=${JAVA_HOME} 并添加如下:

export JAVA_HOME=/app/jdk1.8.0_161

core-site.xml

1
2
3
4
5
6
7
8
9
<property>
<name>fs.defaultFS</name>
<value>hdfs://bs1:8020</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/app/tmp</value>
</property>

hdfs-site.xml

1
2
3
4
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

slaves

1
2
3
vi slaves

# 把 localhost 改为你设定的主机名

启动 hdfs

格式化 hdfs (PS: 仅第一次执行)

bin 目录下执行

1
./hdfs namenode -format

sbin 目录下执行以下脚本启动 hdfs

1
./start-dfs.sh

验证是否启动 hdfs

方法一:

1
2
3
4
5
6
7
jps

# 出现以下三个进程则为正常启动

NameNode
DataNode
SecondaryNameNode

方法二:

CentOS7 关闭防火墙,出于安全和方便的考虑,这里采用暂时关闭防火墙,实际应用时应设定相应的防火墙规则。

外部物理机应该在 hosts 文件中加入一条 “虚拟机主机名   ip 地址”的解析。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#查看防火墙的状态

systemctl status firewalld.service

# 开启防火墙

systemctl start firewalld.service

# 关闭防火墙

systemctl stop firewalld.service

#开机启用防火墙

systemctl enable firewalld.service

#开机禁用防火墙

systemctl disable firewalld.service

通过在物理机的浏览器地址栏输入以下访问 WebUI

1
http://虚拟机的主机名:50070

停止 hdfs

sbin 目录下执行以下脚本停止 hdfs

1
./stop-dfs.sh

配置 Hadoop 环境变量

配置系统环境变量

1
2
3
4
vi ~/.bash_profile

export HADOOP_HOME=/app/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH

让配置生效

1
source  ~/.bash_profile

在命令行中输入 hadoop 验证。

------ 本文结束------
如果对您有帮助的话请我喝瓶水吧!