linux 伪分布安装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 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命令不存在,且/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
出现上图中进程表示运行正常,hadoop安装成功!