安装虚拟机环境
下载VMware并安装、破解
在VMWare官网上http://www.vmware.com/ ,选择VMware workstation12 pro版本安装。创建虚拟机
在Ubuntu的官网https://www.ubuntu.com/上下载, ubuntu-14.04.4-desktop-amd64.iso,该版本为稳定的维护的版本。安装VMWare Tools
①启动Ubuntu系统,进入到桌面
②单击VMWare的【虚拟机】菜单,选择【安装VMWare Tools】命令
系统会自动挂载VMWare Tools,并自动打开
③解压tar.gz包
将压缩包复制到桌面,打开terminal,执行解压命令
tar -zxvf VMwareTools-10.0.0-2977863.tar.gz
④安装VMWare Tools
切换到文件夹下,执行安装文件,重启后生效
cd Desktop/vmware-tools-distrib/
sudo ./vmware-install.pl使用共享文件夹
①在物理机Windows系统中创建一个文件夹,用作共享文件夹
②在虚拟机关闭的情况下,打开虚拟机设置,在弹出的对话框中单击【选项】
③单击【共享文件夹】,在右侧选择【总是启用】选项,单击【添加】按钮
④在弹出的向导对话框中,进行如下操作,添加共享文件夹
⑤启动虚拟机系统,共享文件夹被放在【/mnt/hgfs/】目录下,即在【/mnt/hgfs/share】中就可以找到被共享的文件了安装JDK
①下载jdk安装包,放入物理机的共享文件夹
当前官网的最新版本jdk1.8.0_05
②解压安装jdk
进入虚拟机,切换到共享文件夹下,输入命令进行安装
cd /mnt/hgfs/share
sudo tar zxvf jdk-8u5-linux-x64.gz -C /usr/local/
③配置hadoop用户环境变量
sudo gedit ~/.bashrc
打开后添加:
export JAVA_HOME=/usr/local/jdk1.8.0_65
export PATH=${JAVA_HOME}/bin:$PATH
保存后退出
④配置默认jdk版本
sudo update-alternatives --install /usr/local/jdk1.8.0_65 /bin/java 300
sudo update-alternatives --install /usr/local/jdk1.8.0_65 /bin/javac 300
sudo update-alternatives --config java
⑤刷新配置
source ~/.bashrc
⑥查看环境是否配置成功
java -version系统环境配置
①修改主机名:
(1)临时修改:
sudo hostname master
(2)永久修改:
sudo gedit /etc/hostname
修改后重启生效
②设置固定IP
sudo gedit /etc/network/interfaces
在其中写入:
auto eth0
iface eth0 inet static
address 192.168.111.128
netmask 255.255.255.0
gateway 192.168.111.1
③修改主机名和 IP 的映射关系
sudo gedit /etc/hosts
打开后修改为:
127.0.0.1 localhost
127.0.0.1 master
192.168.111.200 master
④关闭防火墙
sudo ufw disable
之后,系统提示“防火墙在系统启动时自动禁用”。
⑤重启虚拟机
sudo reboot now安装SSH并设置无密码登录
①安装OpenSSH
sudo apt-get install ssh openssh-server
中途按y继续
②确认sshserver是否启动
sudo ps -e | grep sshd
③生成RSA密钥(包括私钥和公钥)
ssh-keygen -t rsa
回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的
④将新生成的公钥复制到已授权密钥列表
进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
⑤将生成的authorized_keys文件拷贝到slave1主机相同的文件夹下
scp authorized_keys master:~/.ssh/安装Hadoop
①解压安装
在hadoop的官网上下载:http://hadoop.apache.org/下载hadoop-2.7.2.tar.gz
将压缩包放在物理机的共享文件夹中,打开虚拟机,进入共享文件夹/mnt/hgfs/
输入命令解压安装包到/usr/local/下
sudo tar -zxvf hadoop-2.7.2.tar.gz -C /usr/local/
②修改环境变量
sudo gedit /usr/local/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
打开后
替换exportJAVA_HOME=${JAVA_HOME}为如下:
export JAVA_HOME=/usr/local/jdk1.8.0_65
同样,配置yarn-env.sh(YARN资源管理器,管理的是HADOOP集群中的主从节点资源,YARN不需要安装,它是HADOOP自带的,通过配置起作用)
在里面加入:
export JAVA_HOME=/usr/local/jdk1.8.0_65
③为运行Hadoop创建目录
Hadoop运行在Linux操作系统之上,它直接使用Linux的本地文件系统来存储HDFS的相关信息。因此,必须为Hadoop集群的每个节点创建相同目录结构,操作命令如下。
mkdir ~/dfs #在Linux文件系统中构建HDFS的统一入口位置
mkdir ~/dfs/tmp #创建tmp目录,用于保存HDFS工作时的临时信息
mkdir ~/dfs/data #创建data目录,存储HDFS的用户文件的数据块
mkdir ~/dfs/name #创建name目录,存储HDFS的元数据信息配置伪分布式模式
①打开core-site.xml文件
sudo gedit /usr/local/hadoop-2.7.2/etc/hadoop/core-site.xml
然后在“<configuration>”和“</configuration>”标签之间输入以下内容并保存。
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
<description>HDFS的URI,master为主节点的主机名</description>
</property>
<property>
<name>io.file.buffer.size </name>
<value>130172</value>
<description>文件缓存大小</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/dfs/tmp</value>
<description>namenode工作时的临时文件夹</description>
</property>```
②打开hdfs-site.xml文件
sudo gedit /usr/local/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
然后在“<configuration>”和“</configuration>”标签之间输入以下内容并保存。
```<property>
<name>dfs.namenode.name.dir </name>
<value>file:/home/hadoop/dfs/name</value>
<description>NameNode上HDFS名字空间元数据的存储位置</description>
</property>
<property>
<name>dfs.datanode.data.dir </name>
<value> file:/home/hadoop/dfs/data </value>
<description>DataNode数据块的物理存储位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,默认是3,应小于DataNode节点数量</description>
</property>
<property>
<name>dfs.http.address</name>
<value>master:50070</value>
<description>HDFS Web UI的入口URL</description>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
<description>可查看SecondaryNameNode守护进程的状态信息</description>
</property>```
③打开yarn-site.xml文件
sudo gedit /usr/local/hadoop-2.7.2/etc/hadoop/yarn-site.xml
然后在“<configuration>”和“</configuration>”标签之间输入以下内容并保存。
```<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18041</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18042</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18043</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>```
④打开mapred -site.xml文件
sudo cp mapred-site.xml.template mapred-site.xml
sudo gedit mapred-site.xml
然后在“<configuration>”和“</configuration>”标签之间输入以下内容并保存。
```<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address </name>
<value> master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address </name>
<value> master:19888</value>
</property>```
10. HDFS格式化
初次运行的初始化
进入hadoop的根目录后输入以下命令
./bin/hdfs namenode -format
11. 启动hadoop
cd /usr/local/hadoop-2.7.2
sbin/start-dfs.sh
sbin/start-yarn.sh
或
sbin/start-all.sh
在master机上输入jps
12. 测试
可以在web UI中做测试:
在浏览其中输入:[http://master:8088](http://master:8088)可以看到hadoop的信息。