hadoop集群搭建2

下面提到的一些配置文件,因为篇幅过大,就不放上面了,我已经压缩好放在链接里,可以自行下载,配置参数也都做了详细的备注说明
hadoop配置中的一些.xml文件

java的部署

[hadoop@hadoop001 software]$3代表小窗口中同时将命令行输入到三台机器上,[hadoop@hadoop001 software]$1代表将命令行输入到当前机器上
1.解压jdk包放到/usr/java里面

[root@hadoop001 ~]#3 su - hadoop
[hadoop@hadoop001 ~]$3 cd software
[hadoop@hadoop001 software]$3 ll /usr/java (没有,退出到root下面去创建文件夹)
[root@hadoop003 ~]#3 mkdir /usr/java
[root@hadoop001 ~]#3 tar -xzvf /home/hadoop/software/jdk-8u45-linux-x64.gz -C /usr/java (-C是解压到指定目录中)
[root@hadoop001 ~]#3 chown -R root:root /usr/java/jdk1.8.0_45(注意看解压后的用户用户组不对,修改三台机器的用户用户组)
[root@hadoop001 ~]#3 ll /usr/java (查看是否已经修改完成)

2.配置Java的环境变量,因为考虑到Java都会用到,所以配置在全局环境变量中。

[root@hadoop003 ~]#3 vi /etc/profile (然后三台机器都要把各自的家目录添加到path的路径里面)
#env (#代表注释掉,此行不执行)
export JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=$JAVA_HOME/bin:$PATH
[root@hadoop001 ~]#3 source /etc/profile (生效)
[root@hadoop003 ~]#3 java -version (验证是否部署成功)
到此为止,JDK环境部署完成

解压hadoop、zookeeper

1.解压

[root@hadoop001 ~]#3 su - hadoop
[hadoop@hadoop001 ~]$3 cd software
[hadoop@hadoop003 software]$3 tar -zvxf hadoop-2.6.0-cdh5.7.0.tar.gz -C ../app/
[hadoop@hadoop003 software]$3 cd ..
[hadoop@hadoop001 ~]$3 cd app
[hadoop@hadoop001 ~]$3 ll (查看是否三台机器已经将解压后的文件夹放在了hadoop家目录下面的app里面)
[hadoop@hadoop001 app]$3 tar -zvxf /home/hadoop/software/zookeeper-3.4.6.tar.gz -C /home/hadoop/app/
[hadoop@hadoop003 app]$3 ll (查看一下是否三台机器已经将解压后的软件放在hadoop家目录下面的app里面,以及其用户用户组是否正确)

把hadoop软件、zookeeper软件的路径添加到hadoop用户下的个人环境变量中去

1.修改hadoop的个人环境变量

[hadoop@hadoop003 app]$3 cd (进入hadoop用户的家目录)
[hadoop@hadoop003 ~]$3 vi .bash_profile (然后分别在三台机器中改路径参数)
删除个人环境变量文件的最下面的PATH=$PATH:$HOME/bin   export PATH 两行内容
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper-3.4.6
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$PATH
[hadoop@hadoop003 ~]$3 source .bash_profile (同时让三台机器的个人环境变量文件生效)
[hadoop@hadoop001 ~]$3 cd $HADOOP_HOME(看是否能够切到三台机器的hadoop软件的家目录)

2.目录规划
在hadoop软件的家目录下创建data logs tmp这三个文件夹。tmp文件夹要把权限改为777,用户用户组改为root

[hadoop@hadoop003 hadoop-2.6.0-cdh5.7.0]$3 mkdir $HADOOP_HOME/data && mkdir $HADOOP_HOME/logs && mkdir $HADOOP_HOME/tmp (同时在三台机器下面的hadoop软件的家目录下创建data logs tmp这三个文件夹)
[hadoop@hadoop003 hadoop-2.6.0-cdh5.7.0]$3 chmod -R 777 $HADOOP_HOME/tmp (修改权限)
[hadoop@hadoop003 hadoop-2.6.0-cdh5.7.0]$3 ll (查看一下)

3.关闭防火墙 (小插曲)

[root@hadoop002 ~]#3 service iptables stop(关闭3台机器的防火墙)
[root@hadoop002 ~]#3 service iptables status(查看防火墙是否关闭)
[root@hadoop001 ~]#3 chkconfig iptables off (关闭防火墙的自动运行)
[root@hadoop003 ~]#3 chkconfig --list | grep iptables(验证是否关闭自启动)
iptables        0:off 1:off 2:off 3:off 4:off 5:off 6:off

安装zookeeper

前面我们已经把zookeeper下载好了,也解压过了,下面就直接到/home/hadoop/app/zookeeper-3.4.6下面进行安装
1.进入到conf下面,修改配置文件

[hadoop@hadoop003 conf]$3 ll
-rw-rw-r--. 1 hadoop hadoop  535 Feb 20  2014 configuration.xsl
-rw-rw-r--. 1 hadoop hadoop 2161 Feb 20  2014 log4j.properties
-rw-rw-r--. 1 hadoop hadoop  922 Feb 20  2014 zoo_sample.cfg
[hadoop@hadoop001 conf]$3 cp zoo_sample.cfg zoo.cfg (三台机器的zoo_sample.cfg案例文件都拷贝一份重命名到自己的当前文件夹)
[hadoop@hadoop001 conf]$3 ll(查看来核对是否正确)
[hadoop@hadoop001 conf]$1 vi zoo.cfg (在当前这台机器下修改参数文件)修改内容有如下两处:
dataDir=/tmp/zookeeper (这个参数代表其日志目录的文件夹,默认在/tmp目录下面)我们把这个修改为自己设置好的路径,用于以后方便管理)
修改为:dataDir=/home/hadoop/app/zookeeper-3.4.6/data
复制下面三行内容到文件中去,可以把这三行放在最后面。
server.1=hadoop001:2888:3888
server.2=hadoop002:2888:3888
server.3=hadoop003:2888:3888
(server.1中的1就是代表该台服务器的id,也就是代表相应的第一台机器的zookeeper,它们有唯一的标识,类似id主键约束一样,是不能重复的,那么1对应的机器是hadoop001这台机器。2888和3888对应的是通信端口,在此不多做解释了,想深入了解的小伙伴可以自己google)
[hadoop@hadoop001 conf]$1 more zoo.cfg(查看参数是否修改成功)
修改完上面这两处之后,把在hadoop001上修改的这份文件scp到其他两台机器上面
[hadoop@hadoop001 conf]$1 scp zoo.cfg hadoop002:/home/hadoop/app/zookeeper-3.4.6/conf/
[hadoop@hadoop001 conf]$1 scp zoo.cfg hadoop003:/home/hadoop/app/zookeeper-3.4.6/conf/
到此三台机器的配置文件修改完成

2.修改另一个文件

[hadoop@hadoop001 conf]$3 cd .. (三台机器同时退出到zookeeper的家目录下面)
[hadoop@hadoop001 zookeeper-3.4.6]$3 mkdir data (创建一个data文件夹)
[hadoop@hadoop001 zookeeper-3.4.6]$3 touch data/myid(在data文件夹下面创建一个空的文件,用于存放id)
[hadoop@hadoop001 zookeeper-3.4.6]$1 echo 1 > data/myid (需单独操作每台机器)
[hadoop@hadoop002 zookeeper-3.4.6]$1 echo 2 > data/myid
[hadoop@hadoop003 zookeeper-3.4.6]$1 echo 3 > data/myid
[hadoop@hadoop001 zookeeper-3.4.6]$3 cat data/myid (查看核实)
####切记:echo 3>data/myid,将>前后空格保留,否则无法将 3 写入 myid 文件!!
到此,zookeeper的配置文件部署到此结束,下面开始配置hadoop

配置hadoop

1.修改hadoop-env.sh文件 (把JAVA的路径要配置进去)

[hadoop@hadoop001 hadoop]$3 pwd (此路径下面有一些配置文件)
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
[hadoop@hadoop001 hadoop]$1 vi hadoop-env.sh 
export JAVA_HOME=${JAVA_HOME} (该行代表Java的家目录,将默认值改为我们自定义的Java的家目录)
修改为:
export JAVA_HOME=/usr/java/jdk1.8.0_45
修改完其中一台机器的hadoop-env.sh,再传到其他两台上
[hadoop@hadoop001 hadoop]$1 scp hadoop-env.sh hadoop002:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/
[hadoop@hadoop001 hadoop]$1 scp hadoop-env.sh hadoop003:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/

2.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/core-site.xml
3.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hdfs-site.xml
4.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/yarn-env.sh (也就是修改yarn的日志地址相关的参数)

扫描二维码关注公众号,回复: 4537664 查看本文章
# Yarn Logs
export YARN_LOG_DIR="/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs"

5.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/mapred-site.xml
6.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/yarn-site.xml
7.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/slaves
如下:

[hadoop@hadoop001 hadoop]$3 pwd
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
[hadoop@hadoop001 hadoop]$3 rm -f core-site.xml hdfs-site.xml yarn-site.xml slaves (把该文件下面的配置文件删除,从Windows里面上传已经修改好的配置文件)
[hadoop@hadoop002 hadoop]$1 rz (分别把这2-7除4之外的五个文件上传到每台机器的/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/下面)
###切记:slaves文件从Windows上传至Linux会出现乱码的情况,所以一定要使用命令dos2unix filename.sh转一下,不然后来启动会起不来)

猜你喜欢

转载自blog.csdn.net/qq_42694416/article/details/84574844