linux安装与配置Hadoop
操作系统:Centos
Hadoop:1.1.2
1.安装jdk1.6
输入java -version验证是否安装成功。
vim /etc/profile #set JAVA Enviroment export JAVA_HOME=/usr/.../jdk export CLASSPATH=CLASSPATH$.:JAVA_HOME/lib export PATH=$PATH:JAVA_HOME/
若新版本java改为系统默认java,做如下更改:
update-alternatives --install /usr/bin/java java /usr.../jdk/bin/java 300 update-alternatives --install /usr/bin/javac javac /usr.../jdk/bin/javac 300 update-alternatives --config java
2.安装Python2.7
centos自带python,如果想更新到python2.7,下载Python-2.7.5.tgz(tgz与tar.gz一样,都是gzip压缩方式)
#解压缩 tar -zxv Python-2.7.5.tgz #进入解压缩后的文件夹 cd Python-2.7.5 #建安装目录 mkdir /usr/local/python27 #编译安装 ./configure--prefix=/usr/local/python27 #记不住的话输入./configure-help make make install #此时并没有覆盖老版本,将原来链接改为别的名字,建立新的链接 mv /usr/bin/python /usr/bin/python_old ln -s /usr/local/python27/bin/python27 /usr/bin/python
3.配置ssh免密码登陆
- 每台机器均配置免密码登陆:
SSH(安全外壳协议),推荐安装OpenSSH。Hadoop需要通过SSH来启动Slave列表中各台主机的守护进程,因此SSH也是必须安装的,即使是安装伪分布式版本(因为Hadoop并没有区分 开集群式和伪分布式)。对于伪分布式,Hadoop会采用与集群相同的处理方式,即按次序启动文件conf/slaves中记载的主机上的进程,只不过在 伪分布式中Salve为localhost(即为自身),所以对于伪分布式Hadoop,SSH一样是必需的。
首先查看在用户(u)下是否存在.ssh文件夹
ls –al /home/u (若是root账户则在/root下查找)
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
这条命令的功能是把公钥加到用于认证的公钥文件中,这里的authorized_keys是用于认证的公钥文件。至此免密码登录本机已配置完毕。输入ssh localhost验证。
- 将id_dsa.pub文件追加到slave的authorized_keys内:
# 拷贝master的id_dsa.pub文件: scp id_dsa.pub slave:/home/ # 登陆slave执行: cat /home/id_dsa.pub>>~/.ssh/authorized_keys
- 需关闭防火墙!
否则会出现“No route to host”的错误。
4.安装Hadoop
将hadoop解压到/home/u/hadoop目录下。
为了方便,可以将该目录加到环境变量中:
PATH=$PATH:/home/u/hadoop/bin
(上述更改环境变量的方法在重启后会失效,建议用vi /etc/profile的方法修改)
修改/hadoop/conf/下的hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves文件。(参考/hadoop/src/core、/hdfs、/mapred下的示例文件)。
在每台机器上分别设置:
/etc/hosts:
127.0.0.1 localhost
*.*.*.* master
*.*.*.* slave
/etc/sysconfig/network:
HOSTNAME=主机名
5.Hadoop运行
#格式化hadoop的文件系统HDFS: bin/hadoop namenode -format #启动所有进程 bin/start-all.sh #查看集群状态 bin/hadoop dfsadmin -report #或者在浏览器中输入 #http://localhost:50030 (MapReduce的页面) #http://localhost:50070 (HDFS的页面)
hadoop fs -mkdir input
hadoop fs -copyFromLocal /home/* input
hadoop fs -ls input
hadoop jar *.jar wordcount input output
#加入一个节点
hadoop-daemon.sh --config ./conf start datanode
hadoop-daemon.sh --config ./conf start tasktracker
posted on 2013-10-28 16:24 zach_Emrys 阅读(474) 评论(0) 编辑 收藏 举报