集群机器hadoop的安装与配置

一、Hadoop概念


Block一般128MB一个;
元数据:一个表,对应着数据所在的路径。

在这里插入图片描述

master重启的方式
在这里插入图片描述

二、Hadoop的安装

2.1 安装

mkdir /usr/hadoop  #创建/usr/hadoop

上传hadoop-2.7.3.tar.gz/opt/soft

tar  -zxvf hadoop-2.7.3.tar.gz  -C  /usr/hadoop # 解压/opt/soft/hadoop-2.7.3.tar.gz到 指定目录

2.2配置环境变量

nano /etc/profile,添加下面4行

# hadoop setting
export   HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export  CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export  PATH=$PATH:$HADOOP_HOME/bin

在这里插入图片描述

保存退出之后,使环境变量生效 source /etc/profile

在安装好Hadoop和配置完环境变量之后,Hadoop已经可以做一些事情了。

2.3测试单机hadoop

创建一个文件夹,我这里创建在hadoop文件夹下

/usr/hadoop
mkdir mytestin
cd mytestin
nano data1.txt
nano data2.txt

data1.txt和data2.txt你可以输入一些字符(随便打几个英文单词)。

然后我们到hadoop-2.7.3目录下

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  wordcount /usr/hadoop/mytestin /usr/hadoop/mytestout 

hadoop是命令,jar是程序类型,后面是路径+jar 然后是输入目录,输出目录。jar =java包。

注意:每次运行此命令要求输出目录是一个全新目录(不存在的目录)。

我们一般使用Java输入和输出都在终端完成,但是hadoop的输入和输出的数据量十分巨大,所以我们要用输入和输出目录来存放。

hadoop fs 命令查看程序结果:

hadoop fs -text /usr/hadoop/mytestout/part-r-00000 # 或者使用cat

在这里插入图片描述

三、Hadoop集群配置

在上面我们讲了单机版的hadoop,现在我们来配置集群

3.1配置hadoop-env.sh

cd /usr/hadoop/hadoop-2.7.3/etc/hadoop

在这里插入图片描述

编辑hadoop-env.shnano hadoop-env.sh,注释原来的,修改如下。

# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0_171

在这里插入图片描述

3.2配置core-site.xml

nano core-site.xml,在<configuration></configuration> 之间配置

<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value> #改名
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/hadoop-2.7.3/hdfs/tmp</value>
</property>

<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>

<property>
<name>fs.checkpoint.period</name>  # 检查间隔60s
<value>60</value>
</property>

<property>
<name>fs.checkpoint.size</name> # 检查点大小
<value>67108864</value>
</property>

在这里插入图片描述

3.3配置yarn-site.xml

nano yarn-site.xml,如果你的主机名不是master你就需要改名。

<property>    
<name>yarn.resourcemanager.hostname</name>
<value>master</value> # 改名
</property>

<property>    
<name>yarn.resourcemanager.address</name>
<value>master:18040</value> # 改名
</property>

<property> 
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value> # 改名
</property>

<property> 
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value> # 改名
</property>

<property>
<name>yarn.resourcemanager-tracker.address</name>
<value>master:18025</value> # 改名
</property>

<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value> # 改名
</property>

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

在这里插入图片描述

3.4 编辑slaves和master

nano slaves,有几个写几个。

slave1
slave2

nano master

master

3.5配置hdfs-site.xml

nano hdfs-site.xml

<property>
<name>dfs.replication</name>    
<value>2</value>#Block副本数,默认3
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/hadoop-2.7.3/hdfs/name</value>
<final>true</final>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/hadoop-2.7.3/hdfs/data</value>
<final>true</final>
</property>

<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value> # 注意端口号不会重复使用。
</property>

<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

在这里插入图片描述

3.6配置mapred-ste.xml

复制模板

cp mapred-site.xml.template mapred-site.xml

编辑文件,nano mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

在这里插入图片描述

3.7分发给从机

scp -r /usr/hadoop root@slave1:/usr
scp -r /usr/hadoop root@slave2:/usr

配置从机的环境变量,

nano /etc/profile,添加下面4行

# hadoop setting
export   HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export  CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export  PATH=$PATH:$HADOOP_HOME/bin

保存退出之后,使环境变量生效 source /etc/profile

3.8主机namenode格式化

cd /usr/hadoop/hadoop-2.7.3/
hadoop namenode -format

执行命令后如下
在这里插入图片描述

3.9 hadoop启动

hadoop不用每台机器都启动,我们再mstaer上调用脚本来启动

[root@master hadoop-2.7.3]# sbin/start-all.sh

在这里插入图片描述

然后查看进程

[root@master hadoop-2.7.3]# jps

jps是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程。

主机:

在这里插入图片描述

从机,直接输入jps,不用启动hadoop

在这里插入图片描述
在这里插入图片描述

四、网页

关闭master防火墙,systemctl stop firewalld

打开浏览器输入:192.168.222.171:9001
在这里插入图片描述

打开浏览器输入:192.168.222.171:50070,文件系统概述

在这里插入图片描述

五、集群运行wordcount(简单应用)

fs方式创建文件夹:hadoop fs -mkdir /myin

在这里插入图片描述

把本地txt文件上传到集群中:

hadoop fs -put /usr/hadoop/mytestin/data1.txt  /myin     
hadoop fs -put /usr/hadoop/mytestin/data2.txt  /myin

查看input目录结构:

hadoop fs -ls /myin

在这里插入图片描述

运行wordcount:

hadoop jar /usr/hadoop/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  wordcount  /myin /myout

在这里插入图片描述

查看结果:
在这里插入图片描述

查看程序结果:
hadoop fs -cat /myout/part-r-00000
在这里插入图片描述

hadoop fs -get /myout/part-r-00000 /home #通过get命令,把文件下载到本地
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值