安装Hadoop前,需要先安装Java和SSH。
安装JavaHadoop需要Java环境支持。可以通过以下命令安装Java:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
安装完成后,可以使用以下命令检查Java版本:
java -version
安装SSH
Hadoop要求在集群上可以无密码登录,需要安装SSH。
sudo apt-get install ssh
使用以下命令检查SSH服务是否正常启动:
sudo service ssh status
如果SSH服务未启动,则使用以下命令启动:
sudo service ssh start
安装Hadoop
接下来开始安装Hadoop。
- 下载Hadoop
下载Hadoop官方稳定版本:
shell
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.2.2/hadoop-3.2.2.tar.gz
- 解压Hadoop文件
bash
tar -xvf hadoop-3.2.2.tar.gz -C /opt/
sudo mv /opt/hadoop-3.2.2/ /opt/hadoop/
- 配置Hadoop
bash
cd /opt/hadoop/etc/hadoop
sudo nano hadoop-env.sh
找到export JAVA_HOME
行,将路径更改为Java路径:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
找到export HADOOP_HOME
行,将路径更改为Hadoop安装目录
export HADOOP_HOME=/opt/hadoop
配置Hadoop中所有节点的主机名和IP地址,打开core-site.xml
文件并添加以下属性:
xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
打开hdfs-site.xml
文件并配置数据目录:
xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/dfs/datanode</value>
</property>
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>4096</value>
</property>
</configuration>
打开mapred-site.xml
文件并配置MapReduce框架:
xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
打开yarn-site.xml
文件并配置YARN资源管理器和节点管理器:
xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>2592000</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/opt/hadoop/yarnlocal</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
</configuration>
- 格式化Hadoop文件系统
在安装并配置Hadoop之后,需要格式化HDFS文件系统。使用以下命令:
bash
sudo mkdir -p /opt/hadoop/data/dfs/namenode
sudo mkdir -p /opt/hadoop/data/dfs/datanode
sudo chown -R hadoop:hadoop /opt/hadoop
sudo chmod 755 /opt/hadoop/tmp
sudo -u hadoop hdfs namenode -format
- 启动Hadoop
使用以下命令启动Hadoop命令:
bash
/opt/hadoop/sbin/start-all.sh
如果启动成功,可以使用jps命令检查Hadoop进程是否正常运行:
bash
sudo jps
如果输出结果包含以下进程,则表明Hadoop启动成功:
16946 NameNode
17173 SecondaryNameNode
17311 ResourceManager
17542 Jps
17408 DataNode
17607 NodeManager
在单个节点上安装Hadoop:
- 下载安装包
bash
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.2.2/hadoop-3.2.2.tar.gz
- 解压文件
与上述步骤相同
- 配置文件
与上述步骤相同
- 格式化文件系统
与上述步骤相同
- 启动Hadoop
与上述步骤相同
示例二在多个节点上安装Hadoop:
- 在每个节点上安装Java和SSH
bash
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo apt-get install ssh
- 下载Hadoop
bash
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.2.2/hadoop-3.2.2.tar.gz
- 解压Hadoop文件
与上述步骤相同
- 配置Hadoop
在所有节点上配置Hadoop文件,详见上述步骤。
- 创建主节点
在一个节点上作为主节点创建Hadoop集群,将其他节点添加到集群中。
bash
/opt/hadoop/bin/hadoop namenode -format
/opt/hadoop/sbin/start-dfs.sh
/opt/hadoop/sbin/start-yarn.sh
如果启动成功,可以使用jps命令检查Hadoop进程是否正常运行。
- 将所有节点加入集群
在所有其他节点上运行以下命令,将这些节点添加到集群中:
bash
/opt/hadoop/sbin/hadoop-daemon.sh start datanode
/opt/hadoop/sbin/yarn-daemon.sh start nodemanager
- 在主节点上检查集群状态
在主节点上使用以下命令检查集群状态:
bash
/opt/hadoop/bin/hadoop dfsadmin -report
/opt/hadoop/bin/yarn node -list