ubuntu上Hadoop三种运行模式的部署
Posted 高空降落
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu上Hadoop三种运行模式的部署相关的知识,希望对你有一定的参考价值。
Hadoop集群支持三种运行模式:单机模式、伪分布式模式,全分布式模式,下面介绍下在Ubuntu下的部署
(1)单机模式
sudo gedit /etc/profile
加入下面代码
#set java environment JAVA_HOME=/home/*******/jdk1.7.0_09 export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH
java_home的路径是自己本机上的路径。保存退出后需要注销当前用户,重新登录。
bin/hadoop jar hadoop-ex*.jar wordcount conf output
(2)伪分布式模式
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/****/hadoop/logs</value> </property> </configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
接下来需要安装SSH
在ubnuntu下直接在控制台中输入
sudo apt-get install openssh-server
如果提示找不到源,在软件中心输入
sudo apt-get update
安装完SSH,需要设置登录的密钥,控制台输入
ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
bin/hadoop namenode -format bin/start-all.sh
bin/hadoop fs -mkdir input bin/hadoop fs -put data input
bin/hadoop jar hadoop-examples-*.jar wordcount input output
bin/hadoop fs -cat output/* >> result.txt
bin/stop-all.sh
(3)全分布式模式
192.168.6.30 master 192.168.6.31 node1
(1)主机生成SSH,并分发密钥
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@192.168.6.31
如果分发不成功可以使用下面的命令
scp ~/.ssh/id_rsa.pub [email protected]:~/mas_key
然后在远程机器上
mkdir ~/.ssh chmod 700 ~/.ssh mv ~/mas_key ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
使用ssh-copy-id不仅可以将公钥添加到authorized_keys中去,而且也设置了正确的权限(文件夹.ssh为700,authorized_keys为600)
参考文章:http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
ssh免密码登录原理可参考:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
这样在master主机上ssh 192.168.6.31主机时应该就不用输入密码了
如果出现Agent admitted failure to sign using the key这个问题
解決方式 使用 ssh-add 指令将私钥 加进来
ssh-add ~/.ssh/id_rsa
(2)配置hosts文件
sudo gedit /etc/hosts 127.0.0.1 localhost #127.0.0.1 机器名 192.168.6.38 master 192.168.6.31 node1
*第二行的注释一定要注释掉。然后将hosts文件通过scp 分发到从机上,登录从机移动hosts文件。
scp /etc/hosts 目标机器名@目标机器IP:~/hosts sudo mv hosts /etc/
master
slaves
master node1
以上是关于ubuntu上Hadoop三种运行模式的部署的主要内容,如果未能解决你的问题,请参考以下文章