linux Mint20(Ubuntu)伪分布安装hadoop

前言

系统环境

Linux Mint20

安装版本

hadoop2.10.1

安装步骤

配置hadoop账户

创建hadoop账户:

sudo useradd -m hadoop -s /bin/bash

设置密码:

sudo passwd hadoop

添加权限:

sudo adduser hadoop sudo

安装ssh-server

首先,切换至hadoop账户下:

su - hadoop

更新下载源:

sudo apt-get update

安装openssh-server:

sudo apt-get install openssh-server

配置SSH免密码登录

生成公钥和私钥:

ssh-keygen -t rsa

遇到询问时直接敲回车使用默认值,成功后~/.ssh文件夹下会生成id_rsa, id_rsa.pub两个文件;

下面在~/.ssh目录下,创建一个空文本,名为 authorized_keys :

touch ~/.ssh/authorized_keys

将存储公钥文件的id_rsa.pub 里的内容,追加到authorized_keys中:

cat    ~/.ssh/id_rsa.pub    >>    ~/.ssh/authorized_keys

后续再执行ssh localhost 时,就不用输入密码了!

安装,配置java环境

安装java

sudo apt-get install openjdk-8-jdk

配置java环境变量:

vim ~/.bashrc
(文件尾部添加下面代码)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

读取并执行配置文件:
(此命令如果没报错,表明java配置正确,也可以执行java -version查看是否安装成功)

source ~/.bashrc

安装hadoop

下载hadoop压缩包,也可从官网下载:

wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz

解压到/usr/local/

sudo tar -zxvf hadoop-2.10.1.tar.gz -C /usr/local

更改文件拥有者:

sudo chown -R hadoop /usr/local/hadoop-2.10.1

配置hadoop环境变量:

vim ~/.bashrc
(文件尾部添加下面代码)
export HADOOP_HOME=/usr/local/hadoop-2.10.1
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export  HADOOP_HOME=/usr/local/hadoop-2.10.1
export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

读取并执行配置文件:

source ~/.bashrc

执行hadoop:

hadoop

hadoop
出现此界面,表示安装成功,或执行hadoop version查看。
hadoop version

修改hadoop相关配置文件

首先切换到hadoop配置目录下:

cd /usr/local/hadoop-2.10.1/etc/hadoop/

编辑 hadoop-env.sh 配置文件:

 vim hadoop-env.sh
 (文件尾部添加下面代码)
 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

配置 hadoop 处理过程中,临时文件和hdfs文件的存储位置(不建议使用sudo):

sudo mkdir -p /data/tmp/hadoop/tmp
sudo mkdir -p /data/tmp/hadoop/hdfs

上面命令若使用sudo执行,需要更改文件所有者:

cd /data/tmp/hadoop/
sudo chown -R hadoop:hadoop tmp/
sudo chown -R hadoop:hadoop hdfs/
cd /usr/local/hadoop-2.10.1/etc/hadoop/

编辑 core-site.xml 文件

 vim core-site.xml
 (添加下面配置到<configuration></configuration>标签之间)
<property>
       <name>hadoop.tmp.dir</name>
       <value>/data/tmp/hadoop/tmp</value>
</property>
<property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost:9000</value>
</property>

编辑 hdfs-site.xml 文件

vim hdfs-site.xml
(添加下面配置到<configuration></configuration>标签之间)
<property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/tmp/hadoop/hdfs/name</value>
</property>
<property>
         <name>dfs.datanode.data.dir</name>
         <value>/data/tmp/hadoop/hdfs/data</value>
</property>
<property>
         <name>dfs.replication</name>
         <value>1</value>
</property>
<property>
         <name>dfs.permissions.enabled</name>
         <value>false</value>
</property>

格式化HDFS文件系统:

hadoop namenode -format

启动 hadoop 的 hdfs 相关进程:

cd /usr/local/hadoop-2.10.1/sbin/
./start-dfs.sh 

输入jps查看HDFS相关进程是否已经启动:

jps

jps

可以看到相关进程已经启动。

如果显示jps命令不存在,且/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin目录下无法找到jps对应文件,可执行下面的命令:

sudo apt-get install openjdk-8-jdk-headless

配置 MapReduce 相关配置

编辑 mapred-site.xml 文件:

cd /usr/local/hadoop-2.10.1/etc/hadoop/
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
(添加下面配置到<configuration></configuration>标签之间)
<property> 
 <name>mapreduce.framework.name</name> 
 <value>yarn</value> 
</property> 

编辑 yarn-site.xml 文件:

vim yarn-site.xml 
(添加下面配置到<configuration></configuration>标签之间)
<property> 
 <name>yarn.nodemanager.aux-services</name> 
 <value>mapreduce_shuffle</value> 
</property> 

启动计算层面相关进程:

cd /usr/local/hadoop-2.10.1/sbin/
./start-all.sh

输入jps查看当前运行的进程:

jps

jps

出现上图中进程表示运行正常,hadoop安装成功!

参考文章

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值