Hadoop 单机安装步骤

安装环境

  • Fedora 29
  • openjdk version “1.8.0_191”

安装步骤

  • 创建 Hadoop 帐号
  • 下载 Hadoop 安装包
  • 解压 Hadoop 安装包
  • 配置环境变量
  • 配置 Hadoop 文件
  • 启动集群
  • 查看状态

创建 Hadoop 帐号

为 Hadoop 创建一个专门的账号
1
2
sudo adduser hadoop
sudo passwd hadoop
授予 Hadoop root 权限

为了测试,图方便,这里给 Hadoop root 权限,生产环境不建议这样做。

使用 root 权限编辑/etc/sudoers:

1
sudo vim /etc/sudoers

末尾添加一行:

1
hadoop  ALL=(ALL) ALL

切换到 Hadoop 账号:

1
su hadoop
配置 SSH 无密码登录

首先生成公私密钥对

1
ssh-keygen -t rsa

指定 key pair 的存放位置
回车默认存放于/home/hadoop/.ssh/id_rsa 输入 passphrase,这里直接回车,为空,确保无密码可登陆。

拷贝生成的公钥到授权 key 文件(authorized_keys)

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

改变 key 权限为拥有者可读可写(0600)

1
chmod 0600 ~/.ssh/authorized_keys

chomod 命令参考:

1
2
3
4
chmod 600 file – owner can read and write
chmod 700 file – owner can read, write and execute
chmod 666 file – all can read and write
chmod 777 file – all can read, write and execute

测试是否成功

1
ssh localhost

下载 Hadoop 安装包

1
2
cd ~
wget http://192.168.1.60/apache/hadoop/common/hadoop-3.0.1/hadoop-3.0.1.tar.gz

解压 Hadoop 安装包

最好做个关联 ln -s hadoop-3.0.1 hadoop

1
2
tar -zxvf hadoop-3.0.1.tar.gz
mv hadoop-3.0.1 hadoop

配置环境变量

编辑 ~/.bashrc 文件

1
vim ~/.bashrc

添加以下环境变量

1
2
3
4
5
6
7
8
9
10
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/home/hadoop/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native

使配置文件生效

1
source ~/.bashrc

配置 Hadoop 文件

修改 hadoop/core-site.xml 配置文件

1
vim $HADOOP_HOME/etc/hadoop/core-site.xml

修改以下内容:

1
2
3
4
5
6
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

修改 hadoop/hdfs-site.xml 配置文件

1
vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml

修改以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>

<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>

修改 hadoop/mapred-site.xml 配置文件

1
vim $HADOOP_HOME/etc/hadoop/mapred-site.xml

修改以下内容:

1
2
3
4
5
6
 <configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

修改 hadoop/yarn-site.xml 配置文件

1
vim $HADOOP_HOME/etc/hadoop/yarn-site.xml

修改以下内容:

1
2
3
4
5
6
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

启动集群

格式化 Hadoop 文件系统
1
hdfs namenode -format
启动 HDFS
1
$HADOOP_HOME/sbin/start-dfs.sh

注:若是 JAVA_HOME 没设置错误

1
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

在末尾加上:

1
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
启动 YARN
1
$HADOOP_HOME/sbin/start-yarn.sh

查看状态

查看 HDFS 状态,浏览器访问: http://localhost:9870