Linux部署hadoop2

ops/2024/10/18 6:02:37/
  1. Java设置;

  2. 创建hadoop要用到的文件夹;

  3. hadoop设置;

  4. 格式化hdfs;

  5. 启动hadoop;

  6. 验证hadoop;

接下来就逐步开始吧;

机器规划

本次实战用到了三台CentOS7的机器,身份信息如下所示:

| IP地址 | hostname(主机名) | 身份 |

| — | — | — |

| 192.168.119.163 | node0 | NameNode、ResourceManager、HistoryServer |

| 192.168.119.164 | node1 | DataNode、NodeManager |

| 192.168.119.165 | node2 | DataNode、NodeManager、SecondaryNameNode |

Linux设置(三台电脑都要做)

  1. 修改文件/etc/hostname,将三台电脑的内容分别改为node0、node1、node2;

  2. 修改文件/etc/hosts,在尾部增加以下三行内容:

192.168.119.163 node0

192.168.119.164 node1

192.168.119.165 node2

  1. 关闭防火墙,并禁止启动:

systemctl stop firewalld.service && systemctl disable firewalld.service

  1. 关闭SELINUX,打开文件/etc/selinux/config,找到SELINUX的配置,改为SELINUX=disabled;

创建用户和用户组

  1. 执行以下命令创建用户和用户组:

groupadd hadoop && useradd -d /home/hadoop -g hadoop -m hadoop

  1. 创建完账号后记得用命令passwd初始化hadoop账号的密码;

SSH免密码设置

node0、node1、node2三台机器之间要设置SSH免密码登录,详细的设置步骤请参考《Linux配置SSH免密码登录(非root账号)》;

改用hadoop账号登录

后面在三台机器上的所有操作,都是用hadoop账号进行的,不再使用root账号;

文件下载

  1. 将JDK安装文件jdk-8u191-linux-x64.tar.gz下载到hadoop账号的家目录下;

  2. 将hadoop安装文件hadoop-2.7.7.tar.gz下载到hadoop账号的家目录下;

  3. 下载完毕后,家目录下的内容如下所示:

[hadoop@node0 ~]$ ls ~

hadoop-2.7.7.tar.gz jdk-8u191-linux-x64.tar.gz

JDK设置(三台电脑都要做)

  1. 解压jdk-8u191-linux-x64.tar.gz文件:

tar -zxvf ~/jdk-8u191-linux-x64.tar.gz

  1. 打开文件~/.bash_profile,在尾部追加以下内容:

export JAVA_HOME=/home/hadoop/jdk1.8.0_191

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.: J A V A H O M E / l i b : {JAVA_HOME}/lib: JAVAHOME/lib:{JRE_HOME}/lib

export PATH= J A V A H O M E / b i n : {JAVA_HOME}/bin: JAVAHOME/bin:PATH

  1. 执行命令source ~/.bash_profile使得JDK设置生效;

  2. 执行命令java -version确认设置成功:

[hadoop@node0 ~]$ java -version

java version “1.8.0_191”

Java™ SE Runtime Environment (build 1.8.0_191-b12)

Java HotSpot™ 64-Bit Server VM (build 25.191-b12, mixed mode)

创建hadoop要用到的文件夹(三台电脑都要做)

创建文件夹,后面hadoop会用到:

mkdir -p ~/work/tmp/dfs/name && mkdir -p ~/work/tmp/dfs/data

hadoop设置

  1. 以hadoop账号登录node0;

  2. 解压hadoop安装包:

tar -zxvf hadoop-2.7.7.tar.gz

  1. 进入目录~/hadoop-2.7.7/etc/hadoop;

  2. 依次编辑hadoop-env.sh、mapred-env.sh、yarn-env.sh这三个文件,确保它们的内容中都有JAVA_HOME的正确配置,如下:

export JAVA_HOME=/home/hadoop/jdk1.8.0_191

  1. 编辑core-site.xml文件,找到configuration节点,改成以下内容:

fs.defaultFS

hdfs://node0:8020

hadoop.tmp.dir

/home/hadoop/work/tmp

dfs.namenode.name.dir

file://${hadoop.tmp.dir}/dfs/name

dfs.datanode.data.dir

file://${hadoop.tmp.dir}/dfs/data

  1. 编辑hdfs-site.xml文件,找到configuration节点,改成以下内容,把node2配置成sendary namenode:

dfs.namenode.secondary.http-address

node2:50090

  1. 编辑slaves文件,删除里面的"localhost",增加两行内容:

node1

node2

  1. 编辑yarn-site.xml文件,找到configuration节点,改成以下内容:

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.resourcemanager.hostname

node0

yarn.log-aggregation-enable

true

yarn.log-aggregation.retain-seconds

106800

  1. 将文件mapred-site.xml.template改名为mapred-site.xml:

mv mapred-site.xml.template mapred-site.xml

  1. 编辑mapred-site.xml文件,找到configuration节点,改成以下内容:

mapreduce.framework.name

yarn

mapreduce.jobhistory.address

node0:10020

mapreduce.jobhistory.webapp.address

node0:19888

  1. 将整个hadoop-2.7.7目录同步到node1的家目录:

scp -r ~/hadoop-2.7.7 hadoop@node1:~/

  1. 将整个hadoop-2.7.7目录同步到node2的家目录:

scp -r ~/hadoop-2.7.7 hadoop@node2:~/

格式化hdfs

在node0执行以下命令格式化hdfs:

~/hadoop-2.7.7/bin/hdfs namenode -format

启动hadoop

  1. 在node0机器执行以下命令,启动hdfs:

~/hadoop-2.7.7/sbin/start-dfs.sh

  1. 在node0机器执行以下命令,启动yarn:

~/hadoop-2.7.7/sbin/start-yarn.sh

  1. 在node0机器执行以下命令,启动ResourceManager:

~/hadoop-2.7.7/sbin/yarn-daemon.sh start resourcemanager

  1. 在node0机器执行以下命令,启动日志服务:

~/hadoop-2.7.7/sbin/mr-jobhistory-daemon.sh start historyserver

  1. 启动成功后,在node0执行jps命令查看java进程,如下:

[hadoop@node0 ~]$ jps

3253 JobHistoryServer

2647 NameNode

3449 Jps

2941 ResourceManager

  1. 在node1执行jps命令查看java进程,如下:

[hadoop@node1 ~]$ jps

2176 DataNode

2292 NodeManager

2516 Jps

  1. 在node2执行jps命令查看java进程,如下:

[hadoop@node2 ~]$ jps

1991 DataNode

2439 Jps

2090 SecondaryNameNode

2174 NodeManager

至此,hadoop启动成功;

验证hadoop

下面运行一次经典的WorkCount程序来检查hadoop工作是否正常:

  1. 以hadoop账号登录node0,在家目录创建文件test.txt,内容如下:

hadoop mapreduce hive

hbase spark storm

sqoop hadoop hive

spark hadoop

  1. 在hdfs上创建一个文件夹:

~/hadoop-2.7.7/bin/hdfs dfs -mkdir /input

  1. 将test.txt文件上传的hdfs的/input目录下:

http://www.ppmy.cn/ops/109101.html

相关文章

EG边缘计算网关连接华为云物联网平台(MQTT协议)

需求概述 实现一个流程:EG8200mini采集Modbus RTU数据,通过MQTT协议连接华为云物联网平台 Modbus RTU采集此处不做过多赘述,可参考其他案例(串口读取Modbus传感器数据)介绍。下文默认已经采集到Modbus RTU数据。 要…

java opencv no opencv_java490 in java.library.path

java使用opencv处理图片,idea运行程序,报错异常信息: Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java490 in java.library.path: /Users/carter/Library/Java/Extensions:/Library/Java/Extensions:…

数据库C语言删除修改和输出

#include<myhead.h> #include<sqlite3.h> int out_callback(void *arg,int column_num, char **msgrow,char **msgcolumn)//输出查找的工人信息 { int i 0, j 0; while(i<column_num) { printf("%s\t" ,*(msgcolumni)); …

[Linux#48][网络] 令牌环网 | IPv4 | socket 套接字 | TCP | UDP | 网络字节序列

目录 1.网络 1.0 令牌环网&#xff08;了解&#xff09; 1.1 IP 地址 1.3 网络通信的基本脉络 IPv4地址解释 2.Socket 编程预备 2.1 端口号 2.2 传输层协议 2.3 网络字节序列 库函数定义 函数说明 1.网络 1.0 令牌环网&#xff08;了解&#xff09; 相同令牌时&am…

深圳建站公司-如何做网站

深圳建站公司&#xff1a;如何制作一个成功的网站 在信息化快速发展的今天&#xff0c;企业和个人越来越重视网络形象&#xff0c;网站成为了展示品牌、推广产品和服务的重要平台。深圳作为科技创新和经济发展的前沿城市&#xff0c;涌现出许多专业的建站公司&#xff0c;能够为…

【docker】命令之镜像操作

一、前言 之前讲解了docker的安装&#xff0c;这里呢接着上面的内容来介绍docker中的相关命令的操作。这里我们更具一个案例就是启动一个nginx&#xff08;是一个在我们应用市场存在的一个软件包&#xff09;,并尝试对其进行修改&#xff0c;然后发布出去&#xff0c;让别人都能…

第67期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

uniapp关于页面跳转

navigateto进行跳转会出现&#xff0c;确实跳转到了制定页面&#xff0c;在制定页面点击返回按钮&#xff0c;又回到了刚才的页面&#xff0c;显然是不合理的 uni.navigateTo&#xff1a;在页面栈中新增一个页面实例&#xff0c;适合于临时跳转。uni.redirectTo&#xff1a;替…