在Linux虚拟机下安装Hadoop的保姆级教程

本博客有多处参考,出处附在文末。

因为Hadoop后续需要使用jdk,所以我们需要先把它下载下来。

下载jdk

下载地址:Java Downloads | Oracle

进入后选择适合自己的版本,我选择的是jdk-8u291-linux-x64.tar.gz

下载好之后,把它解压并放到你选择的文件下。因为我用的是Parallel Desktop, 所以我存放在/home/parallels/java文件下,使用其他虚拟机或者是自选文件夹的朋友,后续注意一下路径问题。如果不知道怎么查看文件路径的话,直接选中你想查看的文件,把它拖到终端下,就可以查看路径了。

进入/home/parallels/java/jdk1.8.0_291/bin文件夹,也就是你的jdk的bin文件,然后运行以下指令:

./java -version

如果出现以下画面就安装成功了

配置环境变量PATH

首先打开profile文件进行编辑,有些第一次使用vi指令的小伙伴可能需要先进行下载,不用紧张,根据终端跳出的提示去下载就行了。

sudo vi /etc/profile

进去之后先不要动,使用方向键把光标移到最后一行的最后一个字母,然后按a或i进入编辑模式,i是在光标前插入文本,a是在光标后插入文本,不熟悉这个的小伙伴可以去补一下编辑器vi的基本知识。总之这里我是使用的a,然后在末尾添加了这几行

export JAVA_HOME=/home/parallels/java/jdk1.8.0_291
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

编辑完之后按esc退出编辑模式,然后输入:wq,保存退出。如果无法保存退出也可以用:wq!强制退出。

注意第一个路径是填写你的jdk包坐在的位置,后面两条你照着复制粘贴就行了。

安装Hadoop

Hadoop下载地址:Index of /dist/hadoop/common

下载Hadoop2.8.0,然后解压到你喜欢的位置,我是直接解压到的桌面。

进入解压后的文件,打开hadoop-2.8.0/etc/hadoop,然后对一下文件进行配置

配置hadoop-env.sh

vi hadoop-env.sh,修改 JAVA_HOME 为之前配置的路径

配置 core-site.xml

打开core-site.xml,然后编辑以下内容。或者你用vi编辑器也可以。

第二段是在指定hadoop进程运行中产生的数据存放的工作目录,注意你hadoop存放的路径。

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://veture:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/parallels/Desktop/hadoop-2.8.0/data/</value>
</property>
</configuration>

配置 hdfs-site.xml

打开 hdfs-site.xml,编辑以下内容。

<configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
</configuration>

配置 mapred-site.xml

打开mapred-site.xml,编辑以下内容。

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

配置 yarn-site.xml

打开yarn-site.xml,编辑以下内容

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>veture</value>
</property>

<property>
<name>yarn.nodemanager.aux-servies</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

在第一个property中,我们配置的是yarn群的主机,如果不清楚自己的主机名,可以打开命令台查看。

配置环境变量PATH

依旧是打开profile文件进行编辑。

sudo vi /etc/profile

和之前配置java路径的操作类似,依旧是在末尾加入如下路径。

export HADOOP_HOME=/home/parallels/Desktop/hadoop-2.8.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

编辑完之后保存退出,然后输入命令source /etc/profile更新配置。

这样做是为了方便在任意位置使用hadoop命令。

使用SSH免密登陆

创建公钥/私钥

输入以下命令,然后一路确认

ssh-keygen -t rsa

出现以下画面即为成功

创建authorized_keys文件并修改权限为600

cd .ssh
touch authorized_keys
chmod 600 authorized_keys
ll

完成后画面如下

将公钥追加到authorized_keys文件中去

cat id_rsa.pub >> authorized_keys
cat authorized_keys

然后我们来试一下能否免密登陆,ssh 后输入你的主机名。

ssh veture

启动Hadoop

初始化

hadoop namenode -format

如果出现了successfully formatted字样就初始化成功了。

在这里有的小伙伴可能会出现Cannot create directory的问题,原因是对文件的权限不够,我们修改一下权限就可以了。

sudo chmod -R a+w /home/parallels/Desktop/hadoop-2.8.0/data

或者你也可以直接使用su命令,转入管理员身份来运行初始化命令,之后切回普通用户来启动进程就可以了。

注意不要多次进行初始化,如果后面找不到datanode,很大可能就是多次初始化造成的。

启动进程

start-dfs.sh
start-yarn.sh

然后输入jps来查看已经启动的进程

如果前面操作正确的话,这里应该是六个都有的。

多次初始化导致没有datanode的解决办法

找到我们之前设置的,用来存放产生的数据的工作目录,然后进入以下路径查看

然后输入以下命令,进入name文件夹下的current文件

cd name/current
cat VERSION

把namenode的clusterID复制下来。

然后回到data文件夹下的current文件夹

vi VERSION

我们可以看到这里的clusterID和之前复制的不一样,我们把之前复制的那一串粘贴到这里就可以了。

然后

stop-all.sh

之后我们再重新启动一遍所有进程就没有问题了。

文章参考

https://www.cnblogs.com/thousfeet/p/8618696.html

Hadoop格式化namenode错误:java.io.IOException: Cannot create directory_java.io.ioexception: cannot create directory /opt/-CSDN博客

https://blog.csdn.net/qq_25948717/article/details/80321551?utm_term=datanode不显示&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-0-80321551&spm=3001.4430

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值