Linux-04搭建Hadoop1.2.1+Tomcat

来源:互联网 发布:最早的网络竞技游戏 编辑:程序博客网 时间:2024/06/06 05:03

1. 软件

zookeeper-3.4.5.tar.gzhadoop-1.2.1.tar.gzjdk-7u79-linux-x64.tar.gzCentos5.6

2. 创建用户hdfsuser

[root@data1 ~]# useradd -r -m hdfsuser[root@data1 ~]# pwsswd hdfsuser

3. 上传文件

 zookeeper和hadoop文件到用户hdfsuser的存储数据目录上即在        [hdfsuser@data1 ~]$ ls查看上传的所有文件,然后开始安装.注意:除了JDK安装用root以外。其余安装部分使用root权限

4. JDK安装

4.1 切换root用户

 [hdfsuser@data1 ~]$ su root

4.2 解压

在/usr/目录下创建java目录,然后将jdk-7u79-linux-x64.tar.gz解压到/usr/java/目录下####创建目录[root@data1 hdfsuser]# mkdir /usr/java####解压[root@data1 hdfsuser]# tar -zxvf jdk-7u79-linux-x64.tar.gz -C /usr/java/

4.3 将解压的文件夹1.7_133改名为jdk1.7

[root@data1 hdfsuser]# cd /usr/java/[root@data1 java]# mv jdk1.7_133/ jdk1.7

4.4 配置PATH路径

[root@data1 java]# vi /etc/profile在倒数第二行开始增加以下代码:export JAVA_HOME=/usr/java/jdk1.7export PATH=$PATH:$JAVA_HOME/bin

然后保存退出

4.5 重新加载配置

系统配置需要重新加载才能生效[root@data1 java]# source /etc/profile

4.6 验证

输入java -version

[root@data1 java]# java -versionjava version "1.7.0_79"Java(TM) SE Runtime Environment (build 1.7.0_79-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

5 安装Hadoop

5.1 创建目录

创建/data目录存放数据(以root用户执行)并将/tmp的权限给hdfsuser

[root@data1 java]# mkdir /data

5.2 授权

将该文件夹的用户切换为hdfsuser(以root用户执行)

[root@data1 java]# chown -R hdfsuser /data[root@data1 java]# chgrp -R hdfsuser /data[root@data1 java]# chown  -R hdfsuser /tmp[root@data1 java]# chgrp -R hdfsuser /tmp

5.3 切换成hdfsuser用户

[root@data1 java]# su hdfsuser

5.4 创建文件夹

在hdfsuser存储数据的目录创建hadoop文件夹,

[hdfsuser@data1 ~]$ mkdir hadoop

5.5 解压

将hadoop-1.2.1.tar.gz解压

[hdfsuser@data1 ~]$ tar -zxvf  hadoop-1.2.1.tar.gz -C /hadoop/

5.6 重命名

修改解压后文件夹的名字为hdfs

[hdfsuser@data1 ~]$ mv hadoop/hadoop-1.2.1/ hadoop/hdfs

5.7 配置PATH路径 (以root用户执行)

[hdfsuser@data1 hadoop]$ su root[root@data1 hadoop]# vi /etc/profile完整配置加上之前配置的JDK:export JAVA_HOME=/usr/java/jdk1.7   export HADOOP_HOME=/home/hdfsuser/hadoop/hdfsexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

保存并退出

5.8 重新加载配置

系统配置需要重新加载才能生效[root@data1 hadoop]# source /etc/profile

5.9 修改配置文件

5.9.1 进入到hdfs目录然后进入的/conf目录下

[hdfsuser@data1 hadoop-1.2.1]$ pwd/home/hdfsuser/hadoop/hdfs

5.9.2 修改hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7

5.9.3 修改core-site.xml

<configuration>        <property>              <name>fs.defalut.name</name>            <value>hdfs://192.168.6.125:9000</value><!--这个ip为当前机器的ip-->        </property>        <property>              <name>hadoop.tmp.dir</name>            <value>/data/hadoop/tmp</value>        </property></configuration>

5.9.4 修改hdfs-site.xml

 <configuration>        <property>            <name>dfs.name.dir</name>            <value>/data/hadoop/hdfs/name</value>        </property>        <property>              <name>dfs.replication</name>            <value>1</value>        </property>        <property>            <name>dfs.permissions</name>            <value>false</value>        </property>        <property>            <name>dfs.datanode.socket.write.timeout</name>            <value>3000000</value>        </property>        <property>            <name>dfs.socket.timeout</name>            <value>3000000</value>        </property>    </configuration>

5.9.5 修改mapred-site.xml

<configuration>        <property>            <name>mapred.job.tracker</name>            <value>192.168.6.125:9001</value>        </property>        <property>            <name>mapred.local.dir</name>            <value>/data/hadoop/mapred/local</value>        </property>        <property>            <name>mapred.system.dir</name>            <value>/tmp/hadoop/mapred/system</value>        </property></configuration>

5.10 设置免登录

5.10.1 生成密钥和公钥

[hdfsuser@data1 ~]$ssh-keygen -t rsa  一直回车即可。

5.10.2 设置本机免登录

[hdfsuser@data1 ~]$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

5.10.3 免登录依然需要输入密码

查看authorized_keys的权限,[hdfsuser@data1 .ssh]$ ls -al总计 48drwx------ 2 hdfsuser hdfsuser 4096 07-18 03:41 .drwx------ 4 hdfsuser hdfsuser 4096 07-18 03:36 ..-rw-rw-r-- 1 hdfsuser hdfsuser 1584 07-18 03:48 authorized_keys-rw------- 1 hdfsuser hdfsuser 1675 07-18 03:40 id_rsa-rw-r--r-- 1 hdfsuser hdfsuser  396 07-18 03:40 id_rsa.pub-rw-r--r-- 1 hdfsuser hdfsuser  792 07-18 03:36 known_hosts[hdfsuser@data1 .ssh]$ chmod 710 authorized_keys 需要将其authorized_keys修改为710权限指令:[hdfsuser@data1 .ssh]$ chmod 710 authorized_keys [hdfsuser@data1 .ssh]$ ssh localhostLast login: Tue Jul 18 03:48:52 2017 from data1[hdfsuser@data1 ~]$ ssh data1Last login: Tue Jul 18 03:54:15 2017 from data1

5.11 初始化namenode

###5.11.1 验证hadoop的安装路径 ###

[hdfsuser@data1 ~]$ echo $HADOOP_HOME/home/hdfsuser/hadoop/hdfs 

5.11.2 格式化HDFS

[hdfsuser@data1 ~]$ cd $HADOOP_HOME[hdfsuser@data1 hadoop-1.2.1]$ bin/hadoop namenode -format

5.12 启动HDFS

[hdfsuser@data1 hadoop-1.2.1]$ cd bin/[hdfsuser@data1 bin]$ ./start-all.sh 

5.13 关闭防火墙(适用于cenOS5.7,用root账户)

    查看防火墙状态:        指令:[hdfsuser@data1 bin]# service iptables status    关闭防火墙:        指令:[hdfsuser@data1 bin]# service iptables stop    关闭开机启动        指令: [hdfsuser@data1 bin]# chkconfig iptables off

5.14 验证是否开启成功

[root@data1 bin]$ jps    12782 DataNode    12901 SecondaryNameNode    15070 Jps    12983 JobTracker    12669 NameNode    13112 TaskTracker登陆网址:    http://192.168.6.125:50030/ Hadoop管理界面    http://192.168.6.125:50060/ Hadoop Task Tracker状态    http://192.168.6.125:50070/ 这是Hadoop DFS状态

5.15 关闭HDFS

 [hdfsuser@data1 bin]$ ./stop-all.sh 

5.16 设置web1免登录于data1

5.16.1 配置映射关系(使用root用户)

    [root@web1 bin]# vi /etc/hosts            添加IP映射            192.168.6.125           data1            192.168.6.127           web1

5.16.2 web1生成公钥和密钥

[hdfsuser@web1 ~]# ssh-genkey -t rsa 一直回车即可[hdfsuser@web1 ~]# ssh-copy-id -i  hdfsuser@data1如果某台机器想要免登录于另一台机器,需要将自己的公钥发送给免登录的机器上,authorized_keysweb1要免登录data1,所以需要将自己的公钥发送给data1

6 安装Zookeeper

6.1 将zookeeper-3.4.5.tar.gz解压

[hdfsuser@data1 ~]$ tar -zxvf  zookeeper-3.4.5.tar.gz -C /hadoop/

6.2 修改解压后文件夹的名字为zookeeper

[hdfsuser@data1 ~]$ mv hadoop/zookeeper-3.4.5/ zookeeper

6.3 进入conf目录 修改配置文件

[root@data1 conf]# mv zoo_sample.cfg zoo.cfg[root@data1 conf]# vi zoo.cfg修改:dataDir=/data/hadoop/zookeeper新增:dataLogDir=/data/hadoop/zookeeper/logs

6.4 启动zookeeper

[root@data1 bin]# pwd/home/hdfsuser/hadoop/zookeeper/bin[hdfsuser@data1 bin]$ ./zkServer.sh startJMX enabled by defaultUsing config: /home/hdfsuser/hadoop/zookeeper/bin/../conf/zoo.cfgStarting zookeeper ... STARTED

6.5 查看启动进程

[hdfsuser@data1 bin]$ jps15164 QuorumPeerMain15212 Jps

6.6 查看状态

[hdfsuser@data1 bin]$ ./zkServer.sh statusJMX enabled by defaultUsing config: /home/hdfsuser/hadoop/zookeeper/bin/../conf/zoo.cfgMode: standalone

6.7 注意

在进行开启zookeeper的时候,如果jps没有对应的进程,则可能出现问题,查看日志zookeeper.out日志进行排错,可能的错误是/data/hadoop/zookeeper/下没有创建logs文件
默认的日志路径在当前执行脚本目录下。

    if [ "x${ZOO_LOG_DIR}" = "x" ]    then        ZOO_LOG_DIR="."    fi    if [ "x${ZOO_LOG4J_PROP}" = "x" ]    then        ZOO_LOG4J_PROP="INFO,CONSOLE"    fi    需要修改日志存放位置,则编辑$ZOOKEEPER_HOME/bin下的zkEnv.sh文件    ZOO_LOG_DIR制定想要输出到哪个目录,    ZOO_LOG4J_PROP 指定INFO,     ROLLINGFILE的日志为APPENDER    参考:http://blog.csdn.net/huanggang028/article/details/17560731 

7 安装Apache Tomcat(此步骤为web1机器)

7.1 安装JDK1.7

步骤如data1安装jdk一致

7.2 上传并安装Tomcat

7.2.1 将Tomcat复制到/opt下

[root@web1 ~]# cp apache-tomcat-7.0.42 /opt/

7.3 解压tomcat

 [root@web1 opt]# tar -zxvf apache-tomcat-7.0.42 

7.4 重命名

[root@web1 opt]# mv apache-tomcat-7.0.42 tomcat7.0.42-web

7.5 再次解压

[root@web1 opt]# tar -zxvf apache-tomcat-7.0.42 

7.6 再次重命名

[root@web1 opt]# mv apache-tomcat-7.0.42 tomcat7.0.42-service

7.7 上传项目xxx到/opt上并解压

[root@web1 opt]# tar -zxvf xxx.tar.gz

7.8 修改配置文件

7.8.1 修改xxx项目里的core-site配置文件(里面的ip修改为对应的data1的ip)

[root@web1 classes]# pwd/opt/xxx/WEB-INF/classes[root@web1 classes]# vi core-site.xml 

7.8.2 修改xxx项目里的jdbc.properties配置文件(后期修改对应的db1的ip)

            `````

7.9 测试Tomcat能否正常开启

[root@web1 bin]# ./startup.sh Using CATALINA_BASE:   /opt/tomcat7.0.42-webUsing CATALINA_HOME:   /opt/tomcat7.0.42-webUsing CATALINA_TMPDIR: /opt/tomcat7.0.42-web/tempUsing JRE_HOME:        /usr/java/jdk1.7Using CLASSPATH:       /opt/tomcat7.0.42-web/bin/bootstrap.jar:/opt/tomcat7.0.42-web/bin/Tomcat started.页面访问:http://192.168.6.127:8080/ 有问题, 该端口没开 需要修改配置

7.10 修改防火墙配置

[root@web1 bin]# /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT[root@web1 bin]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT    [root@web1 bin]# /etc/rc.d/init.d/iptables save将当前规则保存到 /etc/sysconfig/iptables:                 [确定]需要重启防火墙 [root@web1 bin]# service iptables restart       

7.11 修改server.xml

7.11.1 将端口修改为80(配置文件的73行)

   <Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"         connectionTimeout="20000" enableLookups="false"         redirectPort="443" acceptCount="1000" />

7.11.2 修改默认访问项目

在Host里面添加下面该行<Context path="/" docBase="/opt/xxx" />

7.12 浏览器访问项目

    http://192.169.8.66/ 

7.13 查看端口占用

[root@web1 bin]# /etc/init.d/iptables status
原创粉丝点击