Oozie安装手册(2017)mysql5.7的下载与安装

  1. mysql5.7的下载与安装

1.1   mysql的下载

下载地址: https://downloads.mysql.com/archives/get/file/mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

由于我使用的是centos6.5的系统,所以下载linux通用版本,在linux下载命令如下:

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

1.2   解压并安装

tar -zxvf  mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

cp  -r mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/

cd /usr/local/

ln  -s mysql-5.7.16-linux-glibc2.5-x86_64 mysql

 

1.3   新建mysql用户和组

#创建mysql组

groupadd mysql

#创建禁止shell登陆的用户mysql,并指定组mysql

useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql

1.4   创建数据目录

cd /usr/local/mysql

mkdir data

1.5   修改目录权限

chown  -R mysql:mysql ./

将mysql目录的所有文件用户组和用户都修改为mysql

 

 

 

 

 

1.6   创建mysql数据库

注意:5.7版本创建mysql的命令如下

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

/usr/local/mysql/scripts/mysql_install_db  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

 

 

 

命令执行成功后,在文件最后会生成一个root账号的随机密码,这里需要记下来,后面需要用来登录。(PUk-gdGl&4/.)

 

 

 

 

bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

 

 

 

 

 

1.7   修改目录权限

将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。

chown  -R root .

chown  -R mysql data

1.8   准备配置文件并修改

拷贝配置文件到etc目录下

cp support-files/my-default.cnf  /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysql

修改mysql文件, vi /etc/init.d/mysql

 

修改my.cnf文件, vi /etc/my.cnf

注意这里配置了socket,则必须在对应的目录创建mysql.sock空文件。

 

 

 

 

创建mysql.sock文件,并修改权限。

cd /usr/local/mysql

touch mysql.sock

chown mysql mysql.sock

 

1.9   启动mysql

bin/mysqld_safe --user=mysql &   开2个窗口,这个启动就挂在这卡着,然后再启动另外个窗口  (用于忘记密码修改使用)

bin/mysql --user=root -p

使用上面保存的密码登录后显示如下:

 

 

 

 

1.10  修改密码和账号权限

 

 

 

 

修改权限

 

 

 

 

查询用户

 

 

 

 

1.11  添加环境变量

vim /etc/profile

 

 

 

 

修改保存后,使其立即生效。

 

 

 

 

1.12  配置mysql自启动

chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on

1.13  使用远程工具连接mysql,并使用root账号登陆,创建oozie数据库,创建oozie用户名和密码,并赋值oozie账号登陆oozie数据库的权限,具体操作略。

 

 

 

 

 

 

 

 

  1. apache oozie的安装与配置

2.1  oozie的下载

下载地址:http://archive.cloudera.com/cdh5/cdh/5/

这里我们下载最新的版本4.1.0,因为目前hadoop集群使用的也是最新的2.7.3版本。

 

 

 

 

由于文件比较大,所以直接在linux服务器下载,在/software文件夹下使用以下命令下载。

wget http://archive.cloudera.com/cdh5/cdh/5/oozie-4.1.0-cdh5.9.0.tar.gz

 

 

 

 

漫长的等待后,解压下载的安装包。

2.2 安装oozie

将解压后的文件夹转移至/usr/local文件夹。

tar  -zxvf oozie-4.1.0-cdh5.9.0.tar.gz

mv  oozie-4.1.0-cdh5.9.0 /usr/local/

ln -s oozie-4.1.0-cdh5.9.0 oozie

2.3 添加环境变量

 

 

 

 

2.4 修改oozie配置信息

在/usr/local/oozie/conf下面的oozie-site.xml文件,分别添加mysql库,hadoop,spark的配置。

    <!--mysql作为元数据存放的数据库-->

    <property>

             <name>oozie.service.JPAService.jdbc.driver</name>

             <value>com.mysql.jdbc.Driver</value>

             <description>

                 JDBC driver class.

             </description>

    </property>

    <property>

             <name>oozie.service.JPAService.jdbc.url</name>

             <value>jdbc:mysql://10.15.153.81:33061/oozie</value>

             <description>

                 JDBC URL.

             </description>

    </property>

  

    <property>

      <name>oozie.service.JPAService.jdbc.username</name>

             <value>oozie</value>

             <description>

                 DB user name.

             </description>

    </property>

    <property>

             <name>oozie.service.JPAService.jdbc.password</name>

             <value>oozie123!@#</value>

             <description>

                 DB user password.

                 IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value,

                 if empty Configuration assumes it is NULL.

             </description>

    </property>

 

    <!--设置Hadoop的配置文件的路径-->

    <property>

             <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>

             <value>*=/usr/local/hadoop-2.7.3/etc/hadoop</value>

             <description>

          Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of

        the Hadoop service (JobTracker, YARN, HDFS). The wildcard '*' configuration is

        used when there is no exact match for an authority. The HADOOP_CONF_DIR contains

        the relevant Hadoop *-site.xml files. If the path is relative is looked within

        the Oozie configuration directory; though the path can be absolute (i.e. to point

        to Hadoop client conf/ directories in the local filesystem.

             </description>

    </property>

 

    <!--设置Spark的配置文件的路径-->

    <property>

             <name>oozie.service.SparkConfigurationService.spark.configurations</name>

             <value>*=/usr/local/spark-2.0.2-bin-hadoop2.7/conf</value>

             <description>

        Comma separated AUTHORITY=SPARK_CONF_DIR, where AUTHORITY is the HOST:PORT of

        the ResourceManager of a YARN cluster. The wildcard '*' configuration is

        used when there is no exact match for an authority. The SPARK_CONF_DIR contains

        the relevant spark-defaults.conf properties file. If the path is relative is looked within

        the Oozie configuration directory; though the path can be absolute.  This is only used

        when the Spark master is set to either "yarn-client" or "yarn-cluster".

             </description>

    </property>

 

    <!--

          设置系统库存放在hdfs中,注意只有在job.properties中将设置oozie.use.system.libpath=true才会引用系统库

          。注意,下面hadoop-dwdev-namenode1是namenode的逻辑名称,根据自己集群的情况进行更改即可

    -->

    <property>

             <name>oozie.service.WorkflowAppService.system.libpath</name>

             <value>hdfs://hadoop-dwdev-namenode1/user/${user.name}/share/lib</value>

             <description>

         System library path to use for workflow applications.

        This path is added to workflow application if their job properties sets

        the property 'oozie.use.system.libpath' to true.

             </description>

</property>

 

 

2.5 修改hadoop的配置文件core-site.xml,为了在HDFS上创建共享目录

vi /usr/local/hadoop/etc/hadoop

    <!--

    <property>

        <name>hadoop.proxyuser.[OOZIE_SERVER_USER].hosts</name>

        <value>[OOZIE_SERVER_HOSTNAME]</value>

    </property>

    <property>

        <name>hadoop.proxyuser.[OOZIE_SERVER_USER].groups</name>

        <value>[USER_GROUPS_THAT_ALLOW_IMPERSONATION]</value>

    </property>

    其中[OOZIE_SERVER_USER]是安装使用oozie server的用户,也是后面启动tomcat使用的用户

        [OOZIE_SERVER_HOSTNAME]是安装oozie server的主机名

        [USER_GROUPS_THAT_ALLOW_IMPERSONATION]是用户的所属组

     以上汉字纯属个人见解,如有问题欢迎指正

    -->

    <!-- OOZIE -->

    <property>

        <name>hadoop.proxyuser.root.hosts</name>

        <value>10.15.153.81</value>

    </property>

    <property>

        <name>hadoop.proxyuser.root.groups</name>

        <value>root</value>

    </property>

 

 

2.6 拷贝包文件

2.6.1 在/usr/local/oozie目录下新建目录libext。

2.6.2 回到hadoop的目录/usr/local/hadoop,执行拷贝命令。

cd /usr/local/hadoop

find -name *.jar |xargs  -t -i cp {} /usr/local/oozie/libext

 

 

 

然后删除libext目录中的hsqldb-2.0.0.jar包,否则会引起jar包冲突。

 

 

 

 

 

 

2.6.3 将下载好的ext-2.2.zip包以及mysql的驱动包(mysql-connector-java-5.1.35-bin.jar)复制到libext目录下。

 

 

 

mysql驱动包需要到官网下载并上传到libext 文件夹中,这里省略。

2.6.4 重新打包oozie.war,并发布到web Server下

在/usr/local/oozie/下执行以下命令,注意引用jar包的位置和版本号信息。

bin/addtowar.sh -inputwar oozie.war  -outputwar oozie-server/webapps/oozie.war -hadoop 2.7.3 /usr/local/hadoop-2.7.3/ -extjs libext/ext-2.2.zip -jars /usr/local/oozie-4.1.0-cdh5.9.0/libext/mysql-connector-java-5.1.35-bin.jar:/usr/local/oozie-4.1.0-cdh5.9.0/libext/htrace-core-3.1.0-incubating.jar:/usr/local/oozie-4.1.0-cdh5.9.0/libext/avro-1.7.4.jar

执行结果显示如下:

New Oozie WAR file with added 'Hadoop JARs, ExtJS library, JARs' at oozie-server/webapps/oozie.war

 

 

 

 

2.6.5 使用如下命令创建oozie元数据信息。

bin/ooziedb.sh create -sqlfile oozie.sql -run

 

 

 

 

命令执行完毕,可以查看到如下过程。

 

 

 

2.7 安装oozie-sharelib

2.7.1 在oozie目录下有个oozie-sharelib-4.1.0-cdh5.9.0.tar.gz和oozie-sharelib-4.1.0-cdh5.9.0-yarn.tar.gz两个包。我使用的是后面的包,解压缩。

tar  -zxvf oozie-sharelib-4.1.0-cdh5.9.0.tar.gz

得到share/lib/sqoop目录。

将sqoop-1.4.6-cdh5.9.0.jar重命名为sqoop-1.4.6-cdh5.9.0.jar.bak.

(这段是摘自网上的评论,具体待验证)注意:之所以要将sqoop-1.4.6-hadoop100.jar去掉,是因为我发现,在不去掉的情况下,运行Sqoop的例子会报错。

这个错误可能是sqoop-1.4.6-hadoop100和sqoop-1.4.4-hadoop200.jar中的类冲突导致的。去掉之后,就可以成功运行了。

2.7.2 将libext中mysql的驱动拷贝到/usr/local/oozie/share/lib/sqoop中。

cp /usr/local/oozie/libext/mysql-connector-java-5.1.35-bin.jar ./

如果没有这个jar包,将不能从mysql将数据导入或者导出。

 

 

 

2.7.3 将这个share上传到hdfs上。

首先检查hdfs上是否存在/usr/root这个目录,如果没有,则需要手工创建。

在hadoop集群已经启动的情况下,执行以下命令:

hadoop fs -mkdir /user

hadoop fs -mkdir /user/root

这里如果2个目录都没,需要一个个创建,否则会报错。

注意!!截图是错误的,不是usr,而是user。

 

 

 

这时候在前端浏览器中能看到刚才创建的目录了。

 

 

 

 

hdfs dfs -put /usr/local/oozie/share /user/root

这里上传的目录必须与前面的oozie-site.xml中oozie.service.WorkflowAppService.system.libpath设置的路径一致,查看之前的配置文件对应的目录是/user/root目录,所以需要将usr重命名为user。

hadoop fs -mv /usr /user

这样文件名称已经修改为user。

 

 

 

再次在前端的浏览器中查看目录结构,如下。

 

 

 

  1. oozie的启动与控制台

3.1 启动命令

cd /usr/local/oozie

bin/oozie-start.sh

 

 

 

 

使用jps查看,发现多了一个bootstrap

 

 

 

3.2 控制台

oozie启动后,可以通过web查看,web地址如下:

http://10.15.153.81:11000/oozie/

 

 

 

到此,oozie的安装已经全部完成。

本次环境搭配参考自http://blog.csdn.net/u014729236/article/details/47188631/

 

  1. 问题解答

4.1   mysql如何修改root密码

操作如下:

1)       使用root账号,连接mysql数据库, bin/mysql -uroot -p

2)       set password=password(‘密码’);

 

 

 

 

 

 

 

安装遇到问题

 

 

posted @ 2019-10-26 22:01  Xingtxx  阅读(2)  评论(0编辑  收藏  举报