社区 首页 教程频道

Hadoop集群安装部署

2019-10-8 17:13
一、所需环境和准备工作
1.三台服务器:master、slave1、slave2

修改每台服务器的hosts文件

[[email protected] ~]# vim /etc/hosts
添加内容:

192.168.1.100    master 
192.168.1.101    slave1 
192.168.1.102    slave2
重启服务器,使修改生效。

2.每台服务器都需要安装jdk

在官网下载jdk安装包:jdk-8u172-linux-x64.tar.gz

解压:

[[email protected] ~]# tar -zxvf jdk-8u172-linux-x64.tar.gz
将解压后的文件夹移动到相应的路径,并添加环境变量:

[[email protected] ~]# mv jdk1.8.0_172 /home/java
[[email protected] ~]# vim /etc/profile
添加如下内容:

JAVA_HOME=/usr/local/java/jdk1.8.0_172
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
使修改生效:

[[email protected] ~]# source /etc/profile
检查是否安装成功:

[[email protected] ~]# java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
3.设置免密登录

在三个节点分别执行如下命令:

[[email protected] ~]# ssh-keygen -t rsa 
不断的按回车键,生成id_rsa(私钥)和id_rsa.pub(公钥)。

将slave1和slave2节点的id_rsa.pub文件复制到master节点:

[[email protected] ~]# scp [email protected]:/root/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub-slave1
[[email protected] ~]# scp [email protected]:/root/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub-slave2
将三个id_rsa.pub文件内容合并到authorized_keys中:

[[email protected] ~]# cd .ssh
[[email protected] .ssh]# cat id_rsa.pub  id_rsa.pub-slave1  id_rsa.pub-slave2 > authorized_keys
将master节点的authorized_keys文件复制到另外两个节点的.ssh文件夹下:

#在slave1节点
[[email protected] ~]# scp [email protected]:/root/.ssh/authorized_keys  /root/.ssh
 
#在slave2节点
[[email protected] ~]# scp [email protected]:/root/.ssh/authorized_keys  /root/.ssh
检查是否能够成功免密登录:在任意节点执行ssh master、ssh slave1、ssh slave2,都不需要输入密码。

二、安装hadoop集群
1.在官网下载安装包:https://hadoop.apache.org/releases.html

2.解压:

[[email protected] ~]# tar -zxvf hadoop-2.9.0.tar.gz -C /home
3.在/home/hadoop-2.9.0目录下,创建tmp和dfs两个文件夹,在dfs文件夹下创建name和data文件夹。

4.修改core-site.xml

[[email protected] hadoop-2.9.0]# cd etc/hadoop/
[[email protected] hadoop]# vim core-site.xml 
<configuration>
    <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop-2.9.0/tmp</value>
    </property>
</configuration>
5.修改hadoop-env.sh



修改为自己jdk的安装路径。

6.修改hdfs-site.xml

<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>slave1:50090</value>
    </property>
 
    <!-- 设置namenode存放的路径 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop-2.9.0/dfs/name</value>
    </property>
 
    <!-- 设置hdfs副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 设置datanode存放的路径 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop-2.9.0/dfs/data</value>
    </property>
</configuration>
7.修改mapred-site.xml

<configuration>
 <!-- 通知框架MR使用YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
8.修改yarn-site.xml

<configuration>
 
<!-- Site specific YARN configuration properties -->
 <!-- 设置 resourcemanager 在哪个节点-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
 
    <!-- reducer取数据的方式是mapreduce_shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
 
    <property>
         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
         <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>
9.修改slaves文件

master节点修改为:

slave1
slave2
slave1和slave2节点修改为:

localhost
10.添加环境变量

[[email protected] ~]# vim /etc/profile
添加内容:

#hadoop
export HADOOP_HOME=/home/hadoop-2.9.0
export PATH=$PATH:$HADOOP_HOME/bin
使修改内容生效:

[[email protected] ~]# source /etc/profile
11.格式化namenode:

在bin目录下执行

[[email protected] bin]# ./hdfs namenode -format
12.启动hadoop:

在sbin目录下

[[email protected] sbin]# sh start-all.sh


路过

雷人

握手

鲜花

鸡蛋
粉丝 阅读32 回复0
上一篇:
Hadoop集群节点扩展发布时间:2019-10-08
下一篇:
检测远程mysql 是否开启发布时间:2019-10-10

周一至周日9:00-18:00

反馈建议

service#bjjem.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! © 2001-2019