hadoop集群搭建过程

来源:互联网 发布:视频录制软件免费版 编辑:程序博客网 时间:2024/05/17 03:46

设置ssh免密码登陆:

1,修改host文件(用root账号):

设置ip的别名:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.111 h1

192.168.1.112 h2

192.168.1.113 h3 


设置机器的别名:

vim /etc/sysconfig/network-->hostname=h1(三个机器都要改,永久性的修改本机标识符)

hostname=h1(重启后,hostname恢复成localhost)

关闭防火墙:/etc/rc.d/init.d/iptables stop(永久性的关闭防火墙)

service iptables stop (重启后,防火墙开启)

2,创建用户hadoop

Useradd hadoop

Passwd hadoop

密码设置为hadoop

)

3,设置ssh免密码登陆

首先生成秘钥(公钥和私钥)文件

ssh-keygen -t rsa

2013年09月20日 - cyxinda - 曹勇的博客

  

然后进入/home/hadoop/.ssh

看到

2013年09月20日 - cyxinda - 曹勇的博客

  

cp id_rsa.pub authorized_keys

将上述步骤在h1,h2,h3上面都照做一遍

h1,h2,h3中的authorized_keys中的内容放到一个文件中(authorized_keys),然后将包含三部分内容的authorized_keys替换掉h1,h2,h3中的authorized_keys,即做好了三台机器互相登陆的免ssh验证;

 

 

4,安装java虚拟机

设置java_home等环境变量

 

   安装JDK

# cd /usr/local/src                    --进入软件包的存放路径

# mv /usr/local/src/jdk-6u35-linux-x64.bin /usr/local/jdk-6u35-linux-x64.bin  --把软件包剪切到安装目录

 cd /usr/local                         --进入安装目录

# chmod 755 jdk-6u35-linux-x64.bin      --给软件包添加执行权限

# ./ jdk-6u35-linux-x64.bin        --执行安装

 

3、         配置java环境变量

# cp /etc/profile /etc/profile.bak            --备份系统配置文件

# vi /etc/profile                                      --编辑配置文件(在最后追加如下内容)

export JAVA_HOME=/usr/local/jdk1.6.0_35

export JRE_HOME=/usr/local/jdk1.6.0_35/jre/

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

# source /etc/profile                                          --重新加载配置文件

# java –version                                                   --查看安装的jdk版本信息


5,修改hadoop配置文件:

(1)vim core-site.xml :

hadoop集群搭建过程 - cyxinda - 曹勇的博客
fs.default.name设置名称节点是哪台机器
(2)修改hadoop-env.sh(指定JAVA_HOME的值)
hadoop集群搭建过程 - cyxinda - 曹勇的博客

(3)vim hdfs-site.xml
hadoop集群搭建过程 - cyxinda - 曹勇的博客
dfs.data.dir设置hdfs文件系统的数据存储的物理位置,记住,是物理位置,而不是文件的逻辑名称(就像数据库,数据都存储在表中,而实际的数据存储的物理位置却是dbf文件),hdfs系统是单独的文件系统,脱离了linux文件系统的概念。
dfs.replication是数据节点的份数
4)vim mapred-site.xml
 hadoop集群搭建过程 - cyxinda - 曹勇的博客
  mapred.job.tracker设置任务分配程序的机器
(5)设置主从节点
hadoop集群搭建过程 - cyxinda - 曹勇的博客
 设置完毕
6,启动hadoop:
bin/hadoop namenode -format(格式化文件系统,只需要执行一次,如果多次执行,需要清除dfs.data.dir中的所有数据文件,否则会出现错误)
./bin/start-all.sh (启动hadoop服务)
执行jps命令(需要设置PATH环境变量=$JAVA_HOME/bin),可以在主节点h1上面看到
hadoop集群搭建过程 - cyxinda - 曹勇的博客
在数据几点中看到:
hadoop集群搭建过程 - cyxinda - 曹勇的博客
 
 
./bin/stop-all.sh(停止所有hadoop服务)
[hadoop@h1 hadoop-0.20.2]$ bin/hadoop fs -mkdir /input(在hdfs根目录中创建input目录,以便放置数据)
[hadoop@h1 hadoop-0.20.2]$ bin/hadoop fs -ls
 bin/hadoop dfs -put ../input/ input(将数据放入到hadoop中)
执行: bin/hadoop jar hadoop-0.20.2-examples.jar wordcount  hdfs://h1:9000/input/*  /out 
结果如下:
hadoop集群搭建过程 - cyxinda - 曹勇的博客
 
hadoop集群搭建过程 - cyxinda - 曹勇的博客
 

 几个hdfs常用的命令:
hadoop dfs -put ../abc abc:将linux文件系统abc目录拷贝到hadoop文件系统中的abc目录(/user/currentUser(这里是hadoop)/abc中)如果加/,标识是hdfs根目录下的路径,如果是相对路径,则是相对于当前用户根目录下下的路径。
相反的操作,把hadoop中的文件拷贝到linux系统中,则是hadoop dfs -get abc ../abc
删除:hadoop dfs -rmr abc
hadoop dfsadmin -report


添加节点:
1,在新节点上面安装hadoop(即把任意一个节点中的hadoop拷贝到新机器中即可)
2,把namenode的有关配置文件复制到该节点
3,修改master和slaves文件,增加该节点
4,设置ssh免验证登陆
5,单独启动该节点中的datanode和tasktracker(hadoop-daemon.sh start datanode 和hadoop-daemon.sh start datanode )
6,运行start-balancer.sh进行数据负载均衡

 

 

 

 

 


原创粉丝点击