hadoop伪分布式部署
hadoop安装
1,jdk安装
2,下载安装包解压
3,配置环境变量hadoop
HADOOP_HOME
PATH
4,配置hadoop
1,standalonne | local
没有守护进程,所有程序运行在同一个jvm,利于test和debug
2,distributed mode //伪分布式
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
步骤一:在官网下载hadoop的安装包,直接下载二进制的包。
http://hadoop.apache.org/releases.html
步骤二:安装jdk,并配置环境变量
1,上传jdk到服务器
2,解压jdk
#创建文件夹
1
mkdir /usr/java
#解压
1
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/
3,将java添加到环境变量中
1
vim /etc/profile
#在文件最后添加
1
export JAVA_HOME=/usr/java/jdk1.7.0_55
2
export PATH=
JAVA_HOME/bin
#刷新配置
1
source /etc/profile
步骤三:Hadoop的配置和安装
1,上传安装包到/optw文件夹
2,解压安装包
1
tar -zxvf hadoop-2.8.2.tar.gz
3,配置hadoop-env.sh
1
cd /opt/hadoop-2.8.2/etc/hadoop
2
vim hadoop-env.sh
修改配置文件
1
找到:export JAVA_HOME=$JAVA_HOME行,将它注释掉,用下面的行替代:
2
export JAVA_HOME=/usr/java/jdk1.7.0_65
4,配置core-site.xml
1
2
3
fs.defaultFS
4
hdfs://docker83:9000
5
6
7
8
hadoop.tmp.dir
9
/home/hadoop/hadoop-2.8.2/tmp
10
5,配置hdfs-site.xml
1
2
3
dfs.replication
4
1
5
注:配置到此时,分布式文件系统已经可以启动进行读写了。
6,配置mapred-site.xml
1
mv mapred-site.xml.template mapred-site.xml
2
vim mapred-site.xml
1
2
3
mapreduce.framework.name
4
yarn
5
7,配置yarn-site.xml
1
vim yarn-site.xml
1
2
3
yarn.resourcemanager.hostname
4
docker83
5
6
7
8
yarn.nodemanager.aux-services
9
mapreduce_shuffle
10
8,修改环境变量etc/profile
1
vim /etc/proflie
2
source /etc/profile
3
4
export HADOOP_HOME=/opt/hadoop-2.8.2
5
export PATH=
JAVA_HOME/bin:
HADOOP_HOME/sbin
9,格式化
1
cd $HADOOP_HOME/sbin
2
hdfs namenode -format(或者hadoop namenode -format)
10,启动和停止hadoop
1
cd $HADOOP_HOME/sbin
2
先启动HDFS
3
start-dfs.sh
4
再启动yarn
5
start-yarn.sh
6
停止所有
7
stop-all.sh
11,访问验证
http://192.168.8.83:50070
http://192.168.8.83:8088/cluster
12,测试
测试hdfs
–上传文件
1
hadoop fs -put /opt/soft/jdk.tar.gz hdfs://ip:9000/jdk
–下载文件
1
hadoop fs -get hdfs://ip:9000/jdk /home/jdk
测试yarn mapreduce
1
hadoop jar hadoop-mapreduce-examples.jar wordcount
2
hadoop fs -put word.txt hdfs://ip:9000/word.txt
3
hadoop jar hadoop-mapreduce-examples.jar wordcount hdfs://ip:9000/word.txt hdfs://ip:9000/out.txt
4
hadoop fs -ls /
13,免密登陆
在执行启动脚本的时候,系统会提示要输入密码验证,它其实是一个远程登录启动脚本的机制。
通过SSH远程到你配置的节点上去启动进程。即便你的节点是在本地,它也是一样的方式。
因此当节点N多的时候,要N次以上输入密码验证。为了解决这个问题,可以配置SSH免登录,
配置如下:
#生成ssh免登陆密钥
#进入到我的home目录
1
cd ~/.ssh
2
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
1
ssh-copy-id localhost
SSH工作原理和机制图