安装ssh
$ sudo apt-get install ssh
$ sudo apt-get install rsync
生成密钥用于无密码登陆
ssh-keygen -C "[email protected]" -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 644 authorized_keys
验证SSH是否可用
ssh localhost
如果 返回 Agent admitted failure to sign using the key解决办法:
ps -aux|grep agent察看ssh-agent有无运行,如果没有运行
~/.ssh$ ssh-agent
~/.ssh$ ssh-add id_rsa
安装
hadoop-1.0.3.tar.gz
解压
~/.bashrc 文件最后一行加入:
HADOOP_HOME= /etc/hadoop
PATH=$PATH:$HADOOP_HOME/bin
source ./bashrc
修改配置文件,指定JDk安装路径
vi conf/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jdk-7
修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号
vi conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改Hadoop中HDFS的配置,配置的备份方式默认为3,因为安装的是单机版,所以需要改为1
vi conf/hdfs-site.xml
<configuration>
//ClientDatanodeProtocol 调用getBlockLocalPathInfo的时候会抛出
//org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException:
<property>
<name>dfs.block.local-path-access.user</name>
<value>lv</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
:确保指定的几个目录权限,否则会有datanode启动不了等问题
:重新format的时候要清空下面的/dfs/data文件夹否则会报如下错误:File /master/m03 could only be replicated to 0 nodes, instead of 1
<name>hadoop.tmp.dir</name>
<value>/home/larry/tmp</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/larry/hdfs</value>
</property>
<property>
:该目录下的fsimage和fsedit保存着url与blockid的映射等,需要备份
<name>dfs.name.dir</name>
<value>/home/larry/namenode</value>
</property>
<property>
修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口
vi conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
接下来,启动Hadoop,在启动之前,需要格式化Hadoop的文件系统HDFS,进入Hadoop文件夹,输入下面命令
bin/hadoop namenode -format
:不要用sudo ,否则会namenode.FSNamesystem: fsOwner=root,导致在启动hadoop的时候需要输入root密码
然后启动Hadoop,输入命令
bin/start-all.sh
bin/hadoop dfsadmin -safemode leave #解除hadoop的安全模式
这个命令为所有服务全部启动。
最后,验证Hadoop是否安装成功。打开浏览器,分别输入一下网址:
http://localhost:50030 (MapReduce的Web页面)
http://localhost:50070 (HDfS的web页面)