本文所使用的Linux发行版本为:CentOS Linux release 7.4.1708 (Core)
hadoop单机版安装 准备工作 创建用户 useradd -m hadoop passwd hadoop 下载安装包1.jdk
到官方下载页面,下载jdk,我下载的版本为jdk-8u151-linux-x64.tar.gz。
2.hadoop安装包
到hadoop官网下载hadoop的二进制包,我使用的版本为:hadoop-2.7.5.tar.gz。
将jdk和hadoop的包上传到linux上,路径为:/home/hadoop。
hadoop安装及配置 安装以hadoop用户登录,分别解压jdk和hadoop的包。
tar -zxvf jdk-8u151-linux-x64.tar.gz tar -zxvf hadoop-2.7.5.tar.gz重命名hadoop的目录
mv hadoop-2.7.5/ hadoop/ hadoop运行环境配置进入到hadoop的目录/home/hadoop/hadoop
vi etc/hadoop/hadoop-env.sh
设置jdk的路径
# The java implementation to use. export JAVA_HOME=http://www.likecs.com/home/hadoop/jdk1.8.0_151 使用hadoop进行单词统计 创建输入文件目录及测试文件 mkdir input4test vi input4test/1.txt hadoop is an open-source software vi input4test/2.txt I want to learn hadoop 执行单词统计操作 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount ./input4test ./output4test 查看统计结果 cat output4test/part-r-00000 I 1 an 1 hadoop 2 is 1 learn 1 open-source 1 software 1 to 1 want 1 hdfs相关配置及操作 配置hdfs进入到hadoop的目录/home/hadoop/hadoop
修改配置文件etc/hadoop/core-site.xml
修改配置文件etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> 设置免密码登录 $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys hdfs格式化及启动
hdfs格式化
bin/hdfs namenode -format
hdfs启动
sbin/start-dfs.sh
查看hdfs状态
在浏览器中输入:50070,可以查看hdfs的状态。如果50070端口没有打开,输入下面命令打开50070端口。
该命令表示以递归方式查看根目录下的所有文件和文件夹。
创建目录 bin/hadoop dfs -mkdir /input该命令表示在根目录下创建input目录。
上传文件到hdfs bin/hadoop hdfs -put input4test/1.txt /input/ bin/hadoop hdfs -put input4test/2.txt /input/该命令表示将本地input4test/1.txt和2.txt文件上传到hdfs中的/input目录下。
查看文件内容 bin/hadoop dfs -cat /input/1.txt 通过YARN调度 配置YARN修改配置文件etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>修改配置文件etc/hadoop/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_MAPRED_HOME</value> </property> </configuration> 启动YARN sbin/start-yarn.sh 查看YARN状态在浏览器中输入:8088,可以查看YARN的状态。如果8088端口没有打开,输入下面命令打开8088端口。
iptables -I INPUT -p tcp --dport 8088 -j ACCEPT 再次执行单词统计操作 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /input /output本次执行的输入和输出目录,都是hdfs的目录。
查看统计结果 bin/hadoop dfs -cat /output/part-r-00000和之前的结果一样。
I 1 an 1 hadoop 2 is 1 learn 1 open-source 1 software 1 to 1 want 1