企业大数据来源
1.企业内部
日志文件
数据库
**用户行为数据
2.企业外部
爬虫
第三方购买(蚂蚁数据银行)–贵阳
大数据=海量数据+复杂类型的数据
hadoop是由谷歌的三篇论文
《mapreduce》 –》mapreduce 分布式离线并行计算框
架
GFS ——————》HDFS 分布式文件存储
系统
bigtable ————》 HBASE 分布式数据库
Hadoop四大核心模块
common
为其他模块提供基础设施
hdfs
分布式文件存储系统
mapreduce
分布式离线并行计算框架
分为两个阶段 map reduce
yarn
任务管理 资源调度
一个新的框架,2.0之后产生的一个全新的框架(将任务
调度资源管理与mappreduce分离)
HDFS
namenode(一台)
主从结构,
存储的是元数据,包括,文件类型属性,名称等
datanode(多台)
可以存储不同的是数据块(block)每一个数据块默认大小(128M
)这个参数可以自定义
apache
hadoop。apache.org
google
hadoop功能
**数据存储
**数据计算模型
文件系统,fat32 ntfs ext4
软件版本 0.2
1.0
2.0 2.5
3.0
HDFS组成
一台namenode 服务器
存储元数据
和多台datanode 服务器
存储真实数据()
主从结构
一台namenode
多台datanode
一个文件上传 呗分割为 多个数据块 每个数据块 默认
大小
128M
hdfs 功能:
namenode 主节点,存放文件元数据,文件名 文
件目录 结构,文件属性
datanode 存储在本地的文件数据,数据块校验
yarn
resourcemanage
任务调度资源管理
nodemanager
节点管理服务
任务管理 资源调度
1.客户端 向 resourcemanager提交任务
2 resourcemanager向namenode 分配一个 applicationManager,
并找到一个容器生成一个 MR appmatr
3该应用的管理者 向resourcemanager申请资源
4资源申请完毕,找到nodemanager将容器中的 MRappmstr
启动起来
5map 和reduce 任务启动
6mapreduce 程序启动 都要向 MRappmstr提交信息
7程序结束,应用的管理者都要向 resourcemanager提交信息
mapreduce
计算分为两个阶段
map 文件上传被分割程 多个任务,
shuffer
reduce 将map的结果输出
系统安装
1,创建虚拟机选择磁盘 不能小于50G
2.安装类型 桌面
3.分区默认
为分布式 准备环境
1, 设置网卡 ip为静态的
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=b17e5d93-cd31-4166-827f-18cf14586777
ONBOOT=yes #把网卡设置成开机启动
NM_CONTROLLED=yes
BOOTPROTO=static DHCP改成static
HWADDR=00:0C:29:88:2A:28
IPADDR=192.168.30.100
PREFIX=24
GATEWAY=192.168.30.2
DNS1=192.168.30.2
DNS2=202.96.209.5
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
-
设置DNS
vi /etc/sysconfig/network-scripts/ifcfg-eth0DNS1=192.168.30.2 DNS2=202.96.209.5 把网络服务重启 service network restart 3.设置主机名 vi /etc/sysconfig/network hadoop-senior.beifeng.com 4.关闭防火墙
禁用linux中的安全子系统,是在selinux文件中
路径/etc/sysconfig/selinux
1.首先将selinux=disabled
[root@java15 ~]# vi /etc/sysconfig/selinux
selinux=disabled
2.关闭防火墙
[root@java15 ~]# service iptables stop
3.设置防火墙开机不启动
[root@java15 ~]# chkconfig iptables off
4.查看防火墙是否完全关闭
[root@java15 ~]# service iptables status
iptables: Firewall is not running.
5.添加主机名映射
[root@hadoop-senior ~]# vi /etc/hosts
192.168.30.100 hadoop-senior.xiaoping.com
windows C:/Windows/System32/drivers/etc
6.设置普通用户 方便后期使用,后期的所有操作都使用普通用户
useradd xiaoping
echo 123456 | passwd –stdin xiaoping
安装jdk
su -root 切换root用户创建
mkdir /opt/modules/ 用于软件安装的目录
# mkdir /opt/softwares/ 用于软件下载目录
# chown beifeng:xiaoping /opt/modules/
# chown beifeng:xiaoping /opt/softwares/
hadoop-2.5.0.tar.gz
#su xiaoping 切换xiaoping用户下
解压jdk
$ tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules/
配置 jdk环境变量
/opt/modules/jdk1.7.0_67
# vi /etc/profile 用root用户
##JAVA_HOME
JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
卸载系统自带的jdk、
# rpm -qa |grep -i java
# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch
# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-
1.50.1.11.5.el6_3.x86_64
rpm -e –nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
# vi ~/.bashrc 普通用户环境配置可以选择不配
##JAVA_HOME
JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
$ source /etc/profile
更新文件
# source ~/.bashrc
安装hadoop
#tar -zxvf hadoop-2.5.0-cdh6.3.6.tar/(1/).gz -C /opt/modules/
hadoop安装包下的配置文件所在目录
/opt/modules/hadoop-2.5.0-cdh6.3.6/etc/hadoop
配置hadoop环境变量
hadoop-env.sh mapred-env.sh yarn-env.sh 三个全部修改javahome
export JAVA_HOME=/opt/modules/jdk1.7.0_67
修改 core-site.xml
<!–hdfs默认访问入口–>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-senior.beifeng.com:8020</value>
</property>
<!–存放hadoop 运行产生临时数据的目录–>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0-cdh6.3.6/data</value>
</property>
</configuration>
修改slaves文件 --》指定那台服务器是datanode
hadoop-senior.beifeng.com 比如三台主机 每行一个主机名or ip
hadoop-senior.beifeng1.com
hadoop-senior.beifeng2.com
hdfs-site.xml
<!–设置副本数为1个副本–>副本数不能大于主机个数(hdfs当节点不切换文件,集
群会)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
格式化文件系统
$ bin/hdfs namenode -format
启动namenode 和datanode 服务
$ sbin/hadoop-daemon.sh start namenode 启动namenode
$ sbin/hadoop-daemon.sh start datanode 启动datanode
查看服务进程
[beifeng@hadoop-senior hadoop-2.5.0]$ jps
10031 Jps
9954 DataNode
9845 NameNode
$ bin/hdfs dfs -mkdir /input 创建文件夹在hdfs上
$ bin/hdfs dfs -put /opt/modules/yy.txt /input 上传文件
$ bin/hdfs dfs -cat /input/yy.txt 查看文件
配置 yarn
资源管理,任务调度
yarn-env.sh mapred-env.sh
环境变量:
export JAVA_HOME=/opt/modules/jdk1.7.0_67
**resourcemanager
**nodemanager
yarn-site.xml
<!–NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行
MapReduce程序–>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!–resourcemanager提供给客户端的地址–>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-senior.beifeng.com</value>
</property>
mapred-site.xml
<!–mapreeduce 运行在yarn上–>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
启动yarn
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
浏览器
http://hadoop-senior.beifeng.com:8088/cluster
利用官方自带jar包进行文件的单词统计
$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-exam
ples-2.5.0.jar wordcount /input/ /output
$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-
cdh6.3.6.jar wordcount /input/ /output
查看统计结果
$ bin/hdfs dfs -cat /output/par*
配置日志服务器
yarn-site.xml
<!–启动日志聚合功能–>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!–日志保存时间毫秒–>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
mapred-site.xml
<!–进程通信–>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop-senior.beifeng.com:10020</value>
</property>
<!–客户端访问入口–>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop-senior.beifeng.com:19888</value>
</property>
重启yarn
$ sbin/yarn-daemon.sh stop resourcemanager
$ sbin/yarn-daemon.sh stop nodemanager
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
启动historyserver服务
$ sbin/mr-jobhistory-daemon.sh start historyserver
$ bin/yarn jar share/hadoop/mapreduce/hadoop-ma
preduce-examples-2.5.0.jar wordcount /input/ /output1
源文件分隔符/t
input表示输入路径
output表示输出路径 必须是不存在的
都是HDFS里面的路径
解决警告:
替换native包
将native压缩包解压至/opt/modules/hadoop-2.5.0/lib 替换原来的native
问题:
用户操作的问题
不要用root用户启动服务
切换普通用户的时候记得去虚拟机查看是否已经切换普通用户
/opt目录下 的两个文件夹 一定是属于普通用户的
编辑配置文件的时候 notepad 用普通用户去登陆操作,
虚拟机环境问题 防火墙 网关 ip 主机名本地hosts文件添加映
射
查看日志信息 tail -n50查看后五十行日志信息
/opt/modules/hadoop-2.5.0/logs
$ tail -n50 hadoop-beifeng-namenode-hadoop-senior.beifeng.com.log
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/196996.html