Hadoop伪分布式从0安装教程
作者:安炳旭
时间:2018 /12 /5
主机环境:MacBookPro
虚拟机:vmware fusion
虚拟机系统:ubuntu18.04
jdk版本:1.8
Hadoop版本:2.7.7
下载
Hadoop
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
jdk
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载好放在桌面
![屏幕快照 2018-12-05 上午11.55.10](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 上午11.55.10.png)
安装
配置ssh免密登录
- 作用:避免每次start-all.sh的时候都要输入密码
步骤
- 打开命令行 输入 ssh-keygen -t rsa 一路回车
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 测试 ssh localhost
![屏幕快照 2018-12-05 上午11.43.49](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 上午11.43.49.png)
发现了问题22端口被拒绝!
解决方法:安装openssh
sudo apt-get install openssh-server
4.再次测试
![屏幕快照 2018-12-05 上午11.47.47](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 上午11.47.47.png)
成功了!
安装jdk
创建文件夹
mkdir /usr/local/java
进入
cd /usr/local/java
将下载好的内容移动
mv /home/bxan/Desktop/jdk-8u191-linux-x64.tar.gz ./
注意:bxan是用户的名字,每个人都不一样。
进入root用户:
sudo -s
解压
tar -xzvf jdk-8u191-linux-x64.tar.gz
如图:便是成功了
![屏幕快照 2018-12-05 下午12.00.35](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.00.35.png)
![屏幕快照 2018-12-05 下午12.00.43](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.00.43.png)
6.配置环境变量
gedit /etc/profile
在文件末尾加入
注意:底部不能留空行,行尾部不能有空格
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
然后
source /etc/profile
注意:这里过后java -version
javac
java 都可以使用了。
重新打开一个terminal再次尝试,若不行输入这个用这个命令安装一下sudo apt install openjdk-8-jdk-headless
成功效果:
![屏幕快照 2018-12-05 下午12.18.26](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.18.26.png)
你不信的话写个hello world试试!
安装Hadoop!
将桌面上的hadoop移动到/usr/local中
cd ~/Desktop
sudo mv hadoop-2.7.7.tar.gz /usr/local
cd /usr/local/
解压
sudo tar -xvf hadoop-2.7.7.tar.gz
解压成功后的效果:
![屏幕快照 2018-12-05 下午12.25.51](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.25.51.png)
修改配置文件
先切换到root :
sudo -s
进入目录
cd etc/hadoop/
修改hadoop-env.sh
sudo gedit hadoop-env.sh
在最后一行添加export JAVA_HOME=/usr/local/java/jdk1.8.0_191
修改core-site.xml
gedit core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改hdfs-site.xml
gedit hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4.执行namenode -format
先
cd /usr/local/hadoop-2.7.7/bin
然后
./hdfs namenode -format
成功的效果如下:
![屏幕快照 2018-12-05 下午12.44.35](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.44.35.png)
5.启动
先进入 /usr/local/hadoop-2.7.7/sbin
然后 sudo ./start-dfs.sh
出现了错误!!!
![屏幕快照 2018-12-05 下午12.47.36](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.47.36.png)
解决上述一直密码错误的问题
1.修改root密码:sudo passwd root
2.辑配置文件,允许以 root 用户通过 ssh 登录:sudo vi /etc/ssh/sshd_config
找到:PermitRootLogin prohibit-password禁用
**添加:PermitRootLogin yes**
![屏幕快照 2018-12-05 下午12.57.20](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午12.57.20.png)
3.sudo service ssh restart
4.切换到root下
先 ssh-keygen -t rsa
然后cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
修改权限 chmod 600 /root/.ssh/authorized_keys
注意:若没有authorized_keys这个文件就新建一个
6.再次sudo ./start-dfs.sh
![屏幕快照 2018-12-05 下午1.04.59](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午1.04.59.png)
tmd!jps没东西
解决办法:
- 进入root
sudo -s
- jps
- ![屏幕快照 2018-12-05 下午1.15.08](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午1.15.08.png)
4.成功了!!!!
进入localhost:50070看看
![屏幕快照 2018-12-05 下午1.17.47](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午1.17.47.png)
![屏幕快照 2018-12-05 下午1.17.56](Hadoop伪分布式的从零搭建教程/屏幕快照 2018-12-05 下午1.17.56.png)