声明:个人笔记,我自己看的不想看勿喷
配置jdk
在根目录opt文件夹下创建两个文件夹:module和software(命令:mkdir),software用来存放tar包,module用来存放解压后的tar包。
修改文件夹用户和用户组,当前是root用户(命令:ls -l 查看文件用户和用户组名)
命令:chown pi:spi module/ software/
解压tar包:tar -zxvf 包名 -C /opt/module
配置环境变量:
sudo vi /etc/profile
在最后面添加
##JAVA_HOME //JAVA环境变量
export JAVA_HOME= Java的路径
export PATH=$PATH:$JAVA_HOME/bin
##HADOOP //hadoop环境变量
export HADOOP_HOME=HADOOP 路径
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
重新加载配置文件:source /etc/profile
java -version //查看当前jdk版本
java
javac
Grep官方案例
在hadoop目录下创建input目录,拷贝一些etc下的xml文件到input,
命令:cp etc/*.xml input/
运算实例代码:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar grep input/ output 'dfs[a-z.]+'
grep 是方法名
执行完之后hadoop目录下会出现input目录,进去有两个文件:
part-r-00000 _SUCCESS
cat part-r-00000 文件会出现 1 dfsadmin 这是运算的结果
如果需要再执行需要删除input目录
否则执行的时候会出现:
说明文件已经存在
官方wordcount 案例(可以统计单词出现的次数)
在hadoop根目录下面创建一个文件夹,用touch创建一个文件,然后vi文件,在里面编辑一些单词,单词可以重复出现。
执行下面语句,完成后进入wcoutput目录下查看part文件,里面会把每个单词的个数写出来。
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount wcinput/ wcoutput
修改配置文件
1.在hadoop的etc/hadoop目录下, 有个core-site.xml文件,vi进入,在末尾处修改。
<configuration>
##指定HDFS中的NameNode的地址
<property>
<name>fs.defaultFS</name>
<value>hdfs://raspbian:9000</value>
</property>
##指定Hadoop运行时产生文件的存储目录
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.5/data/tmp</value>
</property>
</configuration>
2.vi目录/opt/module/hadoop-2.7.5/etc/hadoop下的hadoop-env.sh文件,
修改export JAVA_HOME=/opt/module/jdk1.8.0_231
(命令:echo $JAVA_HOME //用来查看路径)
3.vi 目录/opt/module/hadoop-2.7.5/etc/hadoop下的hdfs-site.xml 文件
在最后添加
##指定HDFS副本的数量,1代表一份
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
格式化HDFS
bin/hdfs //查看hdfs的命令
bin/hdfs namenode -format //格式化HDFS
sbin/hadoop-daemon.sh start namenode //启动namenode
sbin/hadoop-daemon.sh start datanode //启动datanode
jps //查看进程
Web页面在浏览器输入:自己的ip地址:50070
bin/hdfs dfs -mkdir -p /user/pi/input //在hdfs上创建目录
bin/hdfs dfs -ls //查看hdfs上的文件
bin/hdfs dfs -lsr //查看hdfs上的目录及目录一下的文件
bin/hdfs dfs -put wcinput/wc.input /user/pi/input //案例
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/pi/input user/pi/outout //运行jar包
bin/hdfs dfs -cat /user/pi/output/p* //查看HDFS上文件里面的内容
集群被玩坏了
先jps查看namenode和datanode是否运行,如果运行,先关闭,然后删除hadoop根目录下的data和logs文件夹,然后再执行格式化,否则会报错。
集群出现问题
先查看logs目录下的 cat hadoop-pi-datanode-raspbian.log 文件
未完待续…