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

[经验分享] hadoop的基本搭建

[复制链接]

尚未签到

发表于 2018-10-29 11:25:04 | 显示全部楼层 |阅读模式
  Hadoop
  Server1.example.com 172.25.23.1 master
  Server2.example.com 172.25.23.2 slave
  Server3.example.com 172.25.23.3 slave
  Server4.example.com 172.25.23.4 slave
  Selinux iptables disabled 加解析(节点间可以ping通) sshd enaled
  Hadoop1.2.1
  一Master上进行存储计算等 单机
  useradd -u 900 hadoop
  echo westos | passwd --stdin hadoop
  su - hadoop
  1.安装java (若原来的机子上有java先卸载)
  (1)
  sh jdk-6u32-linux-x64.bin
  mv jdk1.6.0_32 /home/hadoop
  ln -s jdk1.6.0_32 java
  (2)添加路径
  vim .bash_profile
  export JAVA_HOME=/home/hadoop/java

  export>  export PATH=$PATH:$JAVA_HOME/bin
  source .bash_profile
  2.设置hadoop
  tar zxf hadoop-1.2.1.tar.gz
  ln -s hadoop-1.2.1 hadoop
  3.无密码ssh设置
  ssh-keygen
  ssh-copy-id 172.25.23.1
  ssh 172.25.23.1  测试确保无密码
  4.配置文件进行修改
  (1)设置从节点
  vim hadoop/conf/slave
  172.25.23.1
  (2)设置主节点
  vim hadoop/conf/master
  172.25.23.1
  (3) 修改java的家路径
  vim hadoop/conf/hadoop-env.sh
DSC0000.png

  (4) 修改Hadoop核心配置文件core-site.xml配置的是HDFS的地址和端口号指定 namenode
  vim hadoop/conf/core-site.xml
DSC0001.png

  (5) 指定文件保存的副本数
  vim hadoop/conf/hdfs-site.xml
DSC0002.png

  (6) 指定 jobtracker
  vim hadoop/conf/mapred-site.xml
DSC0003.png

  5.开启服务
  (1) 格式化一个新的分布式文件系统
  bin/hadoop namenode -format
  (2) 启动 Hadoop 守护进程
  bin/start-all.sh = bin/start-dfs.sh + bin/start-mapred.sh
  (3) 查看进程
  a)jps
DSC0004.png

  b)bin/hadoop dfsadmin -report
DSC0005.png

  7.一些hadoop的常用命令 ( 类似于linux的命令只是在前面增加了hadoop特有的 )
  bin/hadoop fs -ls
  mkdir input
  cp conf/*.xml input
  bin/hadoop jar hadoop-examples-1.2.1.jar grep input output 'dfs[a-z.]+'
  bin/hadoop fs -cat output/*
  bin/hadoop fs -put conf/ input
  bin/hadoop fs -get output output
  8.浏览 NameNode 和 JobTracker 的网络接口,它们的地址默认为:
  NameNode – http://172.25.23.1:50070/
DSC0006.png

  点击Browse the filesystem 下的 /user/hadoop/ 可看到上传的
DSC0007.png

  JobTracker – http://172.25.23.1:50030/
DSC0008.png

  二分布式部署
  先停掉master上的相关服务bin/stop-all.sh再删掉/tmp/*
  slave
  1.目录设置
  useradd -u 900 hadoop
  2.确保master可以和slave无密码连接
  yum install -y rpcbind
  /etc/init.d/rpcbind start (nfs的一个中介服务用来通知客户端)
  3.同步数据 (nfs)
  (1) 在master端 (分享节点root下进行)
  /etc/init.d/nfs start
  vim /etc/exports
DSC0009.png

  exportfs -rv
  (2) 在slave端挂载
  yum install -y nfs-utils
  showmount -e 172.25.23.1
DSC00010.png

  mount 172.25.23.1:/home/hadoop /home/hadoop
  Master
  1.修改配置文件
  (1) vim  hadoop/conf/slave
  172.25.23.2
  172.25.23.3
  (2) vim hadoop/conf/hdfs-site.xml
  datanade保存2份
DSC00011.png

  2.查看master能否与slave进行无密码连接
  ssh 172.25.23.2
  若需要密码则进行如下操作
  (1)进入hadoop用户查看权限显示(正确的应显示为hadoop)
DSC00012.png

  (2)解析是否正确
  (3)rpcbind是否开启
  (4)若上述都正确则可进行
  chkconfig rpcbind on
  chkconfig rpcgssd on
  chkconfig rpcidmapd on
  chkconfig rpcsvcgssd on
  reboot
DSC00013.png

  则可无密码连接
  3.启动服务
  (1) 格式化一个新的分布式文件系统
  bin/hadoop namenode -format
  (2) 启动 Hadoop 守护进程
  bin/start-all.sh
  (3) 查看进程
  master
DSC00014.png

  slave
DSC00015.png

  (4) 上传文件
  bin/hadoop fs -put conf/ input
  (5) 访问 172.25.23.150030
DSC00016.png

  可看到有2个节点
  172.25.23.150070
DSC00017.png

  有文件上传
  三新增一个从节点(172.25.23.4)且将文件转移
  1.新增节点和已经配置好的从节点做相同的设置
  yum install -y nfs-utils rpcbind
  useradd -u 900 hadoop
  /etc/init.d/rpcbind start
  vim /etc/hosts
  showmount -e 172.25.23.1
  mount 172.25.23.1:/home/hadoop /home/hadoop
  2.在master端修改slaves
  添加 172.25.23.4
  3.在新增的从节点上启动服务加入集群
  bin/hadoop-daemon.sh start datanode
  bin/hadoop-daemon.sh start tasktracker
  4.在master上查看
  bin/hadoop dfsadmin -report
  ......
DSC00018.png

  ......
DSC00019.png

  可看到新增的节点
  5.均衡数据:
  bin/start-balancer.sh
  1)如果不执行均衡,那么 cluster 会把新的数据都存放在新的 datanode 上,这样会降低 mapred的工作效率
  2)设置平衡阈值,默认是 10%,值越低各节点越平衡,但消耗时间也更长bin/start-balancer.sh -threshold 5
  6.数据转移删除
  (1) vim hadoop/conf/mapred-site.xml
  添加如下内容
DSC00020.png

  (2) 添加需要删除的主机名
  vim /home/hadoop/hadoop/conf/hostexclude
  172.25.23.3
  (3) bin/hadoop dfsadmin -refreshNodes
  此操作会在后台迁移数据,等此节点的状态显示为 Decommissioned,就可以安全关闭了。可以通过bin/hadoop dfsadmin -report查看 datanode 状态
  在做数据迁移时,此节点不要参与 tasktracker,否则会出现异常。
  (4) 删除tasktracker可在172.25.23.3上直接停止(上边都没有node节点了)
  四恢复垃圾文件
  1.编辑垃圾文件保留时间
  vim hadoop/conf/core-site.xml
DSC00021.png

  2.测试
  删除文件可以发现多出了一个 .Trash目录逐层进入该目录直到找到所删除的文件再将该文件mv到原来所在的目录里。可以发现 .Trash里面已经没有文件了。
DSC00022.png

  Hadoop2.6.4
  
  分布式部署(所有主从节点全部切换到su - hadoop )
  一在和1.2.1版本相同的环境目录nfs等都不变
  本次配置使用的是1.2.1的机子(里面的host rpcbind nfs 为做修改)在重新配置2.6.4时先停掉所有的1.2.1版的hadoop服务删掉java等链接删除 /tmp/下的文件等
  二Java配置
  2.6.4的版本要求6或7的java版本
  1.下载java安装包 (在hadoop的家目录下)
  jdk-7u79-linux-x64.tar.gz
  tar zxf jdk-7u79-linux-x64.tar.gz
  ln -s jdk1.7.0_79/ java
  2.配置java路径 (同1.2的配置相同)
  3.查看 版本号java -version
DSC00023.png

  三Hadoop的配置
  cd hadoop/etc/hadoop
  1. vim core-site.xml
DSC00024.png

  2. vim hdfs-site.xml
DSC00025.png

  3. cp mapred-site.xml.template mapred-site.xml
  vim mapred-site.xml
DSC00026.png

  4. vim yarn-site.xml
DSC00027.png

  5. vim yarn-env.sh
DSC00028.png

  6. vim etc/hadoop/hadoop-env.sh
DSC00029.png

  7. vim slaves
  172.25.23.2
  172.25.23.3
  172.25.23.4
  四启动服务
  1.格式化
  tar xf hadoop-native-64-2.6.0.tar -C hadoop/lib/native lib中最好将原来的另外保存或删除将库文件改成64位的
  bin/hdfs namenode -format
  2.开启服务
  sbin/start-dfs.sh  sbin/start-yarn.sh
  3.查看进程
  master
DSC00030.png

  slave
DSC00031.png

  五、上传文件
  1.创建保存的目录( V1版本是自动创建的 )
  bin/hdfs dfs -mkdir /user
  bin/hdfs dfs -mkdir /user/hadoop
  2.上传文件
  mkdir input
  cp etc/hadoop/*.xml input
  bin/hdfs dfs -put input
  bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output
  3.访问
  172.25.23.1:8088
DSC00032.png

  172.25.23.1:50070
  将后面的.jsp改成 .html即可访问该页面
DSC00033.png

  问题
  1.datanade没有启动
  在关闭节点时会发现 no datanade to stop 。
DSC00034.png

  每次格式化后都会创建一个namenodeID而tmp下包含了上次的IDnamenode - format清除了namenode下的数据但是没有清空datanade下的数据导致启动失败因此每次格式化后都要清除掉主从节点下的/tmp/*的所有数据。
  2.namenode in safe mode
  执行bin/hadoop dfsadmin -safemode leave 即可
  3.Exceeded MAX_FAILED_UNIQUE_FETCHES
  这是因为程序中打开的文件太多了一般系统默认普通用户不得超过1024
DSC00035.png

  可以切换到root修改 /etc/security/limits.conf
  添加 hadoop  -  nproc  4096
  hadoop  -  nofile  65535
  - 可代表的是软链接和硬链接 再切换到 hadoop 查看
DSC00036.png

  4. vim hadoop/conf/core-site.xml
  (在2.6.4下配置hadoop.tmp.dir参数)
  
  
  fs.defaultFS
  hdfs://172.25.23.1:9000
  
  
  hadoop.tmp.dir
  /home/hadoop/tmp
  
  
  dfs.namenode.name.dir
  /home/hadoop/tmp/namedir
  
  
  dfs.datanade.data.dir
  /home/hadoop/tmp/datadir
  
  
  若没有配置这些参数则默认的临时目录是在/tmp/下而/tmp/目录每次重启都会清空必须重新format才可以


运维网声明 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-627942-1-1.html 上篇帖子: 安装hadoop 下篇帖子: storm spark hadoop::
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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