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

[经验分享] hadoop工作日志-安装,挂载HDFS

[复制链接]

尚未签到

发表于 2018-11-1 09:45:30 | 显示全部楼层 |阅读模式
  hadoop工作日志-安装,挂载HDFS
  首先是操作系统以及所使用的软件的版本
  操作系统:CentOS 5.5 (32位)
  hadoop版本:hadoop-0.20.2.tar.gz
  jdk版本:jdk-6u20-linux-i586.bin
  fuse版本:fuse-2.8.1.tar.gz
  ant版本:apache-ant-1.7.0-bin.tar.gz
  两台32位的服务器:hadoop1(192.168.0.3),hadoop2(192.168.0.2),hadoop3(192.168.0.5),hadoop1是master,hadoop2,hadoop3是slave,并在hadoop2,hadoop3之上挂载HDFS文件系统。
  一:操作系统安装
  1.网卡选择启动时激活
  2.选择Desktop-Gnome ,Desktop-KDE,Server
  3.定制软件包:桌面环境,应用程序,开发,服务器,基本系统,这些全选
  二:hadoop安装:
  1.首先修改三台机器的/etc/hosts文件。将倒数两行注释掉(#127.0.0.1······以及#::······)。然后在文件的末尾添加:
  192.168.0.3    hadoop1
  192.168.0.2    hadoop2
  192.168.0.4    hadoop3
  2.建立节点之间按的无密码连接:
  (1)在hadoop1上:
  #cd /root
  #ssh-keygen -t rsa  一路回车即可
  #ls -a   查看是否有.ssh文件夹
  #cd .ssh  进入.ssh目录

  #cp>  #cd .. 退出到root目录
  建立本身的信任连接 #ssh hadoop1    按提示输入yes(三个字母要打全)
  (2)在hadoop2和hadoop3之上
  #cd /root
  #ssh-keygen -t rsa     生成.ssh文件夹
  #scp root@hadoop1:/root/.ssh/* .ssh/   拷贝hadoop1上的.ssh文件夹覆盖本地的
  (3)在三台机器之上运行:
  #ssh hadoop1
  #ssh hadoop2
  #ssh hadoop3
  这样就建立了三台机器之间的互信连接
  3. 安装JDK(在hadoop1,hadoop2,hadoop3三之上执行,安装位置要一致):
  #cd /root/Desktop/hadoop_file/  (此目录中存放hadoop,ant,jdk)
  #cp  jdk-6u20-linux-i586.bin /usr/local
  #cd /usr/local
  #chmod a+x jdk-6u20-linux-i586.bin
  #./jdk-6u20-linux-i586.bin
  然后修改/etc/profile文件,在文件的最末尾添加:
  export JAVA_HOME=/usr/local/jdk1.6.0_20
  export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

  export  >  source /etc/profile
  4.安装hadoop(在hadoop1,hadoop2,hadoop3上执行,hadoop的安装位置要一致):
  #cd  /root/Desktop/hadoop_file/hadoop-0.20.2(hadoop压缩文件就在此目录,我就将它
  安装在此目录)
  #tar -xzvf hadoop-0.20.2.tar.gz
  #cd /root/Desktop/hadoop_file/hadoop-0.20.2/conf
  在hadoop-env文件中
  #export JAVA_HOME=/usr/local/jdk1.6.0_20
  #vi core-site.xml 添加:
  
  fs.default.name
  hdfs://hadoop1:9000
  
  #vi hdfs-site.xml  添加:
  
  dfs.replication
  1
  
  
  hadoop.tmp.dir
  /tmp/hadoop/hadoop-${user.name}
  
  #vi mapred-sit.xml 添加:
  
  mapred.job.tracker
  hadoop1:9001
  
  #vi  masters 修改为:
  hadoop1
  #vi  slaves 修改为:
  hadoop2
  hadoop3
  到此,hadoop的安装就完成了。
  5.启动hadoop:
  #service iptables stop (在hadoop1,hadoop2,hadoop3中都要执行)
  #cd /root/Desktop/hadoop_file/hadoop-0.20.2/bin
  #./hadoop namenode -format
  #./start-all.sh
  这样就将hadoop启动起来了,接下来测试一下:
  #./hadoop dfs -copyFromLocal  /root/hadooptest test-in
  #./hadoop dfs -ls test-in
  三: HDFS的挂载:
  曾今花了很长时间试图用hdfs-fuse来挂载HDFS发现很困难,没有成功,于是不得已,参照    http://cqfish.blog.51cto.com/622299/208404的方法进行挂载,并成功了。
  1.   首先安装fuse-2.8.1.tar.gz :
  #tar -xzvf  fuse-2.8.1.tar.gz  -C /opt
  #cd /opt/fuse-2.8.1
  #./configure --prefix=/usr
  #make
  #make install
  #modprobe fuse
  #vi /etc/sysconfig/modules/my.modules 内容为:
  #!/bin/sh
  modprobe fuse >/dev/null 2>&1
  #chmod +x /etc/sysconfig/modules/my.modules
  2. 然后安装ant
  #cd /root/Desktop/hadoop_file
  #tar -xzvf apache-ant-1.7.0-bin.tar.gz -C /usr/local
  3. 原来咱们是把hadoop安装在/root/Desktop/hadoop_file/hadoop-0.20.2,现在为了生成fuse-dfs,并且不影响咱们的已经安装好的hadoop,咱们把整个hadoop-0.20.2,拷贝到
  /root/Desktop,然后在/root/Desktop/hadoop-0.20.2目录下工作,一定要保持机器与外网联通。
  4.修改/etc/profile,添加或修改:
  export HADOOP_HOME=/root/Desktop/hadoop-0.20.2(移动之后的工作目录)
  export OS_ARCH=i386
  export OS_BIT=32
  export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/$OS_ARCH/server:${HADOOP_HOME}/c++/Linux-$OS_ARCH-$OS_BIT/lib:/usr/local/lib:/usr/
  lib
  export ANT_HOME=/usr/local/apache-ant-1.7.0
  export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ANT_HOME/bin
  #source   /etc/profil
  5.生成fuse-dfs
  #cd $HADOOP_HOME/
  #ant compile-c++-libhdfs -Dlibhdfs=1 -Dcompile.c++=1 (保证机器与外网相通)
  #ln -s c++/Linux-$OS_ARCH-$OS_BIT/lib build/libhdfs

  #ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1  #cd /root/Desktop/hadoop-0.20.2/build/contrib/fuse-dfs
  #vi fuse_dfs_wrapper.sh,修改内容为:
  export OS_BIT=32
  if [ "$HADOOP_HOME" = "" ]; then
  export HADOOP_HOME=/root/Desktop/hadoop-0.20.2
  fi
  export PATH=$HADOOP_HOME/build/contrib/fuse_dfs:$PATH
  for f in ls $HADOOP_HOME/lib/*.jar $HADOOP_HOME/*.jar ; do

  export >  done
  if [ "$OS_ARCH" = "" ]; then
  export OS_ARCH=i386
  fi
  if [ "$JAVA_HOME" = "" ]; then
  export  JAVA_HOME=/usr/local/jdk1.6.0_20
  fi
  if [ "$LD_LIBRARY_PATH" = "" ]; then
  export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/$OS_ARCH/server:/root/Desktop/hadoop-0.20.2/c++/Linux-i386-32/lib:/usr
  /local/lib
  fi
  #./fuse_dfs $@
  fuse_dfs $@
  #chmod +x   /root/Desktop/hadoop-0.20.2/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh
  #chmod +x   /root/Desktop/hadoop-0.20.2/build/contrib/fuse-dfs/fuse_dfs
  #ln -s  /root/Desktop/hadoop-0.20.2/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh /usr/local/bin
  #ln -s  /root/Desktop/hadoop-0.20.2/build/contrib/fuse-dfs/fuse_dfs /usr/local/bin
  #mkdir /mnt/dfs
  #/usr/sbin/setenforce 0 暂时停用防火墙
  #fuse_dfs_wrapper.sh dfs://hadoop1:9000 /mnt/dfs  由此就成功挂载HDFS
  #umount /mnt/dfs 便卸载了HDFS


运维网声明 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-629224-1-1.html 上篇帖子: hadoop版本问题 下篇帖子: hadoop中启动namenode等出现的一些问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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