hadoop环境搭建


在各环境中新建用户easadmin  密码easadmin
    


服务器安装JDK
rpm -ivh jdk-7u40-linux-x64.rpm

hadoop0.23.11配置文件路径
/root/Music/hadoop-0.23.11/share/hadoop/common/templates/conf

[ root@localhost hadoop-1.2.1]# pwd  查看当前路径
/u01/hadoop-1.2.1


一、实现各服务器之间SSH免密码登录;
实现SSH免密码登录,主要是按如下步骤:
先确定NameNode主节点服务器,然后在这台服务器上进行操作。
1) cd ~
    ls -al
查看是否有 .ssh目录,如果没有就新建一个: mkdir .ssh
注:由于.ssh目录一般情况下是隐藏的文件夹,所以要用: ls -al才能全部显示
2)配置可以免密码登陆本机
        在命令行输入(注意其中的ssh前面还有一个“.”不要遗漏)
        cd ~/.ssh
        ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
 
      (解释一下上面这条命令, ssh-keygen 代表生成密钥;-t 表示指定生成的密钥类型;dsa 是dsa密钥认证的意 思;-P 用于提供密语(接着后面是两个单引号,不要打错);-f 表示指定生成密钥文件)
 
       这条命令完成后,会在当前文件夹下面的.ssh文件夹下创建id_dsa和id_dsa.pub两个文件,这是SSH的一对私 钥和公钥,把id_dsa.pub(公钥)追加到授权的key中去,输入如下命令:
 
        cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    3)测试是否配置成功
        ssh localhost
       如果配置成功,那么这条命令执行完成之后,会直接登录到机器,否则会提示输入密码。
注意:确保.ssh文件权限700,authorized_keys文件权限600。

之后要把主节点上面的公钥添加到其他节点的: ~/.ssh/authorized_keys文件中

二、安装JDK,此次使用的是 jdk-7u40-linux-x64.rpm,具体安装如下;
   1、  在jdk-7u40-linux-x64.rpm目录下执行命令: #rpm -ivh jdk-7u40-linux-x64.rpm
          
   2、配置环境变量, #export JAVA_HOME=/usr/java/jdk1.7.0_40
安装完成后可以使用  #java -version命令进行查看当前系统JDK版本,
使用 #echo ${JAVA_HOME}查看java_home环境变量的配置。

三、所有的节点都修改/etc/hosts,使彼此之间都能把主机名解析为ip
    #cd /退出到根目录
    #cd etc/ 进入到etc目录
    #vi hosts查看hosts文件,按 i 进入编辑模式,然后按照下图添加对应的地址;添加完成后按 esc键,然后输入 :wq保存进行退出,使用 #vi hosts可以验证是否保存成功。(如果编辑错了,可以按esa然后输入 :q!取消修改进行退出)

如果完成第一步无密码登录的话,可以使用 ssh dataNode1看看是否可以成功登录到dataNode1服务器上。登录后可以使用 #exit命令退回到原服务器上。

四、下载hadoop
    下载地址: http://hadoop.apache.org/releases.html#Download (此次使用的是 hadoop-1.2.1.tar.gz)

五、安装和配置hadoop
    在服务器根目录新建文件夹[ root@localhost /]# mkdir u01
    将hadoop-1.2.1.tar.gz上传到nameNode服务器的u01文件下,然后进行使用
[ root@localhost u01]# tar -zxvf hadoop-1.2.1.tar.gz 命令进行解压

下面就是配置的关键时候(可以现在nameNode服务器上进行修改,然后在将hadoop解压的文件复制到其他节点上):
1、修改hadoop-env.sh文件中的JAVA_HOME指向我们自己安装的JDK路径
[ root@localhost u01]# cd hadoop-1.2.1/conf/    进入配置文件中;
[ root@localhost conf]# vi hadoop-env.sh  查看文件,然后按 i 进行编辑模式;
去掉#,然后把JAVA_HOME修改为我们自己的JAVA_HOME地址  ( /usr/java/jdk1.7.0_40),然后按esc键退出, :wq保存退出

2、修改hdfs-site.xml文件,指定数据副本的个数;
    1)在各个服务器节点新建文件
    [ root@localhost u01]# mkdir hadoop_data 新建文件夹,用于存放数据;
   2)
    [ root@localhost conf]# vi hdfs-site.xml 查看文件,然后按  i 进行编辑模式;
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
 <property>
  <name>dfs.replication</name>
  <value>2</value>
  <description>DataNode</description>
 </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/u01/hadoop_data</value>
    <description>Determines where on the local filesystem the DFS name node
      should store the name table. If this is a comma-delimited list
      of directories then the name table is replicated in all of the
      directories, for redundancy. </description>
    <final>true</final>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/u01/hadoop_data</value>
    <description>Determines where on the local filesystem an DFS data node
       should store its blocks. If this is a comma-delimited
       list of directories, then data will be stored in all named
       directories, typically on different devices.
       Directories that do not exist are ignored.
    </description>
    <final>true</final>
  </property>
</configuration>
输入以上内容,然后按esc键退出, :wq保存退出
[ root@localhost conf]# cat hdfs-site.xml  验证是否保存成功
/*
配置文件说明:
dfs.namenode.name.dir存储名字空间及汇报日志的位置,dfs.datanode.data.dir DataNode存储数据块的位置
*/

3、修改core-site.xml文件,指定nameNode服务器;
    [ root@localhost conf]# vi core-site.xml 查看文件,然后按  i 进行编辑模式;
<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://192.168.67.41:9000</value>
    <description>Master Node</description>
  </property>
<property>
   <name>hadoop.tmp.dir</name>
   <value>/u01/hadoop_data/hadoop-${user.name}</value>
   <description>A base for other temporary directories.</description>
</property>
</configuration>

    指定nameNode服务器,然后按esc键退出, :wq保存退出,[ root@localhost conf]#  cat  core-site.xml  验证是否保存成功。
     hadoop.tmp.dir 主要是制定文件格式化后临时文件的保存路径,默认保存的路径为 /tmp/hadoop-javoft/dfs,但每次服务器重新启动时都会清空默认路劲下面的文件,所以最好修改下该路径

4、修改mapred-site.xml文件,指明MapReduce的JobTracker的主机;
[ root@localhost6 conf]# cat mapred-site.xml 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.67.41:9001</value>
<description>JobTracker</description>
</property>
</configuration>



5、修改 masters 和 slaves 文件

Hadoop conf 下的 masters 和 slaves 文件的作用是什么? 

从字面意思上来看,masters 是主要的,应该记录的是 namenode 的 IP 或者是域名。但是文件的名称确实有点误导人, 它主要记录运行辅助 namenode 的所有机器 slaves 文件记录了运行 datanode 和 tasktracker 的所有机器。用户也可以改变  hadoop-env.sh  的 HADOOP_SLAVES 项的值,将 slaves 文件放在其他地方。这两个文件无需分发到各个工作节点,因为只有运行在 namenode 或 jobtracker 上的控制脚本能使用这些文件。不过,分发了也不会有什么影响。

因为此次无辅助的nameNode服务器,所以无需配置masters文件,只需配置slaves文件即可;
[ root@localhost conf]# cat masters
localhost
[ root@localhost conf]# cat slaves
dataNode1
dataNode2


6、复制hadoop文件到各个节点
配置完成后将hadoop文件复制到各个服务器节点上。
[ root@localhost u01]# scp -r hadoop-1.2.1 root@dataNode2:/u01

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
六、格式化分布式文件系统
进入bin目录,执行命令进行格式化
[ root@localhost hadoop-1.2.1]# cd bin
[ root@localhost bin]# ./hadoop namenode -format

七、在NameNode中启动整个集群
        [ root@localhost bin]# ./start-all.sh
    
貌似启动有些问题,晕菜,自己没有将hadoop复制到其他服务器节点,
[ root@localhost u01]# scp -r hadoop-1.2.1 root@dataNode1:/u01
[ root@localhost u01]# scp -r hadoop-1.2.1 root@dataNode2:/u01

复制完成后继续启动


        验证是否启动成功
        1)检测守护进程启动情况
        [ root@localhost bin]# ls /usr/java/jdk1.7.0_40/bin
        [ root@localhost bin]# /usr/java/jdk1.7.0_40/bin/jps 查看JAVA相关的进程

nameNode1:
dataNode1:
dataNode2:

查看HDFS情况,访问下面地址:
http://192.168.67.41:50070/dfshealth.jsp
查看MapReduce情况,访问下面地址:
http://192.168.67.41:50030/jobtracker.jsp




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值