hadoop在linux上单机安装过程心得
在我的一台linux上安装了一下hadoop的1.1.2版本,并简单的使用了一下,感觉hadoop就向一个linux虚拟机,可以在上面创建文件夹、放文件,删除文件夹、删除文件,只是它NB的地方是可以帮你把文件分布式存储在多台子节点上,而使用者不要关心;另外,它对文件在不同子节点上有备份功能,所以你也不担心某台子节点坏了而导致文件损坏这种情况。因为我是开发者,所以我想装一台单机的hadoop练手,下面是我的安装过程的一些步骤记录(以下步骤我都是用root用户操作):
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
2、下载hadoop并解压、移动
上http://www.apache.org/dyn/closer.cgi/hadoop/common/可以选择自己想要的版本,我是用wget命令直接将hadoop下载下来:
wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-1.1.2/hadoop-1.1.2.tar.gz
--解压文件,并将解压的文件夹重命名为/opt/hadoop,执行以下命令:
tar -xvf hadoop-1.1.2.tar.gz
mv hadoop-1.1.2 /opt/hadoop
3、修改/opt/hadoop/conf文件夹下的4个配置文件
a) hadoop-env.sh ,在该文件的末尾根据JDK安装目录增加以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:/opt/hadoop/bin
b)core-site.xml ,用以下配置替换文件内容
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop/hadoop-${user.name}</value>
</property>
</configuration>
c) hdfs-site.xml,用以下配置替换文件内容 ,因为单机,所以设置文件只要保存1份,系统默认是3份:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
d) mapred-site.xml,用以下配置替换文件内容
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
4、执行hadoop环境设置,并格式化hadoop文件系统,执行以下命令
cd /opt/hadoop
source conf/hadoop-env.sh
hadoop namenode -format
5、最后一步:设置ssh免密登陆本机,执行以下命令:
ssh-keygen -t rsa -P "" 输入这个命令后一直回车就可以了
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
安全起见,你可以退出linux再以root登陆进来一下,我是没做这个步骤
6、启动hadoop,执行以下命令:
cd /opt/hadoop
./bin/start-all.sh
7、测试hadoop文件系统
在hadoop上创建文件夹,并上传一个文件,执行以下测试命令:
hadoop fs -mkdir testfolder 创建文件夹
hadoop fs -ls 列出hadoop文件列表
hadoop fs -put /opt/hadoop/*.txt /user/root/testfolder 我把hadoop目录下的所有txt文件上传到hadoop的文件系统里头去
hadoop fs -ls /user/root/testfolder 查看上传的文件列表
8、hadoop还有一个web管理控制台,可以通过http://liunxip地址:50030/来访问