云计算环境配置方法

mount -t vboxsf Linux /mnt

1.获得系统root权限:
安装完Ubuntu后突然意识到没有设置root密码,不知道密码自然无法进入根用户下。
因为Ubuntu的默认root密码是随机的。即每次开机都有一个新的root密码。
要使用root时,需要在终端修改root密码先:
sudo passwd root
提示输入当前用户密码
输入新root密码
再次确认
ok

(修改好后,每次登陆都输入用户名root和密码,而登陆root。)


(/etc/hostname文件修改主机名)

2.在各节点的/ect/hosts文件中添加节点ip及对应机器名,并在各个节点上建立相同的用户
例如修改为
192.168.0.201 zhu001
192.168.0.202 zhu002
修改后,系统可实现ip地址与机器名的对应和解析。
3.解除节点间用户的ssh访问密码
在管理节点(Namenode)的/root目录下建立.ssh目录。
ssh-keygen -t dsa //生成ssh
cd /root/.ssh
cp id_dsa.pub authorized_keys
chmod go-rwx authorized_keys
scp -r /root/.ssh zhu002: /root //将zhu001中的.ssh文件夹内容复制到zhu002节点的相同位置。

********************************************

cd /root/.ssh
ssh-keygen //生成ssh
chmod go-rwx id_dsa.pub
scp -r ./id_dsa.pub zhu002:/root/.ssh/authorized_keys //将zhu001的.ssh文件夹内的id_dsa.pub复制到zhu002节点.ssh的相同位置,并将名字改为authorized_keys。

********************************************

JDK的安装配置:
将JDK软件包jdk-1_5_0_12-linux-i586.bin存放在root目录下。
1、给jdk-1_5_0_12-linux-i586.bin加上可执行权限:
chmod a+x jdk-1_5_0_12-linux-i586.bin
2、运行jdk-1_5_0_12-linux-i586.bin进行安装:
sh ./jdk-1_5_0_12-linux-i586.bin
安装后将在当前目录生成jdk1.5.0_12文件夹。
(bin文件要在终端里这样运行:
首先进入bin文件的当前目录,然后
sh ./文件名.bin
如果安装的时候需要root权就用sudo sh ./文件名.bin )

3、把生成的文件夹jdk1.5.0_12复制到/usr/java
mkdir /usr/java
cp -r jdk1.5.0_12 /usr/java

4、设置环境变量,修改/etc/profile文件。
在/etc/profile文件中添加如下代码:
export JAVA_HOME="/usr/java/jdk1.5.0_12"
export PATH="$PATH :$JAVA_HOME/bin:$JAVA_HOME/jre/bin: "
export CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
保存上面信息之后在命令行中键入:
source /etc/profile //使环境变量设置生效
通过which命令测试JDK的安装是否成功:
which java
系统显示如下信息:
/usr/java/jdk1.5.0_12/bin/java
此时JDK配置成功,接下来即可进行Hadoop的安装和配置。
建立test.java文件:
public class test
{
public static void
main(String args[])
{
System.out.println("hadoop test!JDK successed!\n");
}
}
编译测试程序:
javac test.java
运行测试程序:
java test
输出为hadoop test!JDK successed!表示JDK已安装成功,并能成功编译执行java程序。

****************

****************************
经配置测试,发现java版本与Hadoop不兼容,需要安装新版本JDK。
因此,下载新JDK,重新配置如下:
将JDK软件包jdk-6u26-linux-i586.bin存放在root目录下。
cp jdk-6u26-linux-i586.bin /root
1、给jdk-6u26-linux-i586.bin加上可执行权限:
chmod a+x jdk-6u26-linux-i586.bin
2、运行jdk-6u26-linux-i586.bin进行安装:
sh ./jdk-6u26-linux-i586.bin
安装后将在当前目录生成jdk1.6.0_26文件夹。
(bin文件要在终端里这样运行:
首先进入bin文件的当前目录,然后
sh ./文件名.bin
如果安装的时候需要root权就用sudo sh ./文件名.bin )

3、把生成的文件夹jdk1.6.0_26复制到/usr/java
mkdir /usr/java
cp -r jdk1.6.0_26 /usr/java

4、设置环境变量,修改/etc/profile文件。
在/etc/profile文件中添加如下代码:
export JAVA_HOME="/usr/java/jdk1.6.0_26"
export PATH="$PATH :$JAVA_HOME/bin:$JAVA_HOME/jre/bin: "
export CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
保存上面信息之后在命令行中键入:
source /etc/profile //使环境变量设置生效
通过which命令测试JDK的安装是否成功:
which java
(重新修改/etc/profile文件后,需要重新启动才能生效)
系统显示如下信息:
/usr/java/jdk1.6.0_26/bin/java

********************************************

Hadoop的安装配置:
1、将Hadoop解压放在用户的主目录/root下:
tar -xzvf hadoop-0.20.2.tar.gz //解压Hadoop到当前目录
其中,conf文件夹里存储的是Hadoop的各个配置文件,bin文件夹里存放的是Hadoop命令文件,这两个文件夹内的东西我们会经常用到。
2、修改Hadoop的配置文件
cd /root/hadoop-0.20.2/conf/
(1)修改hadoop-env.sh配置文件。
在配置文件中添加如下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_26

(2)修改master和slaves配置文件:
在模拟模式下这两个文件不作修改,保留localhost设置,如不是模拟模式则设定对相应的IP地址即可。
master修改为: zhu001
slaves修改为:zhu002

(3)修改core-site.xml配置文件,配置Namenode的IP和端口。



https://www.360docs.net/doc/a83699022.html,
hdfs://192.168.0.201:9000



hadoop.tmp.dir
/tmp/hadoop/hadoop-${https://www.360docs.net/doc/a83699022.html,}



(4)修改hdfs-site.xml配置文件,配置数据备份数量。


dfs.replication
1


(5)修改mapred-site.xml配置文件,配置Jobtracker的IP和端口。


mapred.job.tracker
192.168.0.201:9001



3、格式化Namenode(格式化Namenode是运行Hadoop之前的必须步骤)
执行Hadoop的bin文件夹中的格式化命令:
sh hadoop namenode -form

at
格式化命令正确执行后系统显示如下:

root@zhu001:~/hadoop-0.20.2/bin# sh hadoop namenode -format


11/07/13 09:12:48 INFO https://www.360docs.net/doc/a83699022.html,Node: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = zhu001/192.168.0.201
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 0.20.2
STARTUP_MSG: build = https://https://www.360docs.net/doc/a83699022.html,/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010
************************************************************/
11/07/13 09:12:49 INFO namenode.FSNamesystem: fsOwner=root,root,adm,dialout,fax,cdrom,tape,audio,dip,video,plugdev,fuse,lpadmin,netdev,admin,sambashare
11/07/13 09:12:49 INFO namenode.FSNamesystem: supergroup=supergroup
11/07/13 09:12:49 INFO namenode.FSNamesystem: isPermissionEnabled=true
11/07/13 09:12:49 INFO common.Storage: Image file of size 94 saved in 0 seconds.
11/07/13 09:12:50 INFO common.Storage: Storage directory /tmp/hadoop/hadoop-root/dfs/name has been successfully formatted.
11/07/13 09:12:50 INFO https://www.360docs.net/doc/a83699022.html,Node: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at zhu001/192.168.0.201
************************************************************/


4、Hadoop的运行与停止
(1)Hadoop的运行。
运行Hadoop的bin目录下的 start-all.sh ,启动Hadoop

(2)停止
bin/stop-all.sh


5、测试Hadoop
(1)先在本地/root/test目录下建立两个测试文件file1.txt、file2.txt。
file1.txt内容是:hello hadoop hello world
file2.txt内容是:This is a first hadoop

(2)将/root/test目录下的文件复制到HDFS文件系统。
sh bin/hadoop dfs -copyFromLocal /root/test test-in
其中,test-in 为我们建立的HDFS文件目录,HDFS有自己的文件目录系统,名字可根据自己需要命名,/root/test为本地计算机目录。
以下命令可以查看我们刚才复制到HDFS的目录:
sh bin/hadoop dfs -ls test-in
以下命令可以查看我们刚才复制到HDFS中的file1.txt具体内容:
sh bin/hadoop dfs -cat test-in/file1.txt
运行Hadoop的示例程序wordcount,命令如下:
sh bin/hadoop jar hadoop-0.20.2-examples.jar wordcount test-in test-out
该命令从HDFS文件系统的test-in目录读取文件计算单词出现次数,并创建test-out输出文件目录。

----------------------------------------------------------------
《添加一个新机器:datanode》
修改hosts文件:
在各节点的/ect/hosts文件中添加节点ip及对应机器名,并在各个节点上建立相同的用户
例如 添加为
192.168.0.205 zhu003
修改后,系统可实现新添电脑ip地址与机器名的对应和解析。

3.解除节点间用户的ssh访问密码
在新节点的/root目录下建立.ssh目录。
mkdir .ssh
ssh-keygen //生成ssh
cd /root/.ssh
cp id_

rsa.pub authorized_keys
chmod go-rwx authorized_keys

scp -r ./id_dsa.pub zhu002:/root/.ssh/authorized_keys //将zhu001的.ssh文件夹内的id_dsa.pub复制到zhu002节点.ssh的相同位置,并将名字改为authorized_keys。

分别将各机器的id_rsa.pub加到其他机子的.ssh/authorized_keys文件里即可
cat /home/username/.ssh/id_rsa.pub >> /home/username/.ssh/authorized_keys

scp -r ./id_rsa.pub zhu003:/root/.ssh/123
scp -r zhu001:/root/.ssh/id_rsa.pub ./123
cat 123 >> authorized_keys


scp -r zhu001:/usr/java /usr

scp -r zhu001:/root/hadoop-0.20.2 /root

export JAVA_HOME="/usr/java/jdk1.6.0_26"
export PATH="$PATH :$JAVA_HOME/bin:$JAVA_HOME/jre/bin: "
export CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"

相关文档
最新文档