- Hadoop单机模式的安装配置
#解压jdk
tar -zxvf jdk-8u171-linux-x64.tar.gz
ln -s jdk1.8.0_171 jdk
#解压Hadoop
tar -zxvf hadoop-2.9.1.tar.gz
ln -s hadoop-2.9.1 hadoop
#编辑.bashrc文件并使文件生效
admin@ta:~$ vi ~/.bashrc
admin@ta:~$ source ~/.bashrc
#.bashrc文件增加的内容
export JAVA_HOME=~/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib/dt.jar:JAVA_HOME/lib/tools.jar:.
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=~/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#测试Hadoop环境变量
admin@ta:~$ whereis hdfs
hdfs: /home/admin/hadoop-2.9.1/bin/hdfs.cmd /home/admin/hadoop-2.9.1/bin/hdfs
admin@ta:~$ whereis start-all.sh
start-all: /home/admin/hadoop-2.9.1/sbin/start-all.cmd /home/admin/hadoop-2.9.1/sbin/start-all.sh
#配置Hadoop变量
admin@ta:~$ cd ~/hadoop/etc/hadoop
admin@ta:~/hadoop/etc/hadoop$ vi hadoop-env.sh
#hadoop-env.sh文件更改的行
export JAVA_HOME=/home/admin/jdk
#运行Mapreduce程序
admin@ta:~/hadoop/etc/hadoop$ mkdir ~/input
admin@ta:~/hadoop/etc/hadoop$ cd ~/input
admin@ta:~/input$ vi demo.txt
admin@ta:~/input$ cd ~/hadoop/share/hadoop/mapreduce
admin@ta:~/hadoop/share/hadoop/mapreduce$ hadoop jar hadoop-mapreduce-examples-2.9.1.jar wordcount ~/input/demo.txt ~/output
- Hadoop伪分布式模式的安装配置
编辑Hadoop的配置文件
admin@ta:~$ cd ~/hadoop/etc/hadoop
admin@ta:~/hadoop/etc/hadoop$ vi core-site.xml
admin@ta:~/hadoop/etc/hadoop$ vi hdfs-site.xml
admin@ta:~/hadoop/etc/hadoop$ vi mapred-site.xml
admin@ta:~/hadoop/etc/hadoop$ vi yarn-site.xml
##core-site.xml##
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/admin/hadoop/tmp</value>
</property>
</configuration>
##hdfs-site.xml##
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
##mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
##yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
yarn.nodemanager.aux-services mapreduce_shuffle
格式化HDFS
启动Hadoop
验证Hadoop进程是否已启动
通过浏览器访问Hadoop
向HDFS中上传文件
- Hadoop完全分布式模式的安装
- 导入一台已安装好Hadoop伪分布式模式的镜像文件
- 修改该虚拟机的hosts文件如下:
$ sudo vi /etc/hosts
192.168.2.91 node1
192.168.2.92 node2
192.168.2.93 node3
修改 core-site.xml和yarn-site.xml,将其中的localhost都改为node1
3. 将该虚拟机复制两份,得到三台虚拟机
4. 修改每台虚拟机的IP地址
5. 修改每台虚拟机的主机名
$ sudo vi /etc/hostname
-
在node1上设置SSH免密登录
生成公私钥 $ ssh-keygen -t rsa
发送公钥给 node1,node2, node3 -
在node1上修改hdfs-site文件
将标签值改为2 -
在node1上修改slaves文件,将文件内容修改为
node2
node3 -
将node1的配置文件分发给node2和node3
$ cd ~/hadoop/etc/
$ scp -r hadoop admin@node2: ~/hadoop/etc/
$ scp -r hadoop admin@node3: ~/hadoop/etc/
删除 hadoop→tmp→dfs→ data→current目录
10. 启动Hadoop
只需在node1上操作,在node1上输入如下命令分别启动HDFS和YArn
$ start-dfs.sh
$ start-yarn.sh
-
验证Hadoop进程是否启动
在node1、node2、node3上分别输入jps命令
jps
node1上应包含以下3个进程
NameNode
ResourceManager
SecondaryNameNode
node2和node3上应包含以下2个进程
DataNode
NodeManager -
在浏览器中查看DataNode节点是否启动
在浏览器中输入网址:http://192.168.2.91:50070 -
测试Hadoop
上传一个data.txt的文件到HDFS系统中
删除原来存在的output文件夹
$ hadoop dfsadmin -safemode leave
$ hadoop fs -rm -r /output
运行mapreduce下的wordcount程序