0


Hadoop3.1.3完全分布式安装(Centos7.x)

一、环境准备

节点名称【主机名】IPmaster170.158.10.101slave1170.158.10.102slave2170.158.10.103

  • 关闭防火墙

# 在root用户下执行
systemctl stop firewalld
systemctl disable firewalld.service
  • 修改主机配置文件

vim /etc/hosts

# 添加以下内容
170.158.10.101 master
170.158.10.102 slave1
170.158.10.103 slave2
  • 修改主机名

# 使用以下的命令
vim /etc/hostname
  • 创建用户

# 2、创建用户,在root用户下
useradd hadoop
passwd hadoop
  • 创建目录

cd /usr/local

# 存放安装好的软件
mkdir server

# 存放安装包
mkdir software 

# 给server和software授权 
chown -R hadoop:hadoop ./server
chown -R hadoop:hadoop ./software

# 其他两个节点做以上相同的操作
  • 配置当前非root用户具有root的权限

# vim /etc/sudoers

# 在这%whell这一行下面添加hadoop
#Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
hadoop   ALL=(ALL)     NOPASSWD:ALL
  • ssh免密登录

# 在命令行输入,根据提示输入密码即可
ssh localhost

# 切换到~/.ssh目录下
cd ~/.ssh

# 输入以下命令,期间连续按三次回车
ssh-keygen -t rsa

# 分发密钥,期间在输入密码即可免密登录
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2 

# 三个节点依次按照以上命令操作,再次输入ssh 相应的主机名,已经不需要密码登录master、slave1、slave2节点了

二、JDK的安装

  • 卸载系统自带的JDK

# 查看系统自带的jdk
rpm -qa | grep jdk

# 卸载找到的jdk
yum -y remove 找到的jdk

# 或者使用以下的命令删除
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 

# 安装jdk,安装包可以到官网进行下载

三、安装haddoop

  • 下载hadoop-3.1.3

链接:Index of /dist/hadoop/core/hadoop-3.1.3http://archive.apache.org/dist/hadoop/core/hadoop-3.1.3/hadoop-3.1.3.tar.gzIndex of /dist/hadoop/core/hadoop-3.1.3

  • 解压下载好的安装包

tar -zxvf hadoop-3.1.3/hadoop-3.1.3.tar.gz -C /usr/local

四、配置hadoop配置文件

  • core-site.xml

<configuration>
    <!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:8020</value>
    </property>

    <!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-3.1.3/data</value>
    </property>

    <!-- 配置HDFS网页登录使用的静态用户为hadoop -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>hadoop</value>
    </property>
</configuration>
  • hdfs-site.xml

<configuration>
    <!-- NameNode web端访问地址-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:9870</value>
    </property>
    <!-- SecondNameNode web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9868</value>
    </property>
</configuration>
  • mapred-site.xml

<configuration>
    <!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- 历史服务器端地址 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>slave1:10020</value>
    </property>

    <!-- 历史服务器web端地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>salve1:19888</value>
    </property>
</configuration>
  • yarn-site.xml

<configuration>
    <!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>slave2</value>
    </property>

    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
      <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>

    <!-- 开启日志聚集功能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>

    <!-- 设置日志聚集服务器地址 -->
    <property>  
        <name>yarn.log.server.url</name>  
        <value>http://slave1:19888/jobhistory/logs</value>
    </property>

    <!-- 设置日志保留时间为7天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
</configuration>
  • workers

master
slave1
slave2

五、将jdk、hadoop分发到slave1、slave2节点

scp -r /usr/local/server/jdk1.8.0_301  hadoop@slave1:/usr/local/server
scp -r /usr/local/server/jdk1.8.0_301  hadoop@slave2:/usr/local/server

scp -r /usr/local/server/hadoop-3.1.3  hadoop@slave1:/usr/local/server
scp -r /usr/local/server/hadoop-3.1.3  hadoop@slave2:/usr/local/server

六、hdfs格式化

# 切换到bin目录下
cd /usr/local/hadoop-3.1.3/bin

# 格式化namenode
./bin/hdfs namenode -format

七、环境变量配置

vim /etc/profile.d/my_env.sh

# 每台节点都添加以下内容
export JAVA_HOME=/usr/local/server/jdk1.8.0_301
export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/usr/local/server/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

八、集群启动

# master节点
start-dfs.sh

# slave1节点
mapred --daemon start historyserver

# slave2节点
start-yarn.sh

九、进程查看

# master节点有NameNode和SecondNameNode说明启动成功
# slave1和slave2有DataNode
# slave2有ResourceManager和NodeManager

十、WEB UI查看

# http://master:9870
# http://slave2:19888
标签: 分布式 hadoop hdfs

本文转载自: https://blog.csdn.net/weixin_52851430/article/details/124499792
版权归原作者 骑机车爱撩Java的富仔 所有, 如有侵权,请联系我们删除。

“Hadoop3.1.3完全分布式安装(Centos7.x)”的评论:

还没有评论