hadoop集群搭建(一)——单机版配置
这个寒假和团队一起历经千辛万苦,从一开始的迷茫,然后慢慢的摸索终于完成了我们的集群搭建,成功建立起一个小小的云端。
单机版hadoop的配置;
九死一生,完成hadoop的配置
在开始搭建集群之前我先开始配置单机版的hadoop,说起来真是足够的苦逼啊!虽然最后完成了配置但是这个过程中除了Ubuntu没有被卸载掉重装意外其他的从jdk到ssh再到hadoop都被反复卸掉四五次重装,其中ssh最惨,我卸了它有十多次,主要因为我们对与Linux操作系统不太熟悉,对他的工作原理不太了解,对于hadoop更是基本上接触过一些概念之外其他的什么都不知道。好了进入正题。
配置单机版的hadoop分为四部。
1、安装Ubuntu;
2、安装配置jdk;
3、安装配置ssh;
4、安装配置hadoop;
一、安装Ubuntu;
Wubi安装乌班图的方法其实和安装其他的软件没有本质的区别,但是在安装的时候如果安装程序进入了在线安装的模式那么拜托把网线拔了网卡禁用了,否则就太慢了。
二、安装jdk;
首先声明我使用的是官方的jdk-6u30-linux-i586。
1、首先在/usr/local下建立一个名为java的文件夹
sudo mkdir /usr/local/java
2、然后将jdk复制到java文件夹下
sudo cp jdk的路径 /usr/local/java;
3、执行安装;
切换到java目录;
cd /usr/local/java;
将文件权限改为可执行;
sudo chmod u+x jdk-6u30-linux-i586.bin
在java目录下解压bin文件;
sudo ./jdk-6u30-linux-i586.bin;
4、配置环境变量;
编辑配置文件;
sudo gedit /etc/profile
在配置文件尾添加如下代码
#set java environment
export JAVA_HOME=/ usr/local/java/jdk1.6.0_30
export JRE_HOME=/ usr/local/java/jdk1.6.0_30 /jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
5、重启机器,输入java -version如果打印出java version就说明你已经配置好啦!
Tips:在使用gedit的时候偶尔出现gedit不能使用的状况,这个时候你可以采取重开终端,重启机器的方式解决,但是最好我建议安装一下vim编辑器,这种编辑器也是鼎鼎大名的,使用起来也比那么什么vi方便许多,但是Ubuntu并不自带这种编辑器需要下载;
sudo apt-get install vim
三、安装hadoop;
这里我们使用的是hadoop稳定版hadoop-0.20.203.0;
1、将hadoop压缩文件复制到local文件目录下;
复制:cp hadoop路径 /usr/local
2、解压hadoop文件;
解压:sudo tar -xzf hadoop-0.20.203.0rc1.tar
将解压后的文件夹更名为hadoop:sudo mv hadoop-0.20.203.0 hadoop
3、为了方便管理和集群搭建我们建立一个名为hadoop的用户组和hadoop用户;
建立hadoop用户组:sudo addgroup hadoop;
建立hadoop用户并归到hadoop用户组下:sudo adduser -ingroup hadoop hadoop
4、让hadoop用户可以使用sudo命令;
打开sudoers文件:sudo gedit /etc/sudoers;
在root ALL =(ALL) ALL 下面添加如下代码;
hadoop ALL =(ALL) ALL;
5、安装ssh;
切换到hadoop用户下或者以hadoop身份登录;
1、下载ssh :sudo apt-get install openssh-server;(顺便教大家一个可能会用到的命令sudo apt- get remove openssh-server,看了字面你就懂什么意思了);
2、创建sshkey为rsa;ssh-keygen -t rsa -P ""
填写key保存路径的时候可以直接使用默认的(一直按enter键就行了。)
3、将ssh-key添加到受信任列表并启用ssk-key
cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys
(将公钥追加到收信任文件);
重启ssh:sudo /etc/init.d/ssh reload
4、验证ssh是否安装成功ssh localhost;
四、配置hadoop;
1、配置conf/hadoop-env.sh文件;
切换路径:cd /usr/local/hadoop
编辑文件:sudo gedit conf/hadoop-env.sh
将JAVA_HOME前面的#号去掉,java路径改为:
JAVA_HOME=/ usr/local/java/jdk1.6.0_30
2、配置conf/core-site.xml文件;
sudo gedit conf/core-site.xml
添加如下代码
1 <configuration>
2 <property>
3 <name>fs.default.name</name>
4 <value>hdfs://localhost:9000</value>
5 </property>
6 <property>
7 <name>dfs.replication</name>
8 <value>1</value>
9 </property>
10 <property>
11 <name>hadoop.tmp.dir</name>
12 <value>/home/hadoop/tmp</value>
13 </property>
14 </configuration>
3、配置conf/mapred-site.xml文件;
sudo gedit conf/mapred-site.xml
添加如下代码;
1 <configuration>
2 <property>
3 <name>mapred.job.tracker</name>
4 <value>localhost:9001</value>
5 </property>
6 </configuration>
4、运行测试;
1、首次运行需要格式化namenode;
切换到hadoop目录下
cd /usr/local/hadoop
/bin/hadoop namenode -format
2、启动hadoop;
首先修改hadoop文件的访问权限;
sudo chown -R hadoop /usr/local/hadoop
./bin start-all.sh
3、jps命令查看启动是否成功;
如果同时打印出:NameNode,JobTracker,SecondaryNameNode,jps,tasktracker,DataNode则表示安装成功;
5、测试经典示例wordcount;
1、首先准备两个本地文档;
Sudo gedit /tmp/test1.txt
Sudo gedit /tmp/test2.txt
随意在其中写入一些单词,以空格分开;
2、在hdfs中新建目录
./bin/hadoop dfs -mkdir file-in
3、上传本地文件到hdfs中指定的目录;
./bin/hadoop copyFromLocal /tmp/test*.txt file-in
4、运行wordcount;
./bin/hadoop jar hadoop-examples-0.20.203.0.jar wordcount file-in file-out
5、查看运行结果;
./bin/hadoop dfs -cat file-out/part-r-00000
OK!接下来自己看看结果和你写入的是否一样!
单机版搞定!!!
<!--EndFragment-->