文章目录
  1. 1. Hadoop 集群搭建
    1. 1.1. 服务器
    2. 1.2. 安装Java环境
    3. 1.3. 安装 openssl-server
    4. 1.4. 免密登陆
    5. 1.5. 安装hadoop
    6. 1.6. 配置文件
    7. 1.7. 环境变量
    8. 1.8. 复制
    9. 1.9. 测试

Hadoop 集群搭建

Hadoop (官网) 集群,由于版本有出入,最后的变化的就只有文件名而已,但是需要特别注意。

服务器

同一局域网的两台服务器,操作系统一般为 64 位的 Linux,这里选择是的 Ubuntu Desktop 18.04 LTS 下载链接

主机名 IP地址
master 192.168.x.y
salve 192.168.x.z

安装Java环境

1
2
3
4
5
6
7
8
9
10
11
12
// 导入Webupd8 PPA
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

// 安装
sudo apt-get install oracle-java8-installer

// 设置为默认jdk
sudo apt install oracle-java8-set-default

// 测试
java -version

java环境 验证成功

/etc/profile 文件中,加入 Java 路径:

1
2
3
4
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

安装 openssl-server

1
sudo apt-get install openssl-server

免密登陆

在每台电脑将 /etc/hosts 内容如下:

1
2
3
127.0.0.1       localhost
192.168.x.y master
192.168.x.z slave

然后通过 ping + hostname 来看是否能够相互ping通。

在 master 上,运行如下命令,

1
ssh-keygen -t rsa -P

一路回车,在 ~/.ssh/ 路径下会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)

1
ssh-copy-id slave

将该台机器的公钥拷贝到要免密码登录的机器上,然后进行测试。

1
ssh slave

安装hadoop

版本为2.8.0,安装与解压。

1
2
3
sudo mkdir /usr/local/hadoop/
wget http://archive.apache.org/dist/hadoop/common/hadoop-2.8.0/hadoop-2.8.0.tar.gz
sudo tar -zxvf hadoop-2.8.0.tar.gz -C /usr/local/hadoop/

\etc\profile 文件中,加入 hadoop 路径:

1
2
export HADOOP_HOME=/usr/local/hadoop-2.8.0
export PATH=$PATH:$HADOOP_HOME/bin

首先创建hadoop需要用到的目录:

1
2
3
sudo mkdir /usr/local/hadoop/tmp
sudo mkdir /usr/local/hadoop/name
sudo mkdir /usr/lib/hadoop/data

重启系统后,进行验证:

1
hadoop version

hadoop 验证成功

配置文件

hadoop-env.sh 文件中添加环境变量。

1
2
3
4
5
# The java implementation to use.
export JAVA_HOME=/usr/lib/jvm/java-8-oracle

export HADOOP_HOME=/usr/local/hadoop/hadoop-2.8.0
export PATH=$PATH:/usr/local/hadoop/hadoop-2.8.0/bin

core-site.xml 文件中添加配置。

  • fs.defaultFS:Overview 访问 ip 地址与端口,一般 ip 地址为 master 节点的 ip 地址,端口号为9000。
  • hadoop.tmp.dir:临时文件路径。
1
2
3
4
5
6
7
8
9
10
11
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.x.y:9000</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>

mapred-site.xml 文件中配置集群框架,使用 yarn 集群。

1
2
3
4
5
6
7
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

hdfs-site.xml 文件中,指定数据的相关的配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<configuration>
<!-- 设置namenode的http通讯地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>

<!-- 设置secondarynamenode的http通讯地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave:50090</value>
</property>

<!-- 设置namenode存放的路径 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/name</value>
</property>

<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

<!-- 设置datanode存放的路径 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data</value>
</property>

</configuration>

slave 文件中配置主从节点的 ip 地址。

1
2
192.168.x.y
192.168.x.z

环境变量

为了方便,将路径添加至环境变量文件中。

1
sudo vim /etc/environment

在末尾添加:

1
:/usr/local/hadoop/hadoop-2.8.0/bin:/usr/local/hadoop/hadoop-2.8.0/sbin

复制

将以上在 master 结点修改后的文件,传送到所有的 salve 结点,以及在 slave 节点上,也要安装 java。

1
2
3
scp /etc/profile salve:/etc/
scp /etc/environment salve:/etc/
scp -r /usr/local/hadoop-2.8.0 salve:/etc/local/

测试

/usr/local/hadoop/hadoop-2.8.0/sbin 路径下,输入如下命令启动集群。

1
./start-all.sh

在 master 中输入 jps 命令:

master jps 结果

在 slave 中输入 jps 命令:

slave jps 结果

在浏览器中输入 master 结点的 ip 地址加上端口号,前文中配置的是 50070,最后显示结果如下:

192.168.x.y:50070

hadoop集群

安装成功!

文章目录
  1. 1. Hadoop 集群搭建
    1. 1.1. 服务器
    2. 1.2. 安装Java环境
    3. 1.3. 安装 openssl-server
    4. 1.4. 免密登陆
    5. 1.5. 安装hadoop
    6. 1.6. 配置文件
    7. 1.7. 环境变量
    8. 1.8. 复制
    9. 1.9. 测试