设为首页 收藏本站
查看: 1052|回复: 0

[经验分享] hadoop~大数据

[复制链接]

尚未签到

发表于 2018-10-29 12:44:38 | 显示全部楼层 |阅读模式
  hadoop是一个分布式文件系统(Hadoop Distributed File System)HDFS。Hadoop是一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop带有用Java语言编写的框架。
  Hadoop的master节点包括名称节点、从属名称节点和 jobtracker 守护进程以及管理集群所用的实用程序和浏览器。slave节点包括 tasktracker 和数据节点.主节点包括提供 Hadoop 集群管理和协调的守护进程,而从节点包括实现Hadoop 文件系统(HDFS)存储功能和 MapReduce 功能(数据处理功能)的守护进程。
  Namenode 是 Hadoop 中的主服务器,通常在 HDFS 实例中的单独机器上运行的软件,它管理文件系统名称空间和对集群中存储的文件的访问。每个 Hadoop 集群中可以找到一个 namenode和一个secondary namenode。。当外部客户机发送请求要求创建文件时,NameNode 会以块标识和该块的第一个副本的 DataNode IP 地址作为响应。这个 NameNode 还会通知其他将要接收该块的副本的 DataNode。
         Datanode,hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交 换机将所有系统连接起来。DataNode 响应来自 HDFS 客户机的读写请求。它们还响应来自 NameNode 的创建、删除和复制块的命令。
  JobTracker是一个master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。
  TaskTracker是运行在多个节点上的slaver服务。TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。TaskTracker都需要运行在HDFS的DataNode上.
  NameNode、Secondary ,NameNode、JobTracker运行在Master节点上,而在每个Slave节点上,部署一个DataNode和TaskTracker,以便 这个Slave服务器运行的数据处理程序能尽可能直接处理本机的数据。
  server2.example.com 172.25.45.2   (master)
  server3.example.com 172.25.45.3   (slave)
  server4.example.com 172.25.45.4   (slave)
  server5.example.com 172.25.45.5   (slave)

  •   hadoop传统版的配置:
      server2,server3,server4和server5添加hadoop用户:
  useradd -u 900 hadoop
  echo westos | passwd --stdin hadoop
  server2:
  sh jdk-6u32-linux-x64.bin         ##安装JDK
  mv jdk1.6.0_32/  /home/hadoop/java
  mv hadoop-1.2.1.tar.gz /home/hadoop/
  su - hadoop
  vim .bash_profile
export JAVA_HOME=/home/hadoop/java  
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
  source .bash_profile
  tar zxf hadoop-1.1.2.tar.gz        ##配置hadoop单节点
  ln -s hadoop-1.1.2 hadoop
  cd /home/hadoop/hadoop/conf
  vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/java  cd ..
  mkdir input
  cp conf/*.xml  input/
  bin/hadoop jar hadoop-examples-1.1.2.jar
  bin/hadoop jar hadoop-examples-1.1.2.jar grep input output 'dfs[a-z.]+'
  cd output/
  cat *
1   dfsadmin  设置master到slave端无密码登陆:
  server2:
  su - hadoop
  ssh-keygen
  ssh-copy-id localhost
  ssh-copy-id  172.25.45.3
  ssh-copy-id  172.25.45.4
  cd /home/hadoop/hadoop/conf
  vim core-site.xml        ##指定 namenode
  
fs.default.name
  
hdfs://172.25.45.2:9000
  

  vim mapred-site.xml     ##指定 jobtracker
  

  
mapred.job.tracker
  
172.25.45.2:9001
  

  

  vim hdfs-site.xml        ##指定文件保存的副本数
  

  
dfs.replication
  
1
  

  

  cd ..
  bin/hadoop namenode -format         ##格式化成一个新的文件系统
  ls /tmp
  hadoop-hadoop  hsperfdata_hadoop  hsperfdata_root  yum.log
  bin/start-dfs.sh              ##启动hadoop进程
  jps
DSC0000.png

  bin/start-mapred.sh
  jps
DSC0001.png

  在浏览器中打开:172.25.45.2:50030
DSC0002.png

  打开172.25.45.2:50070
DSC0003.png

  bin/hadoop fs -put input test     ##给分布式文件系统考入新建的文件
DSC0004.png

  bin/hadoop jar hadoop-examples-1.2.1.jar wordcount output
  同时在网页中
DSC0005.png

  查看网页中上传的文件:
  bin/hadoop fs -get output test
  cat test/*
  rm -fr test/          ##删除下载的文件
  2. server2:
  共享文件系统:
  su - root
  yum install nfs-utils -y
  /etc/init.d/rpcbind start
  /etc/init.d/nfs start
  vim /etc/exports
/home/hadoop   *(rw,anonuid=900,anongid=900)  exportfs -rv
  exportfs -v
  server3和server4:
  yum install nfs-utils -y
  /etc/init.d/rpcbind start
  showmount -e 172.25.45.2    ##
  Export list for 172.25.45.2:
  /home/hadoop *
  mount 172.25.45.2:/home/hadoop /home/hadoop/
  df
DSC0006.png

DSC0007.png

  server2:
  su - hadoop
  cd hadoop/conf
  vim hdfs-site.xml
  

  
dfs.replication
  
2
  

  

  vim slaves       ##slave端的ip
172.25.45.3  
172.25.45.4
  vim masters       ##master端的ip
172.25.45.2  提示:##如果还有之前的进程开着,必须先关闭,才能再进行格式化,保证jps没有什么进程运行
  关闭进程的步骤
  bin/stop-all.sh   ##执行完之后,有时tasktracker,datanode会开着,所以要关闭它们
  bin/hadoop-daemon.sh stop tasktracker
  bin/hadoop-daemon.sh stop datanode
  以hadoop用户的身份删除/tmp里的文件,没有权限的文件就留着
  su - hadoop
  bin/hadoop namenode -format
  bin/start-dfs.sh
  bin/start-mapred.s
  bin/hadoop fs -put input test              ##
  bin/hadoop jar hadoop-examples-1.2.1.jar grep test output 'dfs[a-z.]+'          ##
  一边上传一边在浏览器中打开172.25.45.2:50030中观察会发现有正在上传的文件
  su - hadoop
  bin/hadoop dfsadmin -report
  dd if=/dev/zero of=bigfile bs=1M count=200
  bin/hadoop fs -put bigfile test
  在浏览器中打开172.25.45.2:50070
DSC0008.png

  3.新加server5.example.com 172.25.45.5 作为新的slave端:
  su - hadoop
  yum install nfs-utils -y
  /etc/init.d/rpcbind start
  useradd -u 900 hadoop
  echo westos | passwd --stdin hadoop
  mount 172.25.45.2:/home/hadoop/ /home/hadoop/
  su - hadoop
  vim  hadoop/conf/slaves
172.25.45.3  
172.25.45.4
  
172.25.45.5
  cd /home/hadoop/hadoop
  bin/hadoop-daemon.sh start datanode
  bin/hadoop-daemon.sh start tasktracker
  jps
  删除一个slave端:
  server2:
  su - hadoop
  cd  /home/hadoop/hadoop/conf
  vim mapred-site.xml
  
dfs.hosts.exclude
  
/home/hadoop/hadoop/conf/datanode-excludes
  

  vim /home/hadoop/hadoop/conf/datanode-excludes
172.25.45.3               ##删除172.25.45.3不作为slave端  cd /home/hadoop/hadoop
  bin/hadoop dfsadmin -refreshNodes   ##刷新节点
  bin/hadoop dfsadmin -report    ##查看节点状态,会发现server3上的数据转移到serve5上
  在server3上:
  su - hadoop
  bin/stop-all.sh
  cd  /home/hadoop/hadoop
  bin/hadoop-daemon.sh stop tasktracker
  bin/hadoop-daemon.sh stop datanode
  server2:
  vim  /home/hadoop/hadoop/conf/slaves
  172.25.45.4
  172.25.45.5
  4. 配置新版的hadoop:
  server2:
  su - hadoop
  cd /home/hadoop
  tar zxf jdk-7u79-linux-x64.tar.gz
  ln -s jdk1.7.0_79/   java
  tar zxf hadoop-2.6.4.tar.gz
  ln -s hadoop-2.6.4   hadoop
  cd /home/hadoop/hadoop/etc/hadoop
  vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/java  
export HADOOP PREFIX=/home/hadoop/hadoop
  cd /home/hadoop/hadoop
  mkdir inp
  cp etc/hadoop/*.xml input
  tar -tf hadoop-native-64-2.6.0.tar
  tar -xf hadoop-native-64-2.6.0.tar -C  hadoop/lib/native/
  cd /home/hadoop/hadoop
  rm -fr output/
  bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z.]+'
  cd /hone/hadoop/hadoop/etc/hadoop/
  vim slaves
172.25.45.3  
172.25.45.4
  vim core-site.xm
  

  
fs.defaultFS
  
hdfs://172.25.45.2:9000
  

  

  vim mapred-site.xml
  

  
mapred.job.tracker
  
172.25.45.2:9001
  

  

  vim hdfs-site.xml
  

  
dfs.replication
  
2
  

  

  cd /home/hadoop/hadoop
  bin/hdfs  namenode -format
  sbin/start-dfs.sh
  jps
  bin/hdfs dfs -mkdir /user/hadoop  ##要上传的文件,必须在上传之前新建出其目录
  bin/hdfs  dfs -put input/ test
  rm -fr input/
  bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep test output 'dfs[a-z.]+'
  bin/hdfs dfs -cat output/*
  1dfsadmin
  在浏览器中打开172.25.45.2:50070
DSC0009.png




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-628017-1-1.html 上篇帖子: (?)企业部分之hadoop-Linux整理 下篇帖子: Hadoop第一个样例Wordcount运行笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表