1. 修改yum源 并 升级内核和软件
1.1 修改yum 源,修改为 阿里云的
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
1.2 清空yum 缓存
yum clean all
1.3 生成新的yum缓存
yum makecache
1.4 升级内核和软件
yum -y update
2. 关闭防火墙 和 selinux
2.1 禁用SELinux
sed -i's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.2 临时生效
setenforce 0
2.3 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3. 修改主机名和IP地址
3.1 修改主机名
hostnamectl set-hostname hadoop
3.2 修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens32
4. 修改hosts配置文件
vim /etc/hosts
修改内容为:
192.168.194.100 hadoop
5. 重启系统
reboot
6. jdk与hadoop下载安装
6.1 创建软件目录
mkdir -p /opt/soft
6.2 进入软件目录
cd /opt/soft
6.3 下载jdk(地址从jdk的下载按钮中复制)
6.4 下载hadoop3.3.5
6.5 解压jdk并修改名称
tar -zxvf jdk-8u391-linux-x64.tar.gz
mv jdk1.8.0_391/ jdk
6.6 解压hadoop并修改名称
tar -zxvf hadoop-3.3.5.tar.gz
mv hadoop-3.3.5 hadoop
6.7 配置环境变量
vim /etc/profile.d/my_env.sh
6.7 使新的环境变量生效
source /etc/profile
6.8 检查环境变量
java -version
printenv
7. 配置SSH免密码登录
7.1 创建本地密钥并将公共密钥写入认证文件
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id root@hadoop (注意:root@hadoop是当前的主机名和用户名)
测试:远程连接自己:
ssh hadoop
8. 修改hadoop的配置文件
配置文件的路径为:hadoop/etc/hadoop 目录下
8.1 主要修改的文件为:
hadoop-env.sh、core-site.xml、hdfs-site.xml、workers(DataNode节点配置文件)、mapred-site.xml、yarn-site.xml
8.2 hadoop-env.sh(配置在文件末尾)
需要配置 JDK的信息,并且授权root的用户可以使用hadoop
export JAVA_HOME=/opt/soft/jdk
export set JAVA_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_ZKFC_USER=root
export HDFS_JOURNALNODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
8.3 core-site.xml 文件
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop:9000</value> </property> <!--hadoop临时文件的存储路径-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop-data</value>
</property>
</configuration>
8.4 hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop:50090</value> </property> </configuration>备注:hadoop 是本机服务器的名称
8.5 修改workers
在hadoop2.x中是 slaves
在hadoop3.x中是workers
内容修改为本机的主机名,如:hadoop
8.6 mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> </configuration>8.7 yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>9. 初始化集群
9.1 格式化文件系统
hdfs namenode -format
9.2 启动 NameNode/SecondaryNameNode、DataNode
start-dfs.sh
9.3 查看启动进程
jps
9.4 启动yarn
start-yarn.sh
重要提示:
关机前,依次关闭服务 stop-yarn.sh / stop-dfs.sh
开机后,依次开启服务 start-dfs.sh / start-yarn.sh
或者
关机前,执行:stop-all.sh
开机后,执行:start-all.sh
10. 修改windows下hosts文件
(这一步为了在浏览器中访问hadoop)
C:\Windows\System32\drivers\etc
例如:虚拟机的IP地址为:192.168.194.100
在 hosts文件中添加
192.168.194.100 hadoop
11. 测试访问:http://hadoop:9870
11.1 HDFS NameNode 对用户的查询端口:9870
11.2 HDFS NameNode 内部通常端口:8020、9000、9820
11.3 历史服务器:19888
12. 访问 http://hadoop:50090
12.1 50090 是secondarynamenode在web ui的一个端口
13. 访问 http://hadoop:8088
13.1 Yarn查看任务运行情况的端口:8088
14. 测试 HDFS
14.1 在linux上创建 wcdata.txt ,并往里添加数据
数据自定义,添加重复的数据,为下面统计文字个数做准备
14.2 在HDFS上创建目录 /wordcount/input
hdfs dfs -mkdir -p /wordcount/input
14.3 查看HDFS目录结构
hdfs dfs -ls /
hdfs dfs -ls /wordcount
hdfs dfs -ls /wordcount/input
14.4 上传本地测试文件wcdata.txt 到HDFS上 /wordcount/input
hdfs dfs -put wcdata.txt /wordcount/input
14.5 检查文件是否上传成功
hdfs dfs -ls /wordcount/input
hdfs dfs -cat /wordcount/input/wcdata.txt
15. 测试Mapreduce
15.1 计算PI的值
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar pi 10 10
15.2 单词统计
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar wordcount /wordcount/input/wcdata.txt /wordcount/result
hdfs dfs -ls /wordcount/result
hdfs dfs -cat /wordcount/result/part-r-00000
版权归原作者 老马聊技术 所有, 如有侵权,请联系我们删除。