Cetos安装Hadoop
一、步骤
Hadoop基本安装配置主要包括以下几个步骤:
- 安装Java环境
- 单机安装配置
- 伪分布式安装配置
三、安装java版本
# 安装java1.8
yum install java-1.8.0-openjdk* -y
# 安装好后查看java版本
java -version
四、下载安装Hadoop
官网下载地址:https://hadoop.apache.org/releases.html
4.1 选择将 Hadoop 安装至 /usr/local/ 中
$ sudo tar -zxf hadoop-3.1.3.tar.gz -C /usr/local # 解压到/usr/local中
$ cd /usr/local/
$ sudo mv ./hadoop-3.1.3/ ./hadoop # 将文件夹名改为hadoop
4.2由于是使用yum下载java,需要配置java安装目录
安装目录默认为:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
# 添加以下内容
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
- 3Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
$ cd /usr/local/hadoop
$ ./bin/hadoop version
五、伪分布式安装配置
- Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件
- Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml
- Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现
修改core-site.xml
vim /usr/local/hadoop/etc/hadoop/core-site.xml
修改core-site.xml,添加如下配置:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
</property>
</configuration>
修改hdfs-site.xml
vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
添加如下配置:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.http.address</name>
<value>localhost:9870</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>
修改mapred-site.xml
vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
添加以下内容
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
添加用户
vim /usr/local/hadoop/sbin/start-dfs.sh
# 在第一行或第二行添加以下内容
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vim /usr/local/hadoop/sbin/stop-dfs.sh
# 在第一行或第二行添加以下内容
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vim /usr/local/hadoop/sbin/start-yarn.sh
# 添加以下内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
vim /usr/local/hadoop/sbin/stop-yarn.sh
# 添加以下内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
vim /usr/local/hadoop/bin/hadoop
# 把下面的用户名改成你的,这里只是测试使用,尽量使用自己创建的用户授权后操作
HADOOP_SHELL_EXECNAME="root" # 原来是hadoop
vim /usr/local/hadoop/bin/hdfs
# 同上
HADOOP_SHELL_EXECNAME="root" # 原来是hdfs
vim /usr/local/hadoop/bin/yarn
HADOOP_SHELL_EXECNAME="root" # 原来是yarn
运行Hadoop
- 初始化HDFS系统
cd /usr/local/hadoop
#
bin/hdfs namenode -format
2.开启NameNode和DataNode守护进程
cd /usr/local/hadoop
sbin/start-dfs.sh
如果执行以上代码出现以下问题
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
在终端执行以下代码后在出现开启进程即可
ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.查看进程信息
cd /usr/local/hadoop
jps
4.开发端口
# 查询8848端口防火墙是否开启,返回no表示没有开启
firewall-cmd --query-port=9870/tcp
# 防火墙开启9870端口
firewall-cmd --add-port=9870/tcp --permanent
# 重载防火墙开放端口
firewall-cmd --reload
5.访问WebUI
六、Hadoop环境配置
没有经过环境配置,都会出现以下问题
1.修改
vim ~/.bashrc
添加以下内容
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
2.更新配置文件
source ~/.bashrc
3.使用hadoop命令查询hadoop版本
hadoop version