Oozie安装手册(2017)mysql5.7的下载与安装
- 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 |
1.13 使用远程工具连接mysql,并使用root账号登陆,创建oozie数据库,创建oozie用户名和密码,并赋值oozie账号登陆oozie数据库的权限,具体操作略。
- 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。
再次在前端的浏览器中查看目录结构,如下。
- 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/ |
- 问题解答
4.1 mysql如何修改root密码
操作如下:
1) 使用root账号,连接mysql数据库, bin/mysql -uroot -p
2) set password=password(‘密码’);
安装遇到问题