您的位置:首页 > 运维架构

hadoop 单节点环境搭建

2018-02-11 13:13 295 查看
hadoop环境部署

1.按照官方的文档进行配置 http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/SingleCluster.html Single Node Setup进入方式:
Hadoop官网》documention>hadoop2.5.2>Single Node Setup
2.上传和下载的工具lrzsz
使用yum进行在线安装:yum install lrzsz
3.给普通用户开启比较大的权限
进入root用户,命令行输入 visudo
user ALL=(root)NOPASSWD:ALL
4.建议从始至终都是使用一个用户操作
测试在 /opt目录下创建目录
cd /opt
sudo mkdir datas
修改目录的所有者
sudo chown user:user -R /opt/*
使用windows向Linux虚拟机上传文件
yum -y install lrzsz
rz
在弹出的会话中选择文件
5.关闭Linux中的防火墙和selinux
设置selinux
sudo vi /etc/sysconfig/selinux
修改: SELINUX=disable
Linux中的防火墙iptables
网络层
代理层
sudo service iptables status       //查看防火墙的状态,一堆数据
sudo service iptables stop         //关闭防火墙的命令
sudo service iptables status       //再次查看防火墙状态,关闭时会提示( Firewall is not running)
上面这个方法是临时关闭,下次开机仍然会启动,下面是永久关闭FireWalls的方法
sudo chkconfig //查看防火墙的配置状态
sudo chkconfig iptables off //关闭配置中的防火墙
sudo chkconfig                      //查看关闭后的防火墙(全部是off)
//iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
6.查看系统有没有自带java虚拟机
命令:rpm -qa | grep java
//系统自带java虚拟机会有以下数据
//java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
//tzdata-java-2012j-1.el6.noarch
//java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
卸载:sudo rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 tzdata-java-2012j-1.el6.noarch java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
//将查询到的结果,全部删除,中间以空格分隔开
7.安装自己的JDK
命令:tar -zxf jdk-7u67-linux-x64.tar.gz
重新开启新窗口,配置环境变量
命令: vi /etc/profile
编辑内容:
#JAVA_HOME
export JAVA_HOME=/opt/software/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
//JAVA_HOME的变量值是tar文件解压后的文件夹的绝对路径(解压后ll查看,cd到解压后得到的文件夹,pwd查看当前位置,复制即可)
生效文件:命令:source /etc/profile
查看java是否配置成功
命令:java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
8.配置Hadoop(配置etc/hadoop/文件夹下的文件)
--首先,进入Hadoop安装文件夹,进入share文件夹,删除doc文件夹(太占空间了,还没用),命令:rm -rf doc
--JDK必须和Hadoop安装在同一文件夹,否则会无法使用Hadoop
--查看Hadoop是否安装成功:在Hadoop安装目录下:命令:bin/hadoop
--配置Hadoop的JAVA_HOME
找到Hadoop安装目录下etc/hadoop/hadoop-env.sh 修改这个文件中的JAVA_HOME
export JAVA_HOME=/opt/moduels/jdk1.7.0_67
找到Hadoop安装目录下etc/hadoop/mapred-env.sh 修改这个文件中的JAVA_HOME
export JAVA_HOME=/opt/moduels/jdk1.7.0_67
找到Hadoop安装目录下etc/hadoop/yarn-env.sh 修改这个文件中的JAVA_HOME
export JAVA_HOME=/opt/moduels/jdk1.7.0_67
--Hadoop的运行模式
Local (Standalone) Mode 单机模式                 本地文件
Pseudo-Distributed Mode 伪分布模式 HDFS文件系统
Fully-Distributed Mode   完全分布模式     HDFS文件系统(实际生产环境使用的集群)        
--配置Hadoop 的 Configuration(官网的configuration里面有默认的参数配置)
修改文件配置,所有的参数用户可以自定义,如果参数用户没有定义,系统会给出默认值
指定默认的文件系统访问入口
指定主节点NameNode所在的机器位置以及交互端口号
9000是旧版本的端口号,Hadoop2.x用的是8020
**修改core-site.xml的配置
<configuration>
<property>
       <name>fs.defaultFS</name>
       <value>hdfs://bigdata-senior.ibeifeng.com:8020</value>
   </property>
   //指定Hadoop系统生成文件的临时文件地址
<property>
       <name>hadoop.tmp.dir</name>
       <value>/opt/moduels/hadoop-2.5.0/data/tmp</value>
   </property>
</configuration>
**修改hdfs-site.xml的配置,指定副本数的个数
<configuration>
<property>
       <name>dfs.replication</name>
       <value>1</value>
   </property>
</configuration>    
**修改slaves文件
添加DataNode所在的机器位置的主机名
bigdata-senior.ibeifeng.com
**格式化namenode
命令bin/hdfs可以查看HDFS的帮助信息
命令:bin/hdfs namenode -format
注意:不要格式化多次,只能一次。如果格式化多次了,需要把生成的文件删除。
生成的文件位置:
**启动HDFS
/opt/moduels/hadoop-2.5.0/data/tmp(格式化后的文件都放在这个文件夹里面)
/opt/moduels/hadoop-2.5.0/sbin/hadoop-daemon.sh
启动namenode(在安装目录下/opt/moduels/hadoop-2.5.0)
sbin/hadoop-daemon.sh start namenode
启动datanode(在安装目录下/opt/moduels/hadoop-2.5.0)
sbin/hadoop-daemon.sh start datanode
查看进程:jps
30833 Jps
30668 NameNode
30760 DataNode
通过浏览器访问HDFS外部UI界面 http://bigdata-senior.ibeifeng.com:50070(主机名+端口号50070) 192.168.192.100:50070(ip地址+端口号也是可以访问的)
(出现无法访问的情况可能是防火墙导致的,也可能是selinux导致的,还有可能是Windows的hosts文件没配置好)
在页面Utilities>Browse the file system
bin/hdfs dfs -mkdir /bf                        //创建一个文件夹
创建文件夹:bin/hdfs dfs -mkdir -p /user/beifeng/bf
上传文件:bin/hdfs dfs -put etc/hadoop/core-site.xml /user/beifeng/bf
读取文件:bin/hdfs dfs -text /user/beifeng/bf/core-site.xml
下载文件:bin/hdfs dfs -get /user/beifeng/bf/core-site.xml /home/beifeng/get-site.xml

===============================以上是HDFS的部分,华丽的分割线===========================================
--------------------------------下面是yarn和MapReduce---------------------------------------------------  
在root登陆的根目录下/opt/moduels/hadoop-2.5.0/etc/hadoop/找到文件mapred-site.xml.template把文件名改为
mapred-site.xml让文件生效。(带有.template后缀的文件系统默认是不生效的文件)
代表MapReduce运行在yarn之上
mapred-site.xml文件的配置(官网默认的就好)
<configuration>
<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
   </property>
</configuration>
添加一个MapReduce运行的服务(使用官网默认的属性就好)
<configuration>
<property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
   </property>
   <!--[可配置项]指定resourcemanager主节点的机器位置可配可不配-->
   <property>
       <name>yarn.resourcemanager.hostname</name>
<
a039
/span>        <value>bigdata-senior.ibeifeng.com</value>
   </property>
</configuration>
启动resourcemanager
sbin/yarn-daemon.sh start resourcemanager
启动nodemanager
sbin/yarn-daemon.sh start nodemanager
jsp查看启动的状态
[user@bigdata-senior hadoop-2.5.0]$ jps
3064 NodeManager
2565 DataNode
2484 NameNode
2824 ResourceManager
3168 Jps
浏览器外部访问UI界面:主机名+外部访问端口号 http://bigdata-senior.ibeifeng.com:8088(主机名+端口号8088) 192.168.192.100:8088(ip地址+端口号也是可以访问的)
MapReduce计算模型
1.一个计算框架需要一个输入和一个输出
2.input数据输入》map处理》shuffle》reduce处理》output结果输出
测试(Hadoop第15课):
运行Wordcount单词统计程序测试环境
在HDFS上创建对应的路径
bin/hdfs dfs -mkdir -p mapreduce/input
创建文件(随便写点什么,最好重复多次的数据)
vi /opt/datas/wc.input
上传文件
bin/hdfs dfs -put /opt/datas/wc.input
MapReduce中output的输出路径是不需要提前存在的(可以在jar执行的时候指定,系统会自动创建)
在yarn上运行job的时候都必须要打成jar包才能运行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/user/mapreduce/input /user/user/mapreduce/output
(bin/yarn jar 系统jar包 输入路径 输出路径)
查看结果
bin/hdfs dfs -text /user/user/mapreduce/output/part-r-00000
输出结果(统计每个数据出现的次数)
beijing 1
fuzhou  1
ningbo  1
shanghai        1
xiamen  1
注意点:如果提交数据的路径写错的话,不会报错,只是找不到文件,会返回一个空的结果,无法查询
即size的属性为0
Permission Owner Group    Size    Replication   Block Size Name
-rw-r--r-- user supergroup 0 B        1           128 MB    _SUCCESS
-rw-r--r-- user supergroup 0 B        1           128 MB    part-r-00000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: