本地模式(使用的Linux存储系统):
1、tar -zxvf hadoop-2.7.3.tar.gz -C /soft
2、cd /soft
3、ln -s hadoop-2.7.3 hadoop
4、sudo nano /etc/profile
5、在最后一行下边添加以下内容:
export HADOOP_HOME=/soft/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
6、source /etc/profile
7、测试:hadoop version
8、常用命令:
hdfs dfs -ls ====== 列出当前目录下的文件
hdfs dfs -mkdir ====== 新建文件夹
hdfs dfs -cat ====== 查看文件内容
hdfs dfs -touchz ====== 新建文件
hdfs dfs -rm ====== 删除文件
伪分布式(使用Hadoop系统,只用一个主机):
1、配置文件,使三种模式共存:
(1)cd /soft/hadoop/etc
(2)mv hadoop local
(3)cp -r local pseudo
(4)cp -r local full
(5)ln -s psesudo hadoop ====== 想使用哪种模式,"hadoop"符号链接指向哪种
2、修改配置文件:
(1)cd /soft/hadoop/etc/hadoop
(2)nano core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.23.100/</value>
</property>
(3)nano hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
(4)nano mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(5)nano yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.23.100</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(6)nano hadoop-env.sh,修改第25行:
export JAVA_HOME=/soft/jdk
3、hdfs namenode -format ====== 格式化文件系统
4、start-all.sh ====== 启动hadoop
5、jps ====== 查看进程
6、在浏览器输入:192.168.23.100:50070 ====== hadoop的WebUI界面
7、常用命令:
hdfs dfs -touchz /a.txt ====== 在hdfs中新建文件
hdfs dfs -put hw.txt / ====== 将hw.txt上传到hdfs的根目录下
hdfs dfs -get /a.txt b.txt ====== 将hdfs的根目录下的a.txt下载到当前目录,并改名为b.txt
SSH(远程登录):
客户端:私钥(id_rsa),将登录信息加密;服务端:公钥(id_rsa.pub),将登录信息加密
解密的文件并不是公钥,解密的文件内容是公钥内容
解密的文件是"authorized_keys",它的内容和"id_rsa.pub"的内容一样
ssh-keygen -t rsa -P ' ' -f ~/.ssh/id_ras ====== 生成公私密钥对,-t指定加密算法,-P定义锁头(即指定一个字符串进行加密),-f指定密钥位置
ssh-copy-id [email protected] ====== 将公钥发给其他主机
exit ====== 退出当前登录的主机
完全分布式:
1、克隆主机(链接克隆),打开s101~s104
2、修改主机名
3、修改静态IP
4、重启客户机
5、修改hosts文件(主机名和IP的映射):
(1)sudo nano /etc/hosts
(2)添加以下内容:
192.168.23.101 s101
192.168.23.102 s102
192.168.23.103 s103
192.168.23.104 s104
6、配置s101到其他主机的免密登录
(1)ssh-keygen -t rsa -P ' ' -f ~/.ssh/id_rsa
(2)将公钥拷贝到其他节点:ssh-copy-id centos@s101 (s102,s103,s104)
7、修改配置文件
(1)cd /soft/hadoop/etc
(2)修改"hadoop"符号链接到"full":ln -sfT full hadoop
(3)cd /soft/hadoop/etc/hadoop
(4)nano core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://s101</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/centos/hadoop</value>
</property>
(5)nano hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
(6)nano mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(7)nano yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>s101</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(8)nano hadoop-env.sh,修改第25行:
export JAVA_HOME=/soft/jdk
(9)修改slaves文件,将localhost删掉,添加以下内容:
s102
s103
s104
8、同步配置文件
(1)将其他节点的/soft/hadoop/etc删掉:
ssh s102 rm -rf /soft/hadoop/etc
ssh s104 rm -rf /soft/hadoop/etc
ssh s103 rm -rf /soft/hadoop/etc
(2)将本机的/soft/hadoop/etc分发到其他节点(无法发送符号链接):
scp -r /soft/hadoop/etc centos@s104:/soft/hadoop/
scp -r /soft/hadoop/etc centos@s103:/soft/hadoop/
scp -r /soft/hadoop/etc centos@s102:/soft/hadoop/
9、hdfs namenode -format
10、start-all.sh
11、体验MapReduce:
(1)hdfs dfs -put hw.txt / ====== 将hw.txt上传到hdfs的根目录下
(2)使用hadoop自带的demo进行单词统计:
hadoop jar /soft/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /hw.txt /out
(3)通过WebUI界面查看hadoop运行状态:192.168.23.100:8088
(4)hdfs dfs -get /out/part-r-00000 ====== 下载统计后的文件
12、将secondarynamenode配置到s105
(1)在s101修改hdfs-site.xml:cd /soft/hadoop/etc/hadoop,nano hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>s105:50090</value>
</property>
(2)克隆s105
(3)修改hostname和静态IP,修改hosts文件
(4)重新配置所有节点的免密登录
(5)删除其他节点的所有etc文件夹,重新同步配置文件