(1)配置模板机:
1)hostname =》 ip
192.168.10.20 bigdata20
192.168.10.21 bigdata21
192.168.10.22 bigdata22
192.168.10.23 bigdata23
192.168.10.24 bigdata24
192.168.10.25 bigdata25
2)关闭防火墙 1-65535
systemctl stop firewalld
systemctl disable firewalld
3)hadoop 配置临时root权限
vim /etc/sudoers
4)hadoop用户创建工作环境
mkdir app data software
5)卸载系统自带的jdk
rpm -qa | grep java | xargs -n1 rpm -e --nodeps
6)重启机器
reboot
(2)克隆机器:
1)修改ip
2)机器的名字
(3)远程连接:
hostname =》 ip
win => hosts 配置了ip映射 【注意】
linux =》 hosts
ip =》 hostname 一一映射
win :C:\Windows\System32\drivers\etc
(4)部署jdk
1)解压
tar -zxvf ./jdk-8u212-linux-x64.tar.gz -C ~/app/
2)软连接
ln -s jdk1.8.0_212/ java
好处:
a.方便版本管理
b.磁盘不够 小盘换大盘
3)配置环境变量
vim ~/.bashrc
#JAVA_HOME
export JAVA_HOME=/home/hadoop/app/java
export PATH=${JAVA_HOME}/bin:${PATH}
4)生效环境变量
source ~/.bashrc
5)介绍目录
drwxr-xr-x. 2 hadoop hadoop 4096 4月 2 2019 bin 执行脚本
drwxr-xr-x. 3 hadoop hadoop 4096 4月 2 2019 include lib库
drwxr-xr-x. 5 hadoop hadoop 4096 4月 2 2019 lib lib库
(5)部署hadoop:
1)下载安装包
a.官网 3.3.2
b.http://archive.apache.org/dist
2)解压
tar -zxvf ./hadoop-3.3.2.tar.gz -C ~/app/
3)软连接
ln -s hadoop-3.3.2/ hadoop
4)目录结构:
drwxr-xr-x. 2 hadoop hadoop 4096 2月 22 04:42 bin 命令执行脚本
drwxr-xr-x. 3 hadoop hadoop 4096 2月 22 02:44 etc 管理配置文件
drwxr-xr-x. 2 hadoop hadoop 4096 2月 22 04:42 include lib库
drwxr-xr-x. 3 hadoop hadoop 4096 2月 22 04:42 lib lib库
drwxr-xr-x. 3 hadoop hadoop 4096 2月 22 02:44 sbin 启动停止脚本
drwxr-xr-x. 4 hadoop hadoop 4096 2月 22 05:52 share 官方提供的案例包
5)配置环境变量
vim ~/.bashrc
#HADOOP_HOME
export HADOOP_HOME=/home/hadoop/app/hadoop
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${PATH}
6)生效环境变量
source ~/.bashrc
部署服务:hdfs yarn
(6)hdfs:
1)vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/app/java
2)hadoop模式:
Local (Standalone) Mode 本地模式 用不了
Pseudo-Distributed Mode 伪分布式 学习
Fully-Distributed Mode 完全分布式 生产用【ha】
3)配置文件:core-site.xml hdfs-site.xml
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata21:9000</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4)ssh 的配置:ssh 远程登录 、执行
语法格式
ssh 机器的ip/hostname =>远程登录
ssh 用户@机器的ip/hostname [命令] =》 远程登录执行
ssh免密登录配置
ssh-keygen =》 生成两把钥匙 2把
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 【记录钥匙】
chmod 0600 ~/.ssh/authorized_keys =》 修改权限(664 =》 600)
5)hdfs启动:
a.格式化文件系统【第一次部署的时候做】
hdfs namenode -format
b.启动hdfs
start-dfs.sh
如何查看进程?
1.ps -ef | grep hadoop
2.jps
[hadoop@bigdata21 ~]$ jps | grep -v Jps
5746 SecondaryNameNode
5426 NameNode
5541 DataNode
6)hadoop daemon log output :
a.$HADOOP_LOG_DIR
b.默认路径:$HADOOP_HOME/logs
namenode web ui:
http://ip:9870/
http://hostname:9870/
端口:
9000 =》 namenode 对外提供服务的端口
9870 =》 namenode web ui 的端口
3306 => mysql对外提供服务的端口
7)执行一个mapreduce job :
hdfs dfs =》 hadoop软件 提供的 shell 命令 新的
hadoop fs 旧的
dfs =》 操作文件系统的程序入口
fs
a.创建文件
hdfs dfs -mkdir /data
hadoop fs -mkdir /data
b.上传文件
hadoop fs -put ./1.log /data
c.运行jar包 =》 mapreduce job
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar grep input output 'dfs[a-z.]+'
hadoop jar = yarn jar
我们这里用wordcount:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar wordcount /data /wc-out
8)查看job运行结果数据
a.文件下载
hadoop fs -get /wc-out ./
b.直接查看hdfs上文件
hadoop fs -cat /wc-out/*
9)停止hdfs 命令
stop-dfs.sh
(7)部署yarn
1)mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
2)yarn-site.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_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
3)启动yarn :
start-yarn.sh
4)yarn 的web ui :
http://ip:8088/
http://hostname:8088/
5)Run a MapReduce job.
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar wordcount /data /wc-out2
6)停止yarn
stop-yarn.sh
补充:
1.hadoop脚本:
start-all.sh :
start-dfs.sh
start-yarn.sh
stop-all.sh
2.配置文件 :
(1)默认配置文件
core-default.xml
hdfs-default.xml
mapred-default.xml
yarn-default.xml
(2)服务器配置文件:
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
参数配置的优先级: 服务器配置 》默认配置
3.参数解释:
fs.defaultFS =》 指定namenode 对外提供服务的 配置 ip+port
dfs.replication => 块的副本数 3
mapreduce.framework.name
4.修改数据文件路径 =》 tmp
namenode
datanode
snn
yarn
hadoop.tmp.dir =》 /tmp/hadoop-${user.name}
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app-data</value>
</property>
5.配完参数 启动hdfs ?
hdfs :/data => linux: /tmp
(1)复制数据
cp -r ./* /home/hadoop/app-data/
(2)启动hdfs