Hadoop集群部署

   

#Hadoop集群部署

 

 虚拟机:  VMware Workstation9

 

 操作系统: ubuntu11.04

 

 Jdk版本 jdk-6u20-linux-i586.bin

 

 Ssh版本 openssh-client_5.3p1-3ubuntu3_i386.deb

       https://launchpad.net/ubuntu/lucid/i386/openssh-client/1:5.3p1-3ubuntu3

       openssh-server_5.3p1-3ubuntu3_i386.deb

       https://launchpad.net/ubuntu/lucid/i386/openssh-server/1:5.3p1-3ubuntu3

       ssh_5.3p1-3ubuntu3_all.deb

       https://launchpad.net/ubuntu/lucid/i386/ssh/1:5.3p1-3ubuntu3

 

 Hadoop版本hadoop-0.21.0.tar.gz

 

#1.虚拟机安装配置

(略)

#2.操作系统安装配置

(略)部署时先建立hadoop用户然后使用hadoop用户登录进行配置

#3.java环境安装配置

所有的机器上都要安装JDK,现在就先在Master服务器安装,然后其他服务器按照步骤重复进行即可。安装JDK以及配置环境变量,需要以"root"的身份进行

3.1 将jdk-6u20-linux-i586.bin文件拷贝的系统中,然后将其拷贝到/usr/local/目录下

~$: sudo cp /home/hadoop/Desktop/jdk-6u20-linux-i586.bin /usr/local

3.2 进入文件目录执行安装命令

~$: cd /usr/local

~$: ./jdk-6u20-linux-i586.bin 

3.3 安装完成后进行jdk配置

~$: sudo gedit /etc/environment

3.4 在environment文件中添加配置

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/jdk1.6.0_20/bin"

CLASSPATH="/usr/local/jdk1.6.0_20/lib"    

JAVA_HOME="/usr/local/jdk1.6.0_20"  

3.5 测试是否安装成功

~$: java -version

3.6修改hosts文件(添加本机192.168.170.43   node1 ,192.168.168.220  master )

~$ Sudo gedit /etc/hosts

 

 

 

 

#4.建立hadoop用户组及用户

所有的机器上都要创建hadoop用户组及hadoop用户,现在就先在Master服务器安装,然后其他服务器按照步骤重复进行即可。需要以"root"的身份进行

4.1 切换到root下 执行创建命令

~$ sudo addgroup hadoop

4.2 为hadoop组添加hadoop用户

~$ sudo adduser -ingroup hadoop hadoop

4.3 为hadoop添加权限

~$ sudo gedit/etc/sudoers

4.4 在sudoers文件里,root下添加信息

Root  ALL=(ALL:ALL) ALL

Hadoop ALL=(ALL:ALL) ALL

4.5 设置可写权限

Chmod -R 755 hadoop

 

 

#5.ssh安装配置

所有的机器上都要安装配置ssh

5.1 将ssh文件放入系统中进行安装,默认目录/etc/ssh

~$ sudo dpkg -i openssh-client_5.3p1-3ubuntu3_i386.deb

~$ sudo dpkg -i openssh-server_5.3p1-3ubuntu3_i386.deb

~$ sudo dpkg -i ssh_5.3p1-3ubuntu3_all.deb

5.2 测试是否安装成功

~$ ssh localhost

5.3 为hadoop用户生成密钥对,先切换到hadoop用户下(默认目录是/home/hadoop/.ssh)

~$ su hadoop

~$ cd /home/hadoop

~$ ssh-keygen -trsa 

~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

5.4 测试连接是否成功(第一次连接会有提示)

~$ ssh localhost

~$ ssh node1

The authenticity of host ‘node1 (10.64.56.76)’ can’t be established.
RSA key fingerprint is 03:e0:30:cb:6e:13:a8:70:c9:7e:cf:ff:33:2a:67:30.
Are you sure you want to continue connecting (yes/no)?

5.5 将authorized_keys复制到其他子节点中(使用ssh localhost)

~$ cd .ssh 

~$ scp authorized_keys node1:/home/hadoop/.ssh

5.6 修改authorized权限

~$ chmod 644 authorized_keys

 

 

#6.hadoop安装及配置

#切换到hadoop用户下

6.1 将hadoop文件放入系统中 拷贝到/usr/local 目录下

~$ sudo cp /home/hadoop/Desktop/hadoop-0.21.0.tar.gz /usr/local

6.2 执行解压,修改hadoop-0.21.0文件夹名称方便以后操作(权限不够就切换root用户)

~$ cd /usr/local/

~$ sudo tar -zxvf hadoop-0.21.0.tar.gz 

~$ cd /usr/local/

~$ mv hadoop-0.21.0 hadoop

6.3 配置hadoop的conf/hadoop-env.sh文件(将jdk的路径添加上)

~$ sudo gedit /usr/local/hadoop/conf/hadoop-env.sh

  export JAVA_HOME=/usr/local/jdk1.6.0_20

6.4 配置conf/core-site.xml(所有节点相同)

~$ sudo gedit /usr/local/hadoop/conf/core-site.xml

 <property>

     <name>fs.default.name</name>

     <value>hdfs://master:49000</value>

 </property>

 <property>

     <name>hadoop.tmp.dir</name>

     <value>/home/hadoop/hadoop_home/var</value>

 </property>

6.5 配置conf/mapred-site.xml(所有节点相同)

~$ sudo gedit /usr/local/hadoop/conf/mapred-site.xml

 <property>

      <name>mapred.job.tracker</name>

      <value>master:49001</value>

 </property>

 <property>

      <name>mapred.local.dir</name>

      <value>/home/hadoop/hadoop_home/var</value>

 </property>

6.6 配置 conf/hdfs-site.xml(所有节点相同)

~$ sudo gedit /usr/local/hadoop/conf/hdfs-site.xml

 <property>

    <name>dfs.name.dir</name>

<value>/home/hadoop/name1</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/data1</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

 

6.7 配置masters和slaves主从结点

~$ sudo gedit /usr/local/hadoop/conf/masters

 master

~$ sudo gedit /usr/local/hadoop/conf/slaves

 node

 

 

 

 

#7.hadoop启动

格式化一个新的分布式文件系统

7.1进行格式化(执行完后可以到master机器上看到/home/hadoop//name1)

~$ cd /usr/local/hadoop

~$ bin/hadoop namenode-format

7.2 启动所有节点

~$ ssh localhost

~$ cd /usr/local/hadoop

~$ bin/start-all.sh

系统输出以下信息

starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out

node2: starting datanode, loggingto /usr/local/hadoop/logs/hadoop-hadoop-datanode-ubuntu.out

node3: starting datanode, loggingto /usr/local/hadoop/logs/hadoop-hadoop-datanode-ubuntu.out

node1:starting secondarynamenode,logging to /usr/local/hadoop/logs/hadoop-hadoop-secondarynamenode-ubuntu.out

starting jobtracker, logging to/usr/local/hadoop/logs/hadoop-hadoop-jobtracker-ubuntu.out

node2: starting tasktracker,logging to /usr/local/hadoop/logs/hadoop-hadoop-tasktracker-ubuntu.out

node3: starting tasktracker,logging to /usr/local/hadoop/logs/hadoop-hadoop-tasktracker-ubuntu.out

As you can see in slave's output above, it will automatically format it's storage directory(specified by dfs.data.dir) if it is not formattedalready. It will also create the directory if it does not exist yet. 

7.3 关闭所有节点

~$ ssh localhost

~$ cd /usr/local/hadoop

~$ bin/stop-all.sh

 

 

8.测试

浏览NameNode和JobTracker的网络接口,它们的地址默认为:

NameNode - http://master:50070/

jobTracker - http://master:50030/

 

 

 

 

Hadoop fs -rmr input

 

1 ssh localhost 登录仍然需要密码

Agent admitted failure to sign using the key.

解决办法:cd .ssh 

          Ssh-add ~/.ssh/id_rsa

 

如果启动成功 但是页面没有显示连接的node 

 

一定是节点配置问题 hosts

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(hadoop)