请选择 进入手机版 | 继续访问电脑版

雨林木风

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 52|回复: 0

ubuntu下hadoop的部署ssh的无密码登陆

[复制链接]

6401

主题

6408

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
19613
发表于 2019-12-13 09:07:58 | 显示全部楼层 |阅读模式
  实践环境:
  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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|appname
快速回复 返回顶部 返回列表