hadoop学习笔记

大数据特点
volume:产生的数据量计算量很大
variety:数据来源数据格式多种多样
value:价值密度低,综合价值大
velocity:增长速度处理速度,要求系统在短时间内做出反应,可用于生成决策的时间非常少




开源组件:
hadoop,spark(内存计算),hbase(列式数据库),zookeeper,nutch(数据采集),storm(流式计算)
R语言(可视化),hive,impala,麒麟






hadoop的主要模块:
HDFS,MapReduce,YARN,COMMON


hadoop集群
·M/S架构(主从架构)
·Master:主节点,运行NameNode(namespace源数据存储),ResourceManager服务进程
·Slave:从节点,运行DataNode,NodeManager服务进程


·服务进程举例
·NameNode,负责记录各个数据块存储空间,与DataNode进行通信,
获取其健康状态信息,并根据决策算法将数据分发到某些节点
·DataNode,负责实际数据的存储,与NameNode进行通信,将其所在
节点的存储状态汇报给NameNode,以供其决策。






安装虚拟机
VMware workstation 11-12版本
Centos镜像


1安装虚拟机


CD/DVD选择下载的镜像文件
网络适配器选择NAT模式
disc found 选择skip回车
是,忽略所有数据
主机名:bigdata
根密码root用户的密码
使用所有空间,将修改写入磁盘
---->开始
-----------安装完成
登录
ping www.baidu.com
vi etc/sysconfig/network-scripts/ifcfg-eth0
修改on_boot改成yes


重启虚拟机
service network restart
ifconfig查看ip地址


联网后安装软件
yum install -y vim


关闭虚拟机shutdown -h now




2远程连接


xshell5
xftp5


3在Linux上搭建Hadoop集群


下载软件


1. Jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


2. Hadoop包:http://apache.fayea.com/hadoop/common/hadoop-2.7.2/




下载到对应目录后,用Xftp把文件考到虚拟机上


步骤:
1、修改主机名:
vi /etc/hosts
把ip地址和主机名bigdata添加到文件配置中
reboot重启


2、配置JDK
安装:rpm -ivh jdk-8u111-linux-x64.rpm


jdk安装目录
/usr/java/default/


在/etc/profile文件下添加
vi /etc/profile
添加JAVA_HOME = /usr/java/default/


生效操作source /etc/profile


检查是否安装好java -version


3、配置SSH(免密码登录)
ssh-keygen -t rsa
拷贝cat xxx.pub >> authorized_keys
修改权限chmod 644 authorized_keys
检查命令ssh IP/HOSTNAME


当遇到如下情况
[root@bigdata .ssh]# ssh bigdata
-bash: ssh: command not found
执行,解决依赖关系
yum -y install openssh-clients 




4、安装及配置Hadoop
解压
tar zxf hadoop-2.7.2.tar.gz


在/etc/profile文件下
vi /etc/profile
添加
HADOOP_HOME=/opt/hadoop-2.7.2
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH


生效操作source /etc/profile


建文件夹,在配置文件中用到
mkdir /opt/hadoop-2.7.2/current/dfs/name
mkdir /opt/hadoop-2.7.2/current/tmp
mkdir /opt/hadoop-2.7.2/current/data




cd /opt/hadoop-2.7.2/etc/hadoop/
配置文件::
core-site.xml


<property>
    <name>fs.default.name</name>
    <value>hdfs://bigdata:9000</value>
  </property>
********临时文件夹
 <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop-2.7.2/current/tmp</value>
  </property>
*******垃圾箱
 <property>
    <name>fs.trash.interval</name>
    <value>4320</value>
  </property>
 


hdfs-site.xml


<property>
   <name>dfs.namenode.name.dir</name>
   <value>/opt/hadoop-2.7.2/current/dfs/name</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/opt/hadoop-2.7.2/current/data</value>
 </property>
 <property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
 <property>
   <name>dfs.permissions.superusergroup</name>
   <value>staff</value>
 </property>
 <property>
   <name>dfs.permissions.enabled</name>
   <value>false</value>
 </property>
 


yarn-site.xml


<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>bigdata</value>
 </property>
 <property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
 </property>
 <property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
 </property>
 <property>
   <name>yarn.resourcemanager.address</name>
   <value>bigdata:18040</value>
 </property>
<property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>bigdata:18030</value>
 </property>
 <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>bigdata:18025</value>
 </property> <property>
   <name>yarn.resource.manager.admin.address</name>
   <value>bigdata:18141</value>
 </property>
<property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>bigdata:18088</value>
 </property>
<property>
   <name>yarn.log-aggregation-enable</name>
   <value>true</value>
 </property>
<property>
   <name>yarn.log-aggregation.retain-seconds</name>
   <value>86400</value>
 </property>
<property>
   <name>yarn.log-aggregation.retain-check-interval-seconds</name>
   <value>86400</value>
 </property>
<property>
   <name>yarn.nodemanager.remote-app-log-dir</name>
   <value>/tmp/logs</value>
 </property>
<property>
   <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
   <value>logs</value>
 </property>
 


发现没有mapred-site.xml,可以先复制一个
cp mapred-site.xml.template mapred-site.xml


mapred-site.xml


<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<property>
  <name>mapreduce.jobtracker.http.address</name>
  <value>bigdata:50030</value>
</property>
<property>
  <name>mapreduce.jobhisotry.address</name>
  <value>bigdata:10020</value>
</property>
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>bigdata:19888</value>
</property>
<property>
  <name>mapreduce.jobhistory.done-dir</name>
  <value>/jobhistory/done</value>
</property>
<property>
  <name>mapreduce.intermediate-done-dir</name>
  <value>/jobhisotry/done_intermediate</value>
</property>
<property>
  <name>mapreduce.job.ubertask.enable</name>
  <value>true</value>
</property>
 


slaves


bigdata


 
hadoop-env.sh


JAVA_HOME


 


5、格式化HDFS


hdfs namenode -format


找到以下信息,则代表成功
‘16/09/0403:07:30 INFO common.Storage: Storage directory /opt/hadoop-2.7.2/current/dfs/namehas been successfully formatted.’


 


6、启动Hadoop集群


/opt/hadoop-2.7.2/sbin/start-all.sh


 


7、验证Hadoop集群


1)jps


2) service iptables stop


关闭防火墙 或者 在防火墙的规则中开放这些端口


hdfs   http://bigdata:50070


yarn  http://bigdata:18088






官网查看FS Shell命令
http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/FileSystemShell.html#rmdir






启动hadoop日志
/opt/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh start historyserver




hadoop的getmerge命令:
hadoop fs -getmerge [-nl] <src> <localdst>
从hadoop上合并多个文件下载到本地目录下指定文件
hadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt
或者
hdfs dfs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值