安装Hadoop
1,准备环节
因为Hadoop是由java编写的,所以需要Java的环境支持,作为开发者我们需要安装jdk。
安装jdk的教程http://t.csdn.cn/6qJKg
下载Hadoop的安装包
Hadoop官网:http://hadoop.apache.org/
Hadoop版本下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz
修改etc/hosts文件
[root@hadoop ~]vi /etc/hosts
192.168.184.130 hadoop
2,安装环节
创建文件夹
[root@My-Server ~]# cd /usr/local
[root@My-Server local]# mkdir hadoop
存放安装包
安装包:hadoop-3.3.1.tar.gz放置在/usr/local/hadoop文件夹中
[root@My-Server local]# cd /hadoop
[root@My-Server hadoop]# ll
总用量 591004
-rw-r--r--. 1 root root 605187279 5月 16 11:11 hadoop-3.3.1.tar.gz
解压
[root@My-Server hadoop]# tar -zxvf hadoop-3.3.1.tar.gz
更改环境变量
[root@My-Server ~]# vi /etc/profile
# 最后添加一下代码
export HADOOP_HOME=/usr/local/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
更新环境变量
[root@My-Server ~]# source /etc/profile
验证安装
[root@My-Server ~]# hadoop version
# 有以下信息说明安装成功
Hadoop 3.3.1
Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2
Compiled by ubuntu on 2021-06-15T05:13Z
Compiled with protoc 3.7.1
From source with checksum 88a4ddb2299aca054416d6b7f81ca55
This command was run using /usr/local/hadoop/hadoop-3.3.1/share/hadoop/common/hadoop-common-3.3.1.jar
修改配置文件
[root@My-Server ~]# cd /usr/local/hadoop/hadoop-3.3.1/etc/hadoop/
[root@My-Server hadoop]# ll
总用量 176
-rw-r--r--. 1 1000 mysql 9213 6月 15 2021 capacity-scheduler.xml
-rw-r--r--. 1 1000 mysql 1335 6月 15 2021 configuration.xsl
-rw-r--r--. 1 1000 mysql 2567 6月 15 2021 container-executor.cfg
-rw-r--r--. 1 1000 mysql 774 6月 15 2021 core-site.xml
-rw-r--r--. 1 1000 mysql 3999 6月 15 2021 hadoop-env.cmd
-rw-r--r--. 1 1000 mysql 16654 6月 15 2021 hadoop-env.sh
-rw-r--r--. 1 1000 mysql 3321 6月 15 2021 hadoop-metrics2.properties
-rw-r--r--. 1 1000 mysql 11765 6月 15 2021 hadoop-policy.xml
-rw-r--r--. 1 1000 mysql 3414 6月 15 2021 hadoop-user-functions.sh.example
-rw-r--r--. 1 1000 mysql 683 6月 15 2021 hdfs-rbf-site.xml
-rw-r--r--. 1 1000 mysql 775 6月 15 2021 hdfs-site.xml
-rw-r--r--. 1 1000 mysql 1484 6月 15 2021 httpfs-env.sh
-rw-r--r--. 1 1000 mysql 1657 6月 15 2021 httpfs-log4j.properties
-rw-r--r--. 1 1000 mysql 620 6月 15 2021 httpfs-site.xml
-rw-r--r--. 1 1000 mysql 3518 6月 15 2021 kms-acls.xml
-rw-r--r--. 1 1000 mysql 1351 6月 15 2021 kms-env.sh
-rw-r--r--. 1 1000 mysql 1860 6月 15 2021 kms-log4j.properties
-rw-r--r--. 1 1000 mysql 682 6月 15 2021 kms-site.xml
-rw-r--r--. 1 1000 mysql 13700 6月 15 2021 log4j.properties
-rw-r--r--. 1 1000 mysql 951 6月 15 2021 mapred-env.cmd
-rw-r--r--. 1 1000 mysql 1764 6月 15 2021 mapred-env.sh
-rw-r--r--. 1 1000 mysql 4113 6月 15 2021 mapred-queues.xml.template
-rw-r--r--. 1 1000 mysql 758 6月 15 2021 mapred-site.xml
drwxr-xr-x. 2 1000 mysql 24 6月 15 2021 shellprofile.d
-rw-r--r--. 1 1000 mysql 2316 6月 15 2021 ssl-client.xml.example
-rw-r--r--. 1 1000 mysql 2697 6月 15 2021 ssl-server.xml.example
-rw-r--r--. 1 1000 mysql 2681 6月 15 2021 user_ec_policies.xml.template
-rw-r--r--. 1 1000 mysql 10 6月 15 2021 workers
-rw-r--r--. 1 1000 mysql 2250 6月 15 2021 yarn-env.cmd
-rw-r--r--. 1 1000 mysql 6329 6月 15 2021 yarn-env.sh
-rw-r--r--. 1 1000 mysql 2591 6月 15 2021 yarnservice-log4j.properties
-rw-r--r--. 1 1000 mysql 690 6月 15 2021 yarn-site.xml
修改hadoop-env.sh文件
[root@My-Server hadoop]# vi hadoop-env.sh
添加jdk的地址
修改core-site.xml文件
# 查看本机名称
[root@My-Server hadoop]# hostname
My-Server
[root@My-Server hadoop]# vi core-site.xml
添加如下代码
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.3.1/tmp</value>
</property>
</configuration>
修改hdfs-site.xml文件
[root@My-Server hadoop]# vi hdfs-site.xml
添加如下代码:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.http.address</name>
<value>192.168.184.130:50070</value>
</property>
</configuration>
初始化文件系统
初始化节点名称
[root@My-Server hadoop]# hdfs namenode -format
出现下以下情况说明成功
# 开启HDFS相关服务
[root@hadoop hadoop]# start-dfs.sh
Starting namenodes on [hadoop]
上一次登录:三 5月 17 09:36:53 CST 2023pts/0 上
Starting datanodes
上一次登录:三 5月 17 09:45:39 CST 2023pts/0 上
Starting secondary namenodes [hadoop]
上一次登录:三 5月 17 09:45:42 CST 2023pts/0 上
[root@hadoop hadoop]# jps
2514 SecondaryNameNode
2186 NameNode
2314 DataNode
2651 Jps
安装时我所有到的问题
解决hadoop: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
# 1,生成公钥和私钥
[root@hadoop hadoop]# ssh-keygen -t rsa
# 2,将公钥添加到authorized_keys文件中
[root@hadoop hadoop]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 3,修改authorized_keys文件的权限
[root@hadoop hadoop]# chmod 600 ~/.ssh/authorized_keys
# 4,将私钥添加到ssh-agent中
[root@hadoop hadoop]# eval "$(ssh-agent -s)"
[root@hadoop hadoop]# ssh-add ~/.ssh/id_rsa
# 5. 验证是否成功
[root@hadoop hadoop]# ssh -T git@github.com
解决Permission denied (publickey)
[root@hadoop hadoop]# vim /etc/ssh/sshd_config
[root@hadoop hadoop]# PasswordAuthentication yes
# 5. 验证是否成功
[root@hadoop hadoop]# ssh -T git@github.com
放行端口
# 放行端口号
[root@hadoop hadoop]# firewall-cmd --zone=public --add-port=50070/tcp --permanent
success
# 刷新
[root@hadoop hadoop]# firewall-cmd --reload
success
# 查看端口
[root@hadoop hadoop]# firewall-cmd --list-ports
3306/tcp 50070/tcp
windows访问hadoop:http://IP地址:50070