ubuntu下hadoop的布置ssh的无密码登陆[Linux安全]
本文“ubuntu下hadoop的布置ssh的无密码登陆[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
实践环境:
1.用户名:sa,环境:UBUNTU10.04,IP:192.168.0.102,作用:namenode,master,jobtracker
2.用户名:sa,环境:UBUNTU9.10,IP:192.168.0.103,作用:datanode,slave,tasktracker
两台电脑的用户名务必保持一样,不然背面调试时不能成功.
****************************************************
主要步骤:
1.改正主机名.
2.安装SSH,实现SSH无密码登陆.
3.关闭防火墙
4.安装JDK,Hadoop
5.配置hadoop
****************************************************
1.改正主机名:
在/etc/hosts文件里面改正:
sa@sa:~$ cd ..
sa@sa:/home$ cd ..
sa@sa:/$ cd etc/
sa@sa:/etc$ sudo gedit hosts
[sudo] password for sa:
输入密码后,将hosts文件改成:
127.0.0.1 localhost.localdomain localhost
192.168.0.102 sa
192.168.0.103 ubuntu
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
(此处#大概会无法辨识,去掉那一行)
/*
全部机械都改完,对应好之后,但是ping一下,看看能否成功:
PING ubuntu (192.168.0.103) 56(84) bytes of data.
64 bytes from ubuntu (192.168.0.103): icmp_seq=1 ttl=64 time=0.393 ms
64 bytes from ubuntu (192.168.0.103): icmp_seq=2 ttl=64 time=0.374 ms
64 bytes from ubuntu (192.168.0.103): icmp_seq=3 ttl=64 time=0.373 ms
^C
--- ubuntu ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.373/0.380/0.393/0.009 ms
2.安装SSH,实现SSH无密码登陆
2.1 安装SSH:sudo apt-get install openssh-server
2.2 实现SSH无密码登录:
此处参考这个文档:linux.chinaunix.net/techdoc/net/2007/08/08/964784.shtml“》http://linux.chinaunix.net/techdoc/net/2007/08/08/964784.shtml
非常细致.摘录以下:
*************************
服务器之间成立信任关系,关于监控服务器管理很必要.这里介绍ssh的无密码登陆.
本机ip:192.168.1.6
[root@codfei ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y (认为我是第2次成立关系所以此处覆盖本来的文件)
Enter passphrase (empty for no passphrase):(直接回车无须输入密钥)
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
04:37:13:2a:4b:10:af:c1:2b:03:3f:6b:27:ce:b9:62 root@codfei
[root@codfei ~]# cd .ssh/
[root@codfei .ssh]# ll
-rw------- 1 root root 883 Apr 25 17:51 id_rsa
-rw-r--r-- 1 root root 221 Apr 25 17:51 id_rsa.pub
-rw-r--r-- 1 root root 442 Apr 25 17:37 known_hosts
id_rsa是密钥文件,id_rsa.pub是公钥文件.
[root@codfei .ssh]# scp id_rsa.pub192.168.1.4:/root/.ssh/192.168.1.6
root@192.168.1.4‘s password:
id_rsa.pub 100% 221 0.2KB/s 00:00
这里把公钥文件取名为本机的ip地址就是为了今后和更多的机械成立信任关系不发生混合.
目前登陆到192.168.1.4机械
[root@codfei ~]# cd .ssh/
[root@codfei .ssh]# cat 192.168.1.6 》》 authorized_keys
然后回到192.168.1.6机械直接
[root@codfei .ssh]# ssh 192.168.1.4
Last login: Wed Aug 8 12:14:42 2007 from 192.168.1.6
这样便可以了,里面无意触及到权限问题.普通./ssh文件夹是755 authorized_keys为600大概644
3.关闭防火墙
sa@sa:~$ sudo ufw disable
防火墙在系统启动时自动禁用
****************************************************
4安装JDK,hadoop
辨别到官网下载tar.gz文件,解紧缩至sa文件夹下.两台机子文件目录保持一样,免得不必要都麻烦.我都机械辨别下载的是jdk.1.6.0_21和hadoop-0.20.2.
之后将下列语句增添至etc/profile文件中:
export JAVA_HOME=/home/sa/jdk1.6.0_21
export JRE_HOME=/home/sa/jdk1.6.0_21/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export HADOOP_HOME=/home/sa/hadoop-0.20.2
export PATH=$HADOOP_HOME/bin:$PATH
/*
改完之后举行测试,参考http://blog.csdn.net/wh62592855/archive/2010/07/14/5733130.aspx
1.java -version查看版本号.
sa@sa:/etc$ java -version
java version ”1.6.0_21“
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)
2.运行java程序
在/home/sa下成立一个hello.java都文件,输入以下内容:
public class hello
{
public static void main(String args [ ])
{
System.out.println(”Hello World!“);
System.out.println(”看到这些代表安装成功啦!“);
System.out.println(”2005/9/5“);
}
}
3.编译:javac hello.java
4.履行:java hello
sa@sa:~$ javac hello.java
sa@sa:~$ java hello
Hello World! 看到这些代表安装成功啦!
2005/9/5
****************************************************
5.配置hadoop
此处参考www.hadoopor.com网站制作的《Hadoop 开辟者入门专刊》
以下是我针对自己都机械做的工作:
***************************
hadoop 的主要配置都在 hadoop-0.20.2/conf 下.
(1)在 conf/hadoop-env.sh 中配置 Java 环境(namenode 与 datanode 的都做):
$ gedit hadoop-env.sh
$ export JAVA_HOME=/home/sa/jdk1.6.0_21
(2)配置 conf/masters 和 conf/slaves 文件:
masters: sa(只在 namenode 上配置)
slaves:(namenode 与 datanode 的都做)
ubuntu
(3)配置 conf/core-site.xml, conf/hdfs-site.xml 及 conf/mapred-site.xml(以下内容namenode 与 datanode 都做)
core-site.xml:
*******************
《configuration》
《!--- global properties --》
《property》
《name》hadoop.tmp.dir《/name》
《value》/home/sa/tmp《/value》
《description》A base for other temporary directories.《/description》
《/property》
《!-- file system properties --》
《property》
《name》fs.default.name《/name》
《value》hdfs://sa:9000《/value》
《/property》
《/configuration》
*******************
hdfs-site.xml:( replication 默许为 3,假如不改正,datanode 少于三台就会报错)
*******************
《configuration》
《property》
《name》dfs.replication《/name》
《value》1《/value》
《/property》
《/configuration》
*******************
mapred-site.xml:
*******************
《configuration》
《property》
《name》mapred.job.tracker《/name》
《value》sa:9001《/value》
《/property》
《/configuration》
*******************
在之前所做都工作中,hosts文件中主机名和IP地址对应好,即便IP地址发生变更,只需改正hosts中都文件便可.
运行hadoop:(以下号令在hadoop-0.20.2/bin下举行)
进入 hadoop-0.20.2/bin,首先格局化文件系统:$ hadoop namenode –format
启动 Hadoop:$ start-all.sh
查看集群状况:$ hadoop dfsadmin -report
Hadoop 的 web 方法查看:http://sa:50070
以上是“ubuntu下hadoop的布置ssh的无密码登陆[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |