我在第28步启动journalnode的时候做不出来journalnode进程,返回去看了看某些配置,发现配置hdfs-site.xml时里面的配置信息我粘贴了两次。
我在第31步启动hdfs集群时一直都跳不出来进程,然后界面上出现了password,就想着 也有可能是前面的免密钥没有做好,然后重新做了一遍免密钥后就可以成功启动了。
1.将jdk分别分发到node02、03、04三台机子
-scp jdk-7u67-linux-x64.rpm node02:`pwd`
-scp jdk-7u67-linux-x64.rpm node03:`pwd`
-scp jdk-7u67-linux-x64.rpm node04:`pwd`
2.分别在node02、03、04三台机子上执行rpm安装命令
-rpm -i jdk-7u67-linux-x64.rpm
3.在node01上输入cd /etc,在此目录下把profile文件分发到node02、03、04上
- 在node01机子上输入:
-scp profile node02:`pwd`
4.利用Xshell全部会话栏
source /etc/profile
jps
5.查看机子当前的时间
date
6.每台机子的时间不同步,可以进行以下步骤
yum -y install ntp
ntpdate time1.aliyun.com
7.查看HOSTNAME是否正确
cat /etc/sysconfig/network
8.查看IP映射是否正确
cat /etc/hosts
9.查看cat /etc/sysconfig/selinux里是否SELINUX=disabled
cat /etc/sysconfig/selinux
10.查看防火墙是否关闭
service iptables status
11.在家目录下查看每台机子有无.ssh文件
ll -a
ssh loalhost
12.查看文件
cd .ssh
13.把node01的公钥发给其他02 03 04三台机子
scp id_dsa.pub node02:`pwd`/node01.pub
scp id_dsa.pub node03:`pwd`/node01.pub
scp id_dsa.pub node04:`pwd`/node01.pub
cat node02.pub >> authorized_keys
cat node03.pub >> authorized_keys
cat node04.pub >> authorized_keys
ssh node02
ssh node03
ssh node04
14.node01与node02间互相免密钥:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh localhost
scp id_dsa.pub node01:`pwd`/node02.pub
cat node02.pub >> authorized_keys
15.根据下图的路径所示找到site .xml
16.进行以下配置后保存退出
vi hdfs-site.xml
根据截图配置:
(有点多,要仔细)
(之前因为不仔细不小心复制了两遍就在后面的jps部分缺少了journalnode节点)
vi core-site.xml
vi slaves
17.安装hadoop cd /opt ,将其下的cyj目录分发到node02、03、04
scp –r cyj/ node02:`pwd`
scp –r cyj/ node03:`pwd`
scp –r cyj/ node04:`pwd`
分发截图如下(会出现类似下面图片的的传输过程(一小部分,没截全)):
18.在node02 03 04上的家目录下ll查看是否都有sortware文件
mkdir software
19.将hdfs-site.xml和core-site.xml分发到node02、03、04
-scp hdfs-site.xml core-site.xml node02:`pwd`
-scp hdfs-site.xml core-site.xml node03:`pwd`
-scp hdfs-site.xml core-site.xml node04:`pwd`
20.解压安装zookeeper
tar xf zookeeper-3.4.6.tar.gz -C /opt/cyj
21.修改zookeeper的配置文件
cd /opt/cyj/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg
22.修改zoo.cfg配置
vi zoo.cfg
需修改的信息: dataDir=/var/cyj/zk
在末尾添加:
server.1=node02:2888:3888
server.2=node03:2888:3888
server.3=node04:2888:3888
2888主从通信端口,3888是当主挂断后进行选举机制的端口
23.把zookeeper分发到其他节点
scp -r zookeeper-3.4.6/ node03:`pwd`
scp -r zookeeper-3.4.6/ node04:`pwd`
24.给每台机子创建刚配置文件里的路径
mkdir -p /var/cyj/zk
node02:
echo 1 > /var/cyj/zk/myid
cat /var/cyj/zk/myid
node03:
echo 2 > /var/cyj/zk/myid
cat /var/cyj/zk/myid
node04:
echo 3 > /var/cyj/zk/myid
cat /var/cyj/zk/myid
25.配置信息
vi + /etc/profile
26.把/etc/profile分发到node03、node04
scp /etc/profile node03:/etc
scp /etc/profile node04:/etc
27.启动zookeeper
vi + /etc/profile
28.启动journalnode
hadoop-daemon.sh start journalnode
cd /opt/cyj/hadoop-2.6.5/logs/
tail -100 hadoop-root-journalnode-node01.log
29.格式化任一namenode
hdfs namenode –format
hadoop-daemon.sh start namenode
29.给另一namenode同步数据
hdfs namenode -bootstrapStandby
30.格式化zkfc(另一台机子 我的是node02)
hdfs zkfc -formatZK
31.启动hdfs集群
start-dfs.sh
32.全部会话jps看看都有什么进程
33.用浏览器访问node01:50070和node02:50070
34.为MapReduce做准备
cp mapred-site.xml.template mapred-site.xml
35.在yarn-site.xml里添加如下property
36.把mapred-site.xml和yarn-site.xml 分发到node02、03、04
scp mapred-site.xml yarn-site.xml node02:`pwd`
scp mapred-site.xml yarn-site.xml node03:`pwd`
scp mapred-site.xml yarn-site.xml node04:`pwd`
37.由于node03和node04都是resourcemanager,所以0304之间应该相互免密钥
node03上免密钥登录node04
ssh-keygen -t dsa -P '' -f ./id_dsa
cat id_dsa.pub >> authorized_keys
ssh localhost
exit
scp id_dsa.pub node04:`pwd`/node03.pub
cat node03.pub >> authorized_keys
ssh-keygen -t dsa -P '' -f ./id_dsa
cat id_dsa.pub >> authorized_keys
scp id_dsa.pub node03:`pwd`/node04.pub
cat node04.pub >> authorized_keys
38.
1.启动zookeeper
zkServer.sh start
2.在node01上启动hdfs
start-dfs.sh
3.在node01上启动yarn
start-yarn.sh
4.在node03 04上分别启动resourcemanager
yarn-daemon.sh start resourcemanager
39.在浏览器访问node03:8088,查看resourcemanager管理的内容
40.尝试跑一个wordcount
1.在node01输入cd /opt/cyj/hadoop-2.6.5/share/hadoop/mapreduce
2.在hdfs里建立输入目录和输出目录
hdfs dfs -mkdir -p /data/in
hdfs dfs -mkdir -p /data/out
3.将要统计数据的文件上传到输入目录并查看
hdfs dfs -put ~/500miles.txt /data/in
hdfs dfs -ls /data/in
hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount /data/in /data/out/result
41.查看运行结果
hdfs dfs -ls /data/out/result
hdfs dfs -cat /data/out/result/part-r-00000
42.集群的启动和关闭
- 启动:
- 关闭:
43.在Windows下配置hadoop的环境
1.把uer压缩包解压后的这三个文件夹放到一个usr文件夹里,放到一个自己知道的地方
2.我的电脑右键-属性-高级系统设置
4.给path追加HADOOP_HOME的bin目录
5.把usr里的hadoop.dll拷贝到windows的system32里
6.安装ecipse-mars,这个版本的eclipse带插件,可以可视化的看到hadoop的一些东西,比较方便
7.如果eclipse界面下方没有小象图标,则按照以下部分进行操作
Location name:自己取一个名字
取消UseM/R Master hoet前面的方框中的√
右侧的Host填入node01
(因为我访问浏览器的时候,node01时active,即哪台是active就填哪台机子)
右侧的Port填写8020
10.新建好hadoop localtion就能在eclipse左侧列表中看到DFS location
在DFS location里新建一个目录,对应的hdfs里也就建好
12.把jar包导入刚建的包库
13.新建一个project,把刚建的包库引入到project里(根据下图所示)
14.利用xftp把hdfs-site.xml,core-site.xml等几个xml放到project的src目录