Hadoop的安装与配置
创建hadoop用户
创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell。
sudo useradd -m hadoop -s /bin/bash
为 hadoop 用户增加管理员权限,方便部署
sudo passwd hadoop
最后注销当前用户(点击屏幕右上角的齿轮,选择注销),返回登陆界面。在登陆界面中选择刚创建的 hadoop 用户进行登陆。
sudo adduser hadoop sudo
更新apt
用 hadoop 用户登录后,我们先更新一下 apt,后续我们使用 apt 安装软件,如果没更新可能有一些软件安装不了
sudo apt-get update
后续需要更改一些配置文件,安装一下vim
sudo apt-get install vim
安装SSH、配置SSH无密码登陆
安装 SSH server
sudo apt-get install openssh-server
使用如下命令登陆本机
ssh localhost
首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了
安装Java环境
全部资料都放在下面的链接中了
链接:https://pan.baidu.com/s/1k86b13HvuB8wAF2b7iCzBA?pwd=ptr0
提取码:ptr0
请把压缩格式的文件jdk-8u162-linux-x64.tar.gz下载到本地电脑
通过VMware tools的共享文档或者Xftp软件将压缩包放进虚拟机中,假设保存在“/home/lin/Downloads/”目录下,解压。
cd /home/lin/Downloads
sudo tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/lib #解压并将解压后的文件放进。usr/lib中
cd /usr/lib
sudo mv jdk1.8.0_162 jdk #修改文件名
设置环境变量
cd ~
vim ~/.bashrc
添加以下内容:
export JAVA_HOME=/usr/lib/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存,退出后更新.bashrc配置
source ~/.bashrc
查看安装是否成功
java -version
出现下图,说明成功
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
安装 Hadoop3.1.3
sudo tar -zxvf ~/下载/hadoop-3.1.3.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-3.1.3/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop # 修改文件权限
Hadoop 解压后即可使用。
cd /usr/local/hadoop
./bin/hadoop version
Hadoop单机配置
Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。
Hadoop伪分布式配置
修改配置文件 core-site.xml
修改为下面配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改配置文件 hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
配置完成后,执行 NameNode 的格式化:
cd /usr/local/hadoop
./bin/hdfs namenode -format
成功的话,会看到 "successfully formatted" 的提示。
接着开启 NameNode 和 DataNode 守护进程。
cd /usr/local/hadoop
./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
如果启动 Hadoop 时遇到输出非常多“ssh: Could not resolve hostname xxx”的异常情况
在 hadoop-env.sh中,增加如下两行内容:
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
在~/.bashrc,修改path
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
通过命令 jps 来判断是否成功启动。
成功启动后,可以访问 Web 界面 http://localhost:9870 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。