hadoop安装

hadoop安装

一:创建虚拟机

1.在终端中打开

关闭防火墙: service iptables stop
查看防火墙状态:service iptables status
如果出现:iptables :未运行防火墙 说明关闭成功
关闭防火墙的开机自启:chkconfig iptables off

2.找到文件/etc/sysconfig/network-scripts/ifcfg-eth0

进行修改:
仅主机模式下的配置:
DEVICE=eth0
HWADDR=00:0C:29:78:D0:F7
TYPE=Ethernet
#UUID=caa3a808-be8b-4683-86da-d4a9da1a6977
ONBOOT=yes (修改成yes)
NM_CONTROLLED=yes(修改成yes)
BOOTPROTO=static(修改成static)
IPADDR=192.168.145.21(自己分配,注意网段)
PREFIX=255.255.255.0(自己填写)
DEFROUTE=yes(自己填写)以自己为路由
NAME=“System eth0”(自己填写)

NET模式下的配置:
DEVICE=eth0 (网络名字)
HWADDR=00:0C:29:9D:3F:6F (mac地址 :会自己查看)
TYPE=Ethernet (网络类型)
UUID=86b635fd-7b6f-45b3-beef-618ace136ab2 (唯一标识)
ONBOOT=yes (开机自启)
NM_CONTROLLED=yes (开启networkManager管理)
BOOTPROTO=static (开启手动分配方式 dhcp表示动态 none不启用自己分配ip地址)
IPADDR=192.168.135.11 (ip地址 自己添加 注意网段 ip地址不要冲突)
PREFIX=24 (子网掩码)
NAME=“System eth0” (网络连接名字)
GATEWAY=192.168.135.2 (网关 路由器 编辑-虚拟网络编辑器-NAT设置-查看网关)
DNS1=192.168.135.2 (域名解析器器)
DNS2=8.8.8.8 (公共的域名解析器)

注意保存

重启网络管理:service NetworkManager restart
关闭网络管理:service NetworkManager stop
关闭网络的开机自启设置:chkconfig NetworkManager off

3 重启网络 service network restart

出现4个确定即为成功

4.执行ifconfig 查看网卡信息

5.在CMD里面 ping 虚拟机的ip地址

net模式下,(在虚拟机的终端执行) ping www.baidu.com 检测是否能够实现联网功能

6.修改主机名字:找到文件etc/sysconfig/network

NETWORKING=yes
HOSTNAME=hadoop1708A(改成自己的主机名字)

在终端执行命令:hostname 查看当前机器的主机名

7.更改虚拟机映射:找到文件/etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.145.21 hadoop1708A(把自己的主机名字和ip地址写在最后一行,注意两者之间有空格)

8.更改windows里的映射

找到文件:C:\Windows\System32\drivers\etc\hosts
(把自己的主机名字和ip地址写在最后一行,注意两者之间有空格)

二 克隆虚拟机(两台)

克隆:

1.找到文件/etc/sysconfig/network-scripts/ifcfg-eth0

进行修改:
NET模式下的配置:
DEVICE=eth0 (网络名字)
HWADDR=00:0C:29:9D:3F:6F (mac地址 :会自己查看) 克隆后修改为当前机器的mac地址
TYPE=Ethernet (网络类型)
UUID=86b635fd-7b6f-45b3-beef-618ace136ab2 (唯一标识) 克隆之后随便找两个字符改成随便的两个字符
ONBOOT=yes (开机自启)
NM_CONTROLLED=yes (开启networkManager管理)
BOOTPROTO=static (开启手动分配方式 dhcp表示动态 none不启用自己分配ip地址)
IPADDR=192.168.135.11 (ip地址 自己添加 注意网段 ip地址不要冲突) 克隆后更改ip地址
PREFIX=24 (子网掩码)
NAME=“System eth0” (网络连接名字)
GATEWAY=192.168.135.2 (网关 路由器 编辑-虚拟网络编辑器-NAT设置-查看网关)
DNS1=192.168.135.2 (域名解析器器)
DNS2=8.8.8.8 (公共的域名解析器)

2.找到文件

etc/udev/rules.d/70-persistent-net.rules
进行更改
把带有原先mac地址的那一部分进行删除
然后把当前mac地址的那一部分内容的 eth1改成eth0

3.重启网络 service network restart

4.修改主机名

修改映射
修改windows映射

5,cmd进行ping ip地址或者主机名字进行检测 是否成功

安装hadoop:

1.上传jdk和hadoop压缩到/home/bigdata (路径自己创建)

解压压缩包 tar -zxvf 压缩包名字
删除压缩包 rm -rf 压缩包名字
改名:给你的jdk和hadoop文件重命名(易懂 好记 比如:jdk hadoop)

2.配置环境变量:

找到文件 vi /etc/profile

添加内容:
export JAVA_HOME=/home/bigdata/jdk
export HADOOP_HOME=/home/bigdata/hadoop
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:

然后保存退出
source /etc/profile 使更改生效

3.验证是否安装成功

验证java的命令:java -version
[root@hadoopnet bigdata]# java -version
java version “1.7.0_45”
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
[root@hadoopnet bigdata]# hadoop version

出现版本信息就表示安装成功

验证hadoop:hadoop version

[root@hadoopnet bigdata]# hadoop version
Hadoop 2.7.1
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 15ecc87ccf4a0228f35af08fc56de536e6ce657a
Compiled by jenkins on 2015-06-29T06:04Z
Compiled with protoc 2.5.0
From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a
This command was run using /home/bigdata/hadoop/share/hadoop/common/hadoop-common-2.7.1.jar
出现版本信息则表示安装成功

四:全分布式集群的搭建

1.ssh免密配置

更改映射 vi /etc/hosts
192.168.135.11 hadoopnet
192.168.135.12 hadoopnet2
192.168.135.13 hadoopnet3
注意:每一台机器都要更改

设置免密登陆:
ssh-keygen -t rsa
ssh-copy-id hadoopnet
ssh-copy-id hadoopnet2
ssh-copy-id hadoopnet3
每一台机器都要操作

验证是否设置成功
ssh 主机名或者ip地址

2.hadoop集群搭建:修改配置文件

hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves

修改hadoop-env.sh文件

将hadoop-env.sh文件中的
export JAVA_HOME=/home/bigdata/jdk

修改core-site.xml文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/bigdata/tmp</value>
</property>
修改hdfs-site.xml文件
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoopdata/dfs/data</value>
</property>
<property>
	<name>fs.checkpoint.dir</name>
	<value>file:///home/hadoopdata/checkpoint/dfs/cname</value>
</property>
<property>
	<name>fs.checkpoint.edits.dir</name>
	<value>file:///home/hadoopdata/checkpoint/dfs/cname</value>
</property>
<property>
   <name>dfs.http.address</name>
   <value>主机:50070</value>
</property>
<property>
   <name>dfs.secondary.http.address</name>
   <value>从机1:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
修改mapred-site.xml文件

命令如下:

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

#vi mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>主机:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>主机:19888</value>
</property>

修改yarn-site.xml

<property>
<name>yarn.resourcemanager.hostname</name>
<value>主机</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>主机:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>主机:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>主机:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>主机:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>主机:8088</value>
</property>
修改slaves文件:

将所有需要配置成slave类型的机器的机器名写在其内部即可.
注意:每个机器名占一行。
hadoopnet
hadoopnet2
hadoopnet3

3.发送jdk和hadoop给其他两台从机

scp -r jdk slave1:/home/bigdata/jdk

或者scp -r /home/bigdata/jdk slave1:/home/bigdata/

scp -r jdk slave2:/home/bigdata/jdk

scp -r /home/bigdata/hadoop slave1:/home/bigdata/

scp -r /home/bigdata/hadoop slave2:/home/bigdata/

注意:从机的环境变量是否配置。发送之后 java -version和hadoop version 验证一下

4.启动之前格式化集群一次(只在主机上进行格式化)

hadoop namenode -format

5.启动集群(只在主机上启动)

方法一:傻瓜式启动:start-all.sh
停止服务:stop-all.sh
方法二:单独启动hdfs服务:start-dfs.sh 停止服务stop-dfs.sh
单独启动yarn服务:start-yarn.sh 停止服务stop-yarn.sh

方法三:单独启动/停止 节点
单独开启/停止 hdfs服务的节点 hadoop-daemon.sh start/stop namenode/datanode
单独开启/停止 yarn服务的节点 yarn-daemon.sh start/stop resourcemanager/nodemanager

方法四:强制删除进程
kill -9 进程号

历史服务(JobHistoryServer)的启动:mr-jobhistory-daemon.sh start historyserver
停止历史服务:mr-jobhistory-daemon.sh stop historyserver
验证集群是否启动成功:jps查看
主机启动节点信息:
[root@hadoopnet bigdata]# jps
28726 NodeManager
28627 ResourceManager
28263 NameNode
29019 Jps
28361 DataNode

从节点1启动信息:
[root@hadoopnet2 bigdata]# jps
3974 SecondaryNameNode
4160 Jps
3878 DataNode
4044 NodeManager

从节点2启动信息:
[root@hadoopnet3 bigdata]# jps
2765 Jps
2548 DataNode
2654 NodeManager

运行wordcount程序

1.打开hdfs服务:start-dfs.sh
.打开yarn服务:start-yarn.sh

2.创建一个文件夹test用来存储要计算的文件f.txt
创建文件夹: hdfs dfs -mkdir /test
上传一个文件到test:hdfs dfs -put /home/data/f.txt /test/f.txt
3.创建一个文件夹用来存放计算输出的数据 /output
hdfs dfs -mkdir /output
4.运行计算程序
yarn jar /home/bigdata/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/f.txt /output/1
注意:输出结果的路径(/output/1)要事先不存在 (自己会生成)

1.节点启动失败解决方案
每台机器删除缓存
删除hadoopdata
删除tmp
进入cd /tmp/ 删除里面的所有内容 rm -rf *
在主机上进行格式化一次

静态(集群关闭情况下进行操作)增加节点:
1.克隆一个从机虚拟机 实现ping通
2.更改映射 vi /etc/hosts
把新增的机器添加的每一台机器的映射中
3.检查新增机器的jdk 和 hadoop是否正常
4.设置ssh免密登陆
5.修改slaves文件:把新增的机器主机名字加到每台机器slaves文件中
6.启动集群验证

静态删除节点:
把需要删除的节点从slaves文件中删除即可

动态(集群开启状态)增加节点:
准备工作:
1.新克隆一台从机虚拟机 实现ping通
2.验证一下你的jdk跟hadoop
3.配置ssh免密钥
4.更改映射信息(就是新加入的机器的ip和名字配置每一台机器中)
5.更改slaves文件
6.启动集群的:单独在新增的机器上启动datanode和nodemanager节点
hadoop-daemon.sh start/stop datenode
yarn-daemon.sh start/stop nodemanager

动态删除节点信息:

三:伪分布式集群的搭建

配置分布式文件系统HDFS服务:
1.找到/home/bigdata/hadoop/etc/hadoop/hadoop-env.sh

把export JAVA_HOME=${JAVA_HOME}
修改为
export JAVA_HOME=/home/bigdata/jdk

2.找到/home/bigdata/hadoop/etc/hadoop/core-site.xml
添加内容:

fs.defaultFS hdfs://hadoopnet:8020 hadoop.tmp.dir /home/bigdata/tmp

fs.defaultFS:表示hdfs系统所在的位置
hadoop.tmp.dir 表示hdfs生成的相关临时文件所在路径

3.找到/home/bigdata/hadoop/etc/hadoop/hdfs-site.xml


dfs.replication
1


dfs.block.size
134217728


dfs.http.address
hadoopnet:50070


dfs.secondary.http.address
hadoopnet:50090


dfs.namenode.name.dir
file:///home/hadoopdata/dfs/name


dfs.datanode.data.dir
file:///home/hadoopdata/dfs/data


fs.checkpoint.dir
file:///home/hadoopdata/checkpoint/dfs/cname


fs.checkpoint.edits.dir
file:///home/hadoopdata/checkpoint/dfs/cname


dfs.webhdfs.enabled
true


dfs.permissions
false

dfs.http.address:表示网页查看hdfs文件系统服务的地址
dfs.secondary.http.address 表示的是SecondaryNameNode 网页查看地址

4.格式化文件系统
hdfs namenode -format

5.开启hdfs服务
start-dfs.sh

jps命令查看进程
如果出现:
[root@hadoopnet data]# jps
3084 SecondaryNameNode
3552 Jps
2925 DataNode
2804 NameNode
表示启动服务成功

6.通过页面查看文件系统
在谷歌浏览器输入(英文模式下)http://192.168.135.11:50070
验证服务:

创建文件夹:在根目录下创建一个文件夹test
hdfs dfs -mkdir /test

上传文件:把/home/data下的文件f.txt 上传到hdfs系统的/test
hdfs dfs -put /home/data/f.txt /test

查看hdfs文件系统的列表:
hdfs dfs -ls /

查看hdfs文件系统的文件内容 :查看/test 下的f.txt
hdfs dfs -cat /test/f.txt

7.关闭hdfs文件系统

配置YARN服务:
1.修改mapred-site.xml.template 为mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
添加内容:


mapreduce.framework.name
yarn

2.找到yarn-site.xml
添加内容:


yarn.nodemanager.aux-services
mapreduce_shuffle

3.启动服务:start-yarn.sh
jps查看进程:
出现ResourceManager
NodeManager
jps
表示服务启动成功

4.8088端口查看:
谷歌浏览器http://ip地址或主机名:8088
正常打开则为成功

5.运行wordcount程序

打开hdfs服务:start-dfs.sh
yarn jar /home/bigdata/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/wordcount.txt /output/1
注意:输出结果的路径(/output/1)要事先不存在 (自己会生成)

6.运行结束,关闭程序
stop-dfs.sh
stop-yarn.sh

也可以stop-all.sh一次性全部关闭
(start-all.sh表示一次性开启所有服务)

  • 0
    点赞
  • 0
    收藏 更改收藏夹
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pluto_peach

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值