虚拟机安装hadoop步骤
1.使用的Linux系统是ubuntu14.04.1版本的,使用是jdk是1.8,使用的是Hadoop-2.7.1
2.刚装的系统里面可能很多工具命令都没有,当用到什么的时候会有提示安装,将需要的安装好就行
3.将下载好的jdk和Hadoop安装包上传到linux虚拟机上
4.创建一个用户,如hadoop(当然,也可以直接使用root账户)并将此用户添加root权限,加入sudo用户组
sudo adduser hadoop
sudo vim /etc/sudoers
#打开/etc/sudoers文件后在 root ALL=(ALL:ALL) ALL下面添加
hadoop ALL=(ALL:ALL) ALL
#添加完后保存,再执行下面的
sudo chown hadoop /home/hadoop
sudo adduser hadoop sudo
5.ubuntu中默认是没有安装ssh server的,只有 ssh client,可以使用如下命令安装
sudo apt-get install ssh openssh-server
6.设置ssh免密码登录,执行如下命令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#验证是否成功 输入
ssh localhost
#如果可以不需要密码登录则表示成功,否则就是失败,需要去查找原因,如果成功后 输入exit退出
7.安装Java sdk
#来到你放sdk的目录 将sdk 移动到你想要解压的目录下,如 我是解压到/usr/local/目录下面
mv 你的jdk的名字 /usr/local/你的jdk的名字
#移动好之后解压
tar -zxvf 你的jdk的名字
8.配置Java环境变量
sudo vim /etc/profile
#打开文件后,在其最后面添加
export JAVA_HOME=/usr/local/jdk1.8.0_40
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#保存后,输入命令
source /etc/profile
#验证是否配置成功,输入Java 或者 Java -version 如果能显示Java 的命令帮助 或者Java的版本信息就表示成功
9.解压hadoop
#同样,将hadoop压缩包移动到/usr/local目录下
mv 你的hadoop包的名字 /usr/local/你的的hadoop包的名字
#解压
tar -zxvf 你的hadoop名字
10.配置hadoop
来到/usr/local/hadoop-2.7.1/etc/hadoop/下,修改如下文件
#修改hadoop-env.sh将JAVA_HOME的值改为你Java jdk的根目录
JAVA_HOME=/usr/local/jdk1.8.0_40
#修改 core-site.xml文件
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
#修改mapred-site.xml,这个文件可能没有 但是有mapred-site.xml.tamplate文件,向将此文件复制,名命名为mapred-site.xml,然后修改复制的mapred-site.xml文件
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
#修改yarn-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
#修改hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
11.创建临时目录和namenode和datanode目录
来到hadoop根目录,比如我的就是/usr/local/hadoop-2.7.1,执行下面的命令
mkdir tmp dfs dfs/name dfs/data
12.格式化namenode的namespace和dataspace,下面的命令是在hadoop根目录下执行
bin/hdfs namenode -format
#成功的话,最后的提示如下,Exitting with status 0 表示成功,Exitting with status 1: 则是出错。
13.启动集群,也是在hadoop根目录下执行
sbin/start-dfs.sh
sbin/start-yarn.sh
#尽量不要用start-all.sh,以为hadoop作者发现这个脚本可能有点问题(但是我用的就是start-all.sh)
14.验证是否启动成功
http://ubuntu:50070 可以查看NameNode及整个分布式文件系统的状态等:
http://localhost:8088 查看all application的信息
能够正常访问则表示成功,也可以使用jps命令,如果看到NameNode,JPS,SecondaryNameNode,也是成功的,如果失败了 网上找找原因,如果实在找不出来,重装系统,重新配置吧