史上最详细的hadoop安装教程(含坑点)

0.前言

最近因为需要所以要安装hadoop,但是网上怎么说呢,就是很混乱,各种资料,各种安装方法,总体来说都不是很有效果,经过了3天的挣扎,收集资料,才完成了部署。

1.从官网上获得对应的安装包

下载地址:

https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz

点击第一个
在这里插入图片描述

下载完成如下文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zVLnbg0J-1589209959266)(C:UsersgjtAppDataRoamingTypora	ypora-user-images
89204008082.png)]

2.将安装包传入系统

这里使用rz插件。

一般刚开始的时候系统里面是没有的,此处我们需要手动安装一下。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QgQSzKuJ-1589209959284)(C:UsersgjtAppDataRoamingTypora	ypora-user-images
89204239352.png)]

apt install lrzsz

然后就开始传输文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jR2q334t-1589209959304)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

===等等吧

网速太慢了,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

3.准备Java环境

上传Java环境

此处我已经准备好了环境了。

jdk-8u171-linux-x64.tar.gz

又是漫长的等待

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b13kGVab-1589209959313)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

暂停一下……

1.解压文件

tar -zxvf jdk-8u60-linux-x64.tar.gz

2.配置环境

vi /etc/profile

按i执行编辑

export JAVA_HOME=/root/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

最后按ESC 然后输入:wq退出。

然后执行source /etc/profile重载配置文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RNigc28h-1589209959317)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

配置环境完成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VnN931Cd-1589209959321)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

https://www.cnblogs.com/zeze/p/5902124.html

4.开始配置hadoop

4.1解压

tar -zxvf hadoop-2.10.0.tar.gz //刚才的命令不对。。。

4.2 检查是否可用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C8BtU4es-1589209959325)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

./bin/hadoop version   #  查看hadoop版本信息,成功显示则安装成功

出现上述信息代表文件是可用的。。。。。。

4.3 修改配置文件配置hadoop的Java环境

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WqNfr6Xa-1589209959330)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

这里我们需要指明,不能用这种,会提示找不到java环境。

配置成这样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7oRW9ILH-1589209959334)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

然后老规矩,按住esc,输入:wq退出vi且保存。

4.4 修改core-site和hdfs-site文件

core-site修改如下

<configuration>
 		<property>
             <name>hadoop.tmp.dir</name>
             <value>file:/root/hadoop-2.10.0/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
        </property>
</configuration>

hdfs-site修改如下

<configuration>
        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/root/hadoop-2.10.0/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/root/hadoop-2.10.0/tmp/dfs/data</value>
        </property>
</configuration>

照着改即可。

4.5 初始化节点

./bin/hdfs namenode -format

此时会出现

20/05/11 22:42:18 WARN net.DNS: Unable to determine address of the host-falling back to "localhost" address
java.net.UnknownHostException: iZ2ze2wduzi6txmep99j17Z: iZ2ze2wduzi6txmep99j17Z: Name or service not known
	at java.net.InetAddress.getLocalHost(InetAddress.java:1505)
	at org.apache.hadoop.net.DNS.resolveLocalHostIPAddress(DNS.java:307)
	at org.apache.hadoop.net.DNS.<clinit>(DNS.java:62)
	at org.apache.hadoop.hdfs.server.namenode.NNStorage.newBlockPoolID(NNStorage.java:989)
	at org.apache.hadoop.hdfs.server.namenode.NNStorage.newNamespaceInfo(NNStorage.java:598)
	at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:181)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1211)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1655)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1782)
Caused by: java.net.UnknownHostException: iZ2ze2wduzi6txmep99j17Z: Name or service not known
	at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getLocalHost(InetAddress.java:1500)
	... 8 more

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J2iwe5bK-1589209959338)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

这是阿里云的问题。我们需要修改host文件

vi /etc/hosts

加入

127.0.0.1 iZ2ze2wduzi6txmep99j17Z: iZ2ze2wduzi6txmep99j17Z iZ2ze2wduzi6txmep99j17Z

完成,老规矩退出方法。

reboot重启

出现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iXM4hSDz-1589209959343)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

代表初始化成功。

最后一步启动hadoop

输入命令

./sbin/start-dfs.sh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZENiFFzw-1589209959348)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

这里提示输入密码,是不行的。我们还要配置一个免密登录。

4.6 安装SSH免密登录

sudo apt-get update  #第一步
sudo apt-get install ssh  #第二步
sudo apt-get install pdsh  #第三步
#生成授权
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #加入授权
chmod 0600 ~/.ssh/authorized_keys               #啥意思?

出现如下界面代表已经免密登录已经配置完成了。

在这里插入图片描述

4.7 再次尝试

输入指令:./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6BooPwur-1589209959359)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

查看是否启动成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kk3pa5fJ-1589209959366)(C:UsersgjtAppDataRoamingTypora	ypora-user-images.png)]

已经启动完成了,到此为止完成了Hadoop的配置操作。

5.最后结果

在这里插入图片描述
输入jps看到上述四个即完成启动。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注