1,Ubuntu与CentOs在部署hadoop的区别
使用Ubuntu,只需要
ssh-keygen -t dsa -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
在centos下,仅仅上述操作是不行的,还需要如下步骤:
sudo vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
service sshd restart
注:ssh可同时支持publickey和password两种授权方式,publickey默认不开启,需要配置为yes。
如果客户端不存在.ssh/id_rsa,则使用password授权;存在则使用publickey授权;
如果publickey授权失败,依然会继续使用password授权。不要设置 PasswordAuthentication no ,它的意思是禁止密码登录,这样就只能本机登录了!
但是此时依然会报错,
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
然后:
vi /etc/selinux/config
SELINUX=disabled
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
最后重启你的 linux 执行 ssh localhost
2,补充:运行Hadoop自带的统计单词数量的例子,将结果输出的output目录中简单的运行
在HDFS上创建目录,需要注意的是必须按照下面的顺序执行,不可以直接执行第二条命令,否则创建目录失败:
hadoop fs -mkdir /usr
hadoop fs -mkdir /usr/hadoop
hadoop fs -mkdir /usr/hadoop/input
touch 并 vi 创建一个1.log,然后 hadoop fs -copyFromLocal 1.log /usr/hadoop/input/ 上传
cd 到hadoop的安装路径
执行 ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.1.jar wordcount /usr/hadoop/input /usr/hadoop/output
hadoop fs -cat /usr/hadoop/output/part-r-0000
执行结果: