hadoop安装部署有以下三种模式:
本地模式
伪分布模式
全分布模式
安装之前操作:
1.修改主机名,设置好IP
2.设置hadoop的环境变量:
命令:vi ~/.bash_profile
```
### add for hadoop
HADOOP_HOME=/root/ubuntu/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
```
source ~/.bash_profile 让环境变量生效
1.配置参数:
参数文件 配置参数 参考值
hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144
特点:
机器一台,没有HDFS、只能测试MapReduce程序,MapReduce处理的是本地Linux的文件数据
2.实际操作:
修改配置:
vi hadoop-env.sh
25 export JAVA_HOME=/root/training/jdk1.8.0_144
3.测试MapReduce程序:
(1)、创建目录和原始数据data.txt
mkdir ~/input
vi ~/input/data.txt
编辑内容:
(2)、运行和结果查看
例子:/root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/data.txt ~/output
1.参数配置:
特点:
是在单机上,模拟一个分布式的环境
具备Hadoop的主要功能,可以用于学习使用
HDFS: namenode+datanode+secondarynamenode
Yarn: resourcemanager + nodemanager
2.实际操作:
(1)修改配置文件
. hdfs-site.xml
原则:一般数据块的冗余度跟数据节点(DataNode)的个数一致;最大不超过3
<property>
<name>dfs.replicationname>
<value>1value>
property>
先不设置
<property>
<name>dfs.permissionsname>
<value>falsevalue>
property>
这里写代码片
core-site.xml
<property>
<name>fs.defaultFSname>
<value>hdfs://bigdata111:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/root/training/hadoop-2.7.3/tmpvalue>
property>
mapred-site.xml 默认没有 cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
yarn-site.xml
<property>
<name>yarn.resourcemanager.hostnamename>
<value>bigdata111value>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
(2).格式化:HDFS(NameNode)
hdfs namenode -format
日志:
Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
(3).启动停止Hadoop的环境
start-all.sh
(4).访问:通过2个Web界面,如果能看到表示伪分布式环境搭建成功。
HDFS: http://192.168.17.111:50070
Yarn: http://192.168.17.111:8088
(5).stop-all.sh
注意:最好配置免密码登录
3.运行例子:
/root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
命令:hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/0407
hdfs dfs -ls -R /out/0407
ubuntu@ubuntu ~/training/hadoop-2.7.3/tmp/dfs $ hdfs dfs -ls -R /output
drwxr-xr-x - ubuntu supergroup 0 2018-07-05 16:31 /output/0407
-rw-r--r-- 1 ubuntu supergroup 0 2018-07-05 16:31 /output/0407/_SUCCESS
-rw-r--r-- 1 ubuntu supergroup 56 2018-07-05 16:31 /output/0407/part-r-00000
ubuntu@ubuntu ~/training/hadoop-2.7.3/tmp/dfs $ hdfs dfs -cat /output/0407/part-r-00000
Beijing 2
China 2
I 2
captital 1
is 1
love 2
of 1
the 1
特点:
正在的分布式环境,用于生产
2.实际操作:
做好规划,三台机器
(1)、准备工作(3台均操作)
(*)关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
(*)安装JDK
(*)配置主机名 vi /etc/hosts
192.168.17.112 bigdata112
192.168.17.113 bigdata113
192.168.17.114 bigdata114
(*)配置免密码登录:两两之间的免密码登录
a. 每台机器产生自己的公钥和私钥
ssh-keygen -t rsa
b. 每台机器把自己的公钥给别人
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114
(*)保证每台机器的时间同步
如果时间不一样,执行MapReduce程序的时候可能存在问题
在MTputty上使用date -s 2018-06-29
(2)、在主节点上(bigdata112)安装
a.解压设置环境变量
tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
设置:112 113 114
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
b.修改配置文件
hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144
hdfs-site.xml
<property>
<name>dfs.replicationname>
<value>2value>
property>
core-site.xml
<property>
<name>fs.defaultFSname>
<value>hdfs://bigdata112:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/root/training/hadoop-2.7.3/tmpvalue>
property>
mapred-site.xml 默认没有 cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
yarn-site.xml
<property>
<name>yarn.resourcemanager.hostnamename>
<value>bigdata112value>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
slaves
bigdata113
bigdata114
(3) 格式化NameNode: hdfs namenode -format
(4) 把主节点上配置好的hadoop复制到从节点上
scp -r hadoop-2.7.3/ root@bigdata113:/root/training
scp -r hadoop-2.7.3/ root@bigdata114:/root/training
(5) 在主节点上启动 start-all.sh
运行wordcount程序:
详细操作步骤可参考链接:
Apache hadoop集群安装的三种方式:本地、伪分布、完全分布:https://blog.csdn.net/qq_37873221/article/details/80240722