1、安装一个linux系统, 我这里用的ubunut 16.04服务器版
2、换源,换个国内的源,把一些工具先装好, vim python-dev openssh-server 等等
3、下载 一个hadoop的tar.gz 下载jdk
4、解压 并配置环境变量
这里我 配置到 /etc/profile里面
export JAVA_HOME=/home/sc/jdk1.8.0_101
export JRE_HOME=/home/sc/jdk1.8.0_101/jre
export HADOOP_HOME=/home/sc/hadoop-2.7.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
配置完成后,记得 source 一下
5、建立一个 hadoop的用户组, 细致点可以再创建3个用户 分为 hdfs mapred yarn , 这里我就暴力都分到 名字叫 hadoop的用户下面
sudo groupadd hadoop
sudo useradd -g hadoop -- shell /bin/bash hadoop
sudo passwd hadoop
sudo adduser hadoop sudo
这里其实有个坑
6、修改计算机别名,和配置静态ip
sudo vim /etc/network/interfaces
# The primary network interface
auto ens33
iface ens33 inet static
address 192.168.31.111
netmask 255.255.255.0
gateway 192.168.31.1
至于为什么VMware网卡是 ens33 这种细节。就自己去关注吧
sudo vim /etc/hostname
这个只有一行。计算机名,改成 hadoop1
sudo vim /etc/hosts
127.0.0.1 localhost
127.0.1.1 localhost
192.168.31.111 hadoop1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
这 也就是为什么 写localhost ping通自己的原因。
7、修改 hadoop的配置文件,准备hadoop要用到的文件夹
df -h 看看怎么分配磁盘的,这里虚拟机就不管了,实际操作肯定要主要 数据和系统分不同盘装这种低级问题的,别等会系统都打不开了才来哭
mkdir -p ~/hadoop/hdfs/nn
mkdir -p ~/hadoop/hdfs/snn
mkdir -p ~/hadoop/hdfs/dn
mkdir -p ~/hadoop/yarn
mkdir -p ~/hadoop/temp
sudo chown -R hadoop:hadoop ~/hadoop
8、修改 ~/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 。。如果是windows就别傻乎乎的改.sh了啊
export JAVA_HOME=/home/sc/jdk1.8.0_101
9、修改 ~/hadoop-2.7.3/etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/sc/hadoop/tmp</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value>
</property>
10、修改 ~/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/sc/hadoop/hdfs/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/sc/hadoop/hdfs/dn</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/home/sc/hadoop/hdfs/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>/home/sc/hadoop/hdfs/snn</value>
</property>
11、修改 ~/hadoop-2.7.3/etc/hadoop/mapred-site.xml 这个默认是没有 cp一个 模板的 mapred-site.xml.template
<property>
<name>mapreduce.framework.name</name>\
<value>yarn</value>
</property>
12、修改 ~/hadoop-2.7.3/etc/hadoop/yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
13、实际项目中,也许会用到更多的内存什么的 可以修改 hadoop-env.sh mapred-env.sh yarn-env.sh 里面的虚拟机配置
14、格式化namenode 第一次用 其实是对namenode进行初始化
hdfs namenode -format
INFO common.Storage: Storage directory /home/sc/hadoop/hdfs/nn has been successfully formatted.
用jps命令 可以查看 已经启动了些什么
当然现在 就只有jps这一个东西。
15、启动hdfs
在sbin 里面 启动
./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start secondarynamenode
./hadoop-daemon.sh start datanode
sc@hadoop1:~/hadoop-2.7.3/sbin$ jps
4386 Jps
4242 SecondaryNameNode
4310 DataNode
4141 NameNode
是否成功 就看这些东西有没有
16、关闭hdfs
./hadoop-daemon.sh stop datanode
./hadoop-daemon.sh stop secondarynamenode
./hadoop-daemon.sh stop namenode
17、启动yarn
./yarn-daemon.sh start resourcemanager
./yarn-daemon.sh start nodemanager
验证是否启动成功了
访问
192.168.31.111:50070
192.168.31.111:8088
第一个是hdfs 第二个是yarn的