1.下载虚拟机
版本:VMware-workstation-full-12.5.7.20721
下载地址:链接:http://pan.baidu.com/s/1qY0Szfu 密码:yfg8
2.下载ubuntu
版本;ubuntu-16.04-desktop-amd64.iso
下载地址:链接:http://pan.baidu.com/s/1b3MCv8 密码:lhc3
3.安装虚拟机
安装下载好的ubuntu
4.更新APT&安装vim
按ctrl+alt+t打开命令终端,按ctrl+shfit+v进行粘贴
命令:sudo apt-get update
命令:sudo apt-get install vim
5.安装SSH,配置无密钥登录
sudo apt-get install -y openssh-server
使用密码登录ssh localhost
设置无密码登录:cd ~/.ssh
ssh-keygen -t rsa 后面的提示全部按回车即可
加入授权:cat ./id_rsa.pub >> ./authorized_keys
无密码登录
6.安装Jdk
先用java命令查看已有jdk版本
sudo apt-get install openjdk-8-jdk-headless
配置环境变量
dpkg -L openjdk-8-jdk-headless | grep '/bin/javac'
获得路径:
vim ~/.bashrc
在第一行添加路径
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
然后点击 Esc,输入 wq,保存退出(如果按Esc没有反应,直接按shfit+z两次,直接保存退出)
source ~/.bashrc 对以上操作进行保存
然后进行检验,如下,两者结果相同,即为成功。
7.下载安装Hodoop
版本:
hadoop-2.7.3.tar.gz
下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/stable/
解压到/usr/local
sudo tar -zxf ~/Downloads/hadoop-2.7.3.tar.gz -C /usr/local
改名并修改权限
检查版本
8.关闭这个系统,然后进行克隆
右键 管理 克隆
修改网络配置:
修改网络:右键 设置
点击高级,更新Mac地址
修改用户名:
sudo vim /etc/hostname
其余虚拟机名改为slave1,slave2。
查看ip地址
ifconfig
配置文件
sudo vim /etc/hosts
测试节点
ping master -c 3
重命名后重启。
9.ssh无密码登录节点
生成公钥
- cd~/.ssh# 如果没有该目录,先执行一次ssh localhost
- rm./id_rsa*# 删除之前生成的公匙(如果有)
- ssh-keygen -t rsa# 一直按回车就可以
让 master 节点需能无密码 SSH 本机,在 master 节点上执行:
cat ./id_rsa.pub >> ./authorized_keys
验证:ssh master
接着在 master 节点将上公匙传输到 slave1 和slave2 节点:
scp ~/.ssh/id_rsa.pub hadoop@slave2:/home/hadoop/
在子节点中,对公钥
- cat~/id_rsa.pub >> ~/.ssh/authorized_keys
- rm~/id_rsa.pub# 用完就可以删掉了
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
source ~/.bashrc
使配置生效。
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</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>
- </configuration>
- <configuration>
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>Master</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- </configuration>
- cd/usr/local
- sudo rm-r ./hadoop/tmp# 删除 Hadoop 临时文件
- sudo rm-r ./hadoop/logs/*# 删除日志文件
- tar-zcf ~/hadoop.master.tar.gz ./hadoop# 先压缩再复制
- cd~
- scp./hadoop.master.tar.gz slave1:/home/hadoop
- sudo tar-zxf ~/hadoop.master.tar.gz -C /usr/local
- sudo chown-R hadoop /usr/local/hadoop
- hdfs namenode -format# 首次运行需要执行初始化,之后不需要
- start-dfs.sh
- start-yarn.sh #关闭是stop-yarn.sh
- mr-jobhistory-daemon.sh start historyserver
jps
可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 进程。
- hdfs dfs-mkdir-p /user/hadoop
- hdfs dfs-mkdirinput
- hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml inp
- hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output'dfs[a-z.]+'
- stop-yarn.sh
- stop-dfs.sh
- mr-jobhistory-daemon.sh stop historyserver