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

[经验分享] hadoop虚拟机centOS安装过程(伪分布式)

[复制链接]

尚未签到

发表于 2016-5-12 09:20:11 | 显示全部楼层 |阅读模式
  伪分布式模式安装
   
       学习hadoop有一段时间,中间忙了很久没看过,虚拟机的hadoop也被删除了,之前装的是hadoop集群环境,        都是使用虚拟机,因为集群环境多配置,暂先将配置伪集群方式搭建起来使用,其使用的原理都是一样的,后面      有时间再把真实集群搭建一次,下面是我搭建的步骤:
        我是win7 64位系统,但因centOS 64位尚未下载,先装32位的
先说下准备的软件(32位):
1.虚拟机 : wmWare10
2.Linux系统 : CentOS-6.4-i386-bin-DVD
3.JDK : jdk-7u45-linux-i586.rpm
4.远程连接:secureCRT,因每次到虚拟机操作有点麻烦而且速度慢
   
  上面的1,2软件安装就不说了,很简单直接安装即可,系统安装完成后设置网络连接,让其接通的即可.
   
  3. 安装JDK,网上文档很多,简单提下,推荐使用1.6版本, 因为hadoop是在1.6下经过测试通过的,
  3.1  先验证源系统是否存在自带jdk : 
  # rpm -qa|grep gcj
  之前是否已安装过jdk,最好卸载后重装,保证jdk完整
  #rpm -qa|grep jdk
   
  上述命令若有返回值则使用rpm -e --nodeps 命令删除上面查找的内容;
   
  3.2  整理清楚jdk后使用
         rpm -ivh jdk-6u24-linux-i586.rpm 命令即可,
         若是jdk-6u24-linux-i586.bin文件,直接前面加点(./文件名)执行,如无权限再赋予即可,
  如果没有报错说明安装成功,默认的安装路径是在/usr/java路径下;以后配置会用到这个路径,将其目录名修改为 jdk6, 接下来就是和windows一样要配置环境变量:
  编辑文件# /etc/profile,在空白的地方加入以下内容:
  export JAVA_HOME=/usr/java/jdk6
  export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  export PATH=$PATH:$JAVA_HOME/bin
  3.3  然后命令 #source /etc/profile 使其生效;最后使用java -version验证是否安装配置成功;
   
   4. 关闭防火墙,此操作不是必须的,只是为了减少学习过程中避免无谓的错误,而选择关闭防火墙,防火墙的目的是关闭尽可能不用的端口,避免恶意攻击,保证安全性,在实际工作中也不可能把防火墙关闭.
  使用命令 # service iptables status 查看防火墙状态,
  使用命令 # service iptables stop 关闭防火墙;
   
  5.修改主机名和设置DNS解析
       5.1 修改主机名称, 命令 #vi /etc/sysconfig/network       =>       HOSTNAME=hadoop
            显示效果可以重启系统, 看最左边盘符
      5.2 hadoop集群之前通过主机名来互相访问,需设置域名解析,与window是文件名一样,
  编辑文件 # vi /etc/hosts ,在最后新增一行,例如192.168.0.201 hadoop;
   
  6.设置SSH免密码登录,如果需要远程管理其他机器,传统只能使用命令telnet访问,但其通信不加密致使不安全,只能在内网直接访问,解决这个问题退出了ssh加密通信协议 SSH(Secure Shell), 使用非对称加密方式,传输内容使用rsa或的dsa加密,因每次ssh通信需要登录,所以需配置免密码登录:
  6.1 先到主目录下,命令 # cd ~,可以看到.ssh隐藏文件夹,其是用来存放密钥的;
  6.2 命令 # ssh-keygen -t rsa , 前一横杠是没有空格的 ,回车后还会有3次的输入信息,直接再回车就ok;
  6.3 命令进入 # cd .ssh , (.ssh的权限是700)看到有2个文件, 命令拷贝 # cp id_rsa.pub authorized_keys 生成授权文件, 3个文件的权限是除了自己有写权限外,其他都是没有的;
  6.4 验证ssh登录, 命令 # ssh localhost ,确认后会改变当前用户,多次更换是不需要确认,若需要是配置出错;
   
  华丽分割线---------------------------------到此已经成功一半了,下面来安装hadoop系统:
   
  1. 将下载好的hadoop1.2.1.tar.gz放到/urs/local下,
       命令解压包到当前 # tar -zxvf hadoop1.2.1.tar.gz , 因为以后配置会用到这个路径,将其目录名修改为hadoop,
  2. 配置hadoop环境变量 , 在/etc/profile下新增一行:
      HADOOP_HOME=/usr/local/hadoop
      下面增加 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME
      记得修改profile文件都需要重新加载 # source /etc/profile
  3. 修改hadoop的内部配置文件:
      1. hdfs-env.sh
          一般情况下是,修改文件第9行的JAVA_HOME路径;
          export JAVA_HOME=/usr/local/jdk6/
      2. core-site.xml:配置hdfs
  <configuration>
      <property>
          <name>fs.default.name</name>
          <value>hdfs://hadoop:9000</value>
          <description>hdfs</description>
      </property>
      <property>
          <name>hadoop.tmp.dir</name>
          <value>/usr/local/hadoop/tmp</value>
           <description>hdfs</description>
      </property>  
  
  </configuration>
  
      3. hdfs-site.xml:配置hdfs分布数量
  <configuration>
      <property>
          <name>dfs.replication</name>
          <value>1</value>
          <description>MapReduce</description>
      </property>
      <property>
          <name>dfs.permissions</name>
          <value>false</value>
          <description>MapReduce</description>
      </property>
  
  </configuration>
  
      4. mapred-site.xml:配置MapReduce
   <configuration>
      <property>
          <name>mapred.job.tracker</name>
          <value>hadoop:9001</value>
          <description>MapReduce</description>
      </property>
  </configuration>
         
   4. 格式化hadoop文件: 只需要一次即可
       命令 $HADOOP_HOME/bin/hadoop namenode -format, 看到输出信息中有successfully format即表示成功, 不成功会有错误信息,根据信息修改后继续执行上命令, 执行成功后,不可多次格式化操作,会引起未知错误,若执行多次,可将hadoop下的tmp目录删除后,重新格式化
  
  5. 启动/关闭hadoop:
       到了这里,至少可以恭喜你配置完成,只是完成,还没完整成功,只差最后一步启动了
       hadoop启动提供了多种方式:可以在bin目录下查看命令
       1. 最省事:
           start-all.sh(stop-all.sh) :
               一看就知道是启动全部,一共会有5个java进程启动,NameNode, DataNode,SecondaryNameNode,
               JobTracker, TaskTracker
       2. 分类启动:
            start-dfs.sh(stop-dfs.sh):
                  hdfs的启动,只会启动NameNode, DataNode,SecondaryNameNode3个进程
             start-mapred.sh(stop-mapred.sh):
                   MapReduce的启动,只会启动 JobTracker, TaskTracker 2个进程
        3.  单独启动:分别启动5个进程,适用于单独增加/删除节点情景
             hadoop-daemon.sh start namenode
             hadoop-daemon.sh start datanode
             hadoop-daemon.sh start secondarynamenode
                 hadoop-daemon.sh start jobtracker
                 hadoop-daemon.sh start tasktracker
  
  6. 查看hadoop运行情况:
       6.1 使用命令jps查看当前hadoop正在运行的java进程, 对应启动命令查看进程便可以知道是否启动成功 , 一般全量启动一共有5个进程 , 即上述的5个 , 缺少对应的进程说明启动失败, 可以到hadoop下的logs目录查看最新启动的日志
        6.2 浏览器查看: 与访问web项目一样, 下列是默认的端口,若有冲突可以修改
              http://hadoop:50070   查看NameNode的管理信息 , 包括DataNodes的信息
              http://hadoop:50030   查看JobTracker的管理信息, 包括TaskTrackers的信息
  
  7. 运行一个系统自带统计单词数量的DEMO:
  7.1  先上传一个文件, 最好是文件大一点的, 命令 hadoop fs -put <fs-dir> , 
  7.2  在fs上创建一个文件夹来放置结果 , 命令 hadoop fs -mkdir result
  7.3  在$HADOOP_HOME下有一个jar包: hadoop-examples-1.2.1.jar , 这是一个已经写好的MapReduce程序, 运行命令 hadoop jar hadoop-examples-1.2.1.jar wordcount <in> <out> , 输入文件绝对路径和输出文件目录, 回车后有一些执行过程信息;
  7.4 完成后在上面指定的输出目录查看结果:
  命令 hadoop fs -text /result/part-r-00000 查看 , 输出目录下包含了运行的日志 , 结果等 ,具体自己一个个查看;
  
  至此, hadoop的伪分布式环境搭建成功 , 后续要继续了解hdfs的命令和自己去熟悉MapReduce的java API , 用其来进行大数据量的计算工作 , 其效率是杠杠的(大文件).    

运维网声明 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-215870-1-1.html 上篇帖子: Linux 查看硬件信息-cpu 下篇帖子: centos环境下安装apache + php + svn + svnadmin
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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