环境:Mac本 + VMWare Fusion + CentOS 64
部署伪分布式Hadoop的步骤
1. 下载到jdk1.7 和 Hadoop 2.6.0,并传到CentOS虚拟机中。步骤略
注意:VMWare Fusion自带的CentOS 64只有命令行接口,是没有办法安装VVMWare Tools的,所以也就没有办法从Mac中把文件共享过去。我是重新从网上下载了一个CentOS,装完了有GUI
2. jdk 和 Hadoop 解压到/usr/,并添加环境变量
编辑~/.bashrc,添加如下内容:
export JAVA_HOME=/usr/jdk1.7.0_45
export HADOOP_HOME=/usr/hadoop-2.6.0
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
保存后执行 source ~/.bashrc
之后在任何目录下敲java 或者 hadoop 都能找到
3. 修改hadoop的配置
etc/hadoop/core-site.xml:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration>
etc/hadoop/hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
etc/hadoop/mapred-site.xml:
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
4. 无密码ssh登录
ssh-keygen -t rsa
cd ~/.ssh
cat id_rsa.pub > authorized_keys
之后ssh localhost就不用密码了
注意,如果你的hostname不是localhost则会有一些问题。需要修改:/etc/hostname中内容为localhost(如果没有这个文件就不用改了),敲命令hostname localhost
5. 启动hadoop
cd /usr/hadoop-2.6.0
bin/hadoop namenode -format
sbin/start-all.sh
如果正常启动成功的话,用jps查看java进程会有下面这几个:
56522 NodeManager
56190 SecondaryNameNode
56409 ResourceManager
57939 Jps
55950 DataNode
55738 NameNode
注意:
1. 如果你没有使用root账户来安装的话,一定保证所有操作都在你想安装的那个账户下操作
2. 如果提示你的账户没权限操作是由于不在sudoers列表里的话,需要先切换到root账户,然后编辑/etc/sudoers,复制下面这行然后把账户改成你需要的账户(可能会说不让你编辑,这时候需要先修改文件权限,改完后再修改回来)
root ALL=(ALL) ALL