linux 安装hadoop集群

安装jdk

安装hadoop

  1. 解压安装包
# 进入/opt/software目录
cd /opt/software
# 解压jdk到/opt/module/目录下
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
  1. 配置Hadoop环境变量
# 进入/etc/profile.d/目录下
cd /etc/profile.d/

# 在/etc/profile.d/文件下新建一个my_env.sh文件, 里面用来存放自己安装软件的环境变量信息
vim /etc/profile.d/my_env.sh

# 在/etc/profile.d/my_env.sh中添加Hadoop环境变量信息
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

# source一下/etc/profile文件,让新的环境变量PATH生效
source /etc/profile	

# 查看是否安装成功, 如果出现版本号就说明安装成功
hadoop version

# 如果java -version命令没有出现版本号, 就需要重启系统
reboot

配置SSH无密码登录

3. 配置hadoop

3.1 核心配置文件: core-site.xml

cd $HADOOP_HOME/etc/hadoop
vim core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

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

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

3.2 HDFS配置文件 : hdfs-site.xml

cd $HADOOP_HOME/etc/hadoop
vim hdfs-site.xml

默认的 configuration 标签中的内容是空的, 我们加上以下内容

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop102:9870</value>
    </property>
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop104:9868</value>
    </property>
</configuration>

3.3 YARN配置文件: yarn-site.xml

cd $HADOOP_HOME/etc/hadoop
vim yarn-site.xml

默认的 configuration 标签中的内容是空的, 我们加上以下内容

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</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>
</configuration>

3.4 MapReduce配置文件: mapred-site.xml

cd $HADOOP_HOME/etc/hadoop
vim mapred-site.xml

默认的 configuration 标签中的内容是空的, 我们加上以下内容

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

<!-- 历史服务器端地址 -->
   <property>
       <name>mapreduce.jobhistory.address</name>
       <value>hadoop102:10020</value>
   </property>

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

3.5 配置workers

vim /opt/module/hadoop-3.1.3/etc/hadoop/workers

在文件中增加下面内容, 集群上有几个节点, 这里就配置几个

hadoop102
hadoop103
hadoop104

给其他节点同步配置文件

/bin/xsync /opt/module/hadoop-3.1.3/etc/hadoop/

3.6 在hadoop102节点格式化NameNode

cd /opt/module/hadoop-3.1.3
# 如果集群是第一次启动,需要在hadoop102节点格式化NameNode
hdfs namenode -format

3.7 分发集群配置

/bin/xsync /opt/module/hadoop-3.1.3/etc/hadoop/

3.8 集群群起脚本

3.8.1 集群同时启动与停止脚本
cd /opt/module/hadoop-3.1.3/sbin
vim /opt/module/hadoop-3.1.3/sbin/myhadoop.sh
#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi

case $1 in
"start")
        echo " =================== 启动 hadoop集群 ==================="

        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="

        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
    echo "Input Args Error..."
;;
esac

给脚本执行权限

chmod +x myhadoop.sh
3.8.2 查看三台服务器Java进程脚本
cd /opt/module/hadoop-3.1.3/sbin
vim jpsall.sh
#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
        echo =============== $host ===============
        ssh $host jps 
done

给脚本执行权限

chmod +x jpsall.sh

给整个集群同步刚刚编辑的两个脚本

/bin/xsync /opt/module/hadoop-3.1.3/sbin
3.8.4 测试脚本
# 启动集群
myhadoop.sh start
# 停止集群
myhadoop.sh stop
# 查看三台服务器Java进程
jpsall.sh

测试效果

[atguigu@hadoop102 sbin]$ myhadoop.sh start
 =================== 启动 hadoop集群 ===================
 --------------- 启动 hdfs ---------------
Starting namenodes on [hadoop102]
Starting datanodes
Starting secondary namenodes [hadoop104]
 --------------- 启动 yarn ---------------
Starting resourcemanager
Starting nodemanagers
 --------------- 启动 historyserver ---------------
[atguigu@hadoop102 sbin]$ jpsall.sh
=============== hadoop102 ===============
4739 Jps
4149 DataNode
4472 NodeManager
4648 JobHistoryServer
3996 NameNode
=============== hadoop103 ===============
3507 DataNode
3716 ResourceManager
3850 NodeManager
4222 Jps
=============== hadoop104 ===============
3155 SecondaryNameNode
3412 Jps
3268 NodeManager
3032 DataNode

3.9 Web端查看集群信息

关闭hadoop102、hadoop03、hadoop104 的防火墙

systemctl stop firewalld

浏览器中输入:http://hadoop102:9870
查看HDFS上存储的数据信息

在这里插入图片描述

浏览器中输入:http://hadoop103:8088
查看YARN上运行的Job信息

在这里插入图片描述
Web端查看历史服务信息 http://hadoop102:19888/jobhistory
在这里插入图片描述

查看日志聚集
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值