一:簡介
二:搭建CDH版本的hadoop集羣
- 所需安裝包準備以及環境
3臺機器:
192.168.191.111 hadoop111
192.168.191.112 hadoop112
192.168.191.113 hadoop113 - 將安裝包上傳到Linux
- 首先創建cdh文件夾,並且將cdh版本的hadoop解壓進去
- 修改slaves配置文件(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下),配置各個節點名稱
- 修改yarn-env.sh(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
- 修改mapred-env.sh(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
- 修改hadoop-env.sh(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
- 修改core-site.xml(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
- 修改hdfs-site.xml(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
- 修改 mapred-site.xml(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
下面的歷史服務器是爲Oozie準備的,必須要配置。
- 修改 yarn-site.xml(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
- 整合Oozie需要配置的內容,修改core-site.xml(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
注意:kgf指的是安裝Oozie時用的用戶
- 整合Oozie需要配置的內容,修改yarn-site.xml(/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop目錄下)
- 最後將配置文件分發到其它機器上
- 第一次啓動需要格式化namenode,最好在/etc/profile中配置hadoop地址
- 啓動Hadoop集羣
a:啓動dfs,在hadoop111機器
b:在hadoop112上啓動yarn
c:啓動歷史服務器,在hadoop111機器上
d:效果
三:安裝Oozie
- 解壓Oozie
- 在oozie根目錄下解壓oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz
進入/usr/local/module/oozie-4.0.0-cdh5.3.6/oozie-4.0.0-cdh5.3.6目錄下,將hadooplibs移動到
/usr/local/module/oozie-4.0.0-cdh5.3.6目錄下:
- 在Oozie目錄下創建libext目錄
- 將hadooplibs裏面的jar包,拷貝到libext目錄下
- 拷貝Mysql驅動包到libext目錄下
- 將ext-2.2.zip拷貝到libext/目錄下(ext是一個js框架,用於展示oozie前端頁面)
- 修改Oozie配置文件,/usr/local/module/oozie-4.0.0-cdh5.3.6/conf目錄下oozie-site.xml文件
<!--配置mysql驅動--> <property> <name>oozie.service.JPAService.jdbc.driver</name> <value>com.mysql.jdbc.Driver</value> <description> JDBC driver class. </description> </property> <!--配置mysql url地址--> <property> <name>oozie.service.JPAService.jdbc.url</name> <value>jdbc:mysql://hadoop111:3306/oozie</value> <description> JDBC URL. </description> </property> <!--配置mysql用戶名--> <property> <name>oozie.service.JPAService.jdbc.username</name> <value>root</value> <description> DB user name. </description> </property> <!--配置mysql密碼--> <property> <name>oozie.service.JPAService.jdbc.password</name> <value>897570</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> <!--讓Oozie引用Hadoop的配置文件--> <property> <name>oozie.service.HadoopAccessorService.hadoop.configurations</name> <value>*=/usr/local/module/hadoop-cdh5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop</value> <description> Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of the Hadoop service (JobTracker, 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>
- 進入Mysql並創建oozie數據庫
- 初始化Oozie
⑴上傳Oozie目錄下的yarn.tar.gz文件到HDFS
a:命令
bin/oozie-setup.sh sharelib create -fs hdfs://hadoop111:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz
效果:
⑵創建oozie.sql文件,在/usr/local/module/oozie-4.0.0-cdh5.3.6/目錄下
命令:bin/ooziedb.sh create -sqlfile oozie.sql -run
- 打包項目,生成war包,在/usr/local/module/oozie-4.0.0-cdh5.3.6/目錄下
命令:bin/oozie-setup.sh prepare-war
- 啓動Oozie,在/usr/local/module/oozie-4.0.0-cdh5.3.6/目錄下
命令:bin/oozied.sh start,關閉命令:bin/oozied.sh stop
- Oozie頁面效果