今天大概尝试了一下伪分布式下的hadoop部署,简单的来总结一下
首先我们需要下载hadoop的压缩包文件:http://hadoop.apache.org/releases.html这里是hadoop项目的所有版本,不管你所使用的是那个版本基本的配置应该是一样的,我这里学习的版本有点低所使用的是0.20.2。如果选用了其他的版本,文件的目录可能会有所不同
下载完成hadoop后我们将它拷贝到用户目录下面,我的目录是/home/admin/hadoop-0.20.2.tar.gz
然后将文件解压:打开命令窗口运行命令:tar -zxvf hadoop-0.20.2.tar.gz将文件解压如图:
回车之后就可以将文件解压,下面运行命令:ls 可以看到我们的文件目录下面多出了一个hadoop-0.20.2的文件夹
然后我们到这个目录下面 cd hadoop-0.20.2/conf
然后运行命令:ls 我们可以看到这个目录下的文件,我们需要配置的文件有:hdfs-site.xml 、core-site.xml 、hadoop-env.sh 、 mapred-site.xml这四个文件。
首先我们来配置一下文件:hdfs-site.xml
需要在文件中添加:
<property>
<name>dfs.data.dir</namd> //这个是用来存放hadoop文件的路径
<value>/admin/hadoop/data</value>
<name>dfs.replication</name> //这个是hadoop文件所需要拷贝的文件个数,如果你有N个节点value值就是多少
<value>1</value>
</property>
然后保存后我们来配置文件:core-site.xml
也是在文件中添加属性:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
然后我们来配置文件:hadoop-env.sh
在文件中找到:# export JAVA_HOME=/usr/java/sun
将前面的“#”号去掉然后将自己的jdk的路径配置到上面
我的JAVA_HOME是:/usr/java/jdk所以我配置的路径就是:JAVA_HOME=/usr/java/jdk
最后我们能来配置文件:mapred-site.xml
需要添加的内容是:
<property>
<name>mapred.job.tarcker</name> //这个设置了jobtracker的端口。
<value>localhost:9001</value>
</property>
以上的配置文件确定配置正确后
配置SSH 生成密钥,使SSH可以面密钥连接到localhost
我们切换到用户的根目录下,然后运行命令:ssh-keygen -t rsa 会提示输入密钥的存放路径我们保持默认就行
OK密钥已经生成我们进行直接运行命令:cd .ssh 然后运行:ls查看该目录下的所有的文件,因为.ssh是隐藏的目录所以我们在/admin 目录下使用ls命令是看不到.ssh目录的
运行:cp id_rsa.pub authorized_keys将公钥拷贝到authorized_keys文件中
然后我们开始格式换分布是系统:
到hadoop-0.20.2目录下面运行命令:bin/hadoop namenode -format
出现上面红线的语句就说明已经格式化成功了
然后我们使用:/bin/start-all.sh 来启动hadoop
我们可以运行命令到根目录:
有必要说明一下这里的/usr/java/jdk/bin/jps中的jdk就是java的jdk我只是更改了一下文件夹的名字方便书写
运行命令能够看到以上内容就说明你的hadoop已经正常启动了
最后关闭hadoop运行命令:bin/stop-all.sh就可以了