完整安装过程参考:http://www.cnblogs.com/shishanyuan/p/4147580.html
一、环境准备
1、安装linux、jdk
2、下载hadoop2.6.0,并解压
二、安装
1、安装jdk
下载jdk,最好使用较新版本,最低不能低于jdk1.6
解压 :tar -zxvf jdk-7u40-linux-i586.tar.gz
配置环境:
添加JAVA_HOME,CLASSPATH环境变量:
使用vi /etc/profile命令编辑profile文件,在文件末尾加上以下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_74 {jdk安装目录}
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:JAVA_HOME/jre/bin:$PATH
然后保存退出,运行 source /etc/profile 使配置生效
最后测试 java -version
出现上图情况,配置成功
三丶hadoop的有关配置
修改hadoop文件权限
chown -hR +普通用户名 /usr/hadoop
配置环境:
使用vi /etc/profile命令编辑profile文件,在文件末尾加上以下内容:
export HADOOP_PREFIX=/opt/hadoop-1.2.1
export PATH=$PATH:$HADOOP_PREFIX/bin
export HADOOP_HOME_WARN_SUPPRESS=0(如果没有这一行,会出现警告,如下:
Warning: $HADOOP_HOME is deprecated
)
配置文件
进入hadoop1.2.1/conf文件夹中
hadoop-env.sh文件:
将jdk写入hadoop-env.sh文件中,找到JAVA_HOME将前面的#去掉,并在后面加上jdk安装目录
conf/core-site.xml文件:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>localhost切换成本地的机器名</description>
<name>hadoop.tmp.dir</name>
<value>/home/node/hadoop</value>
</property>
</configuration>
conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
<!—用来设置文件系统冗余备份数量,因为只有一个节点,所有设置为1,系统默认数量为3-->
conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
四配置ssh环境:
使用以下命令设置ssh无密码连接:
ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa
(解释一下上面这条命令, ssh-keygen 代表生成密钥; -t 表示指定生成的密钥 类型; dsa 是 dsa 密钥认证的意思; -P 用于提供密语(接着后面是两个单引号, 不要打错); -f 表示指定生成密钥文件)
这条命令完成后,会在当前文件夹下面的 .ssh 文件夹下创建 id_dsa 和 id_dsa.pub 两个文件,这是 SSH 的一对私钥和公钥,把 id_dsa.pub (公钥)追加到授权的 key 中去,输入如下命令:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
出现下面命令
username@localhost ~ $ ssh localhost
The authenticity of host 'localhost
(::1)' can't be established.
RSA key fingerprint is 6e:6b:0f:2a:b8:91:3f:c8:f0:39:e4:df:b4:d8:16:6b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '
' (RSA) to the list of known hosts.localhost
(::1)
username@localhost's password:
仍然让我输入密码,这时应该修改一下.ssh的用户和权限
chmod 700 /home/node(以下node为usrname)
chmod 700 /home/node/.ssh
chmod 600 /home/node/.ssh/authorized_keys
测试ssh配置是否成功:
ssh localhost
可以看到配置成功了,连接无需使用密码了;
配置ssh无密码访问有很多种方法,以上只是其中一种,以下是另外一种方法:
cd ~
ssh-keygen -t rsa
cd .ssh
cp id_rsa.pub authorized_keys
ssh hostname //测试连接hostname是否成功
五丶执行:
格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format
启动hadoop进程:
$ bin/start-all.sh (hadoop2.x 命令在sbin文件夹下 所以: sbin/start-all.sh)
hadoop进程的日志输出目录是: ${HADOOP_LOG_DIR} directory (defaults to ${HADOOP_HOME}/logs).
通过网页来浏览Namenode和Jobtracker状态, 默认情况下它们的访问地址是:
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
7.4测试hadoop:
把input中的文件拷贝到分布式系统:
$ bin/hadoop fs -put conf input
运行提供一些示例:
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
检查输出:
从分布式系统中拷贝output中的文件到本地目录,并进行检测它们:
$ bin/hadoop fs -get output output
$ cat output/*
or
查看output下的分布式目录:
$ bin/hadoop fs -cat output/*
停止进程:
$ bin/stop-all.sh
至此,伪分布式安装hadoop完成。