Ubuntu 14.04搭建CDH5*的方法:
第一步:机器配置
三台机器的ip和hostname为
- 192.168.10.236 hadoop-1
- 192.168.10.237 hadoop-2
- 192.168.10.238 hadoop-3
我们将hadoop-1作为主节点
第二步:配置三台机器的hosts文件
- vim /etc/hosts
- 192.168.10.236 hadoop-1
- 192.168.10.237 hadoop-2
- 192.168.10.238 hadoop-3
第三步:配置主节点root免密码登录到其他节点(不需要从节点到主节点)
3.1 在hadoop-1上执行ssh-keygen-t rsa -P ''生成无密码密钥对
3.2 将公钥添加到认证文件中:cat/root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
3.3 将认证文件拷贝到hadoop-2和hadoop-3的/root/.ssh/目录下,使主节点免密码访问从节点
第四步:设置root登陆密码(后面安装的时候可以用这个方式或者上传第三步生成的id_rsa私钥)
Sudo root passwd
(所以第四步可以省略)
第5步:修改ssh的配置文件:
Vim /etc/ssh/sshd_config
PermitRootLogin yes
StrictModes no
第6步重启ssh(前提是要安装ssh)
/etc/init.d/ssh restart
第七步:关闭防火墙
Sudo ufw disable
下面开始安装CM(注意,这里我们是安装cloudera manger(包括server和agent),安装好CM之后,然后通过web安装CDH,也就是cloudera hadoop的群集安装)
方式一:在线安装:(网络要好,下载很慢)
(在线0):这里采用cloudera-manager-installer.bin安装
(第二种使用第二种使用rpm、yum、apt-get方式在线安装,
第三种使用是Tarballs的方式。没有尝试)
1. $ wget https://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin
2. $ chmod u+x cloudera-manager-installer.bin
3. $ sudo ./cloudera-manager-installer.bin
4. 根据提示一步步默认,next,yes即可,安装完成后,根据提示打开web-ui,输入htpp://ip:7180进行安装agent节点
方式二:离线安装
1. 安装oracle-j2sdk1.7版本(主从都要,根据CDH版本选择对应的jdk)
$ apt-get install oracle-j2sdk1.7
$ update-alternatives --install /usr/bin/java java/usr/lib/jvm/java-7-oracle-cloudera/bin/java 300
$ update-alternatives --install /usr/bin/javac javac/usr/lib/jvm/java-7-oracle-cloudera/bin/javac 300
如果提示cannot locate oracle-j2sdk1.7
解决方法:软件源里没有改软件包,所以需要更新该软件源;
sudo gedit /etc/apt/sources.list
将jdk的url增加进去(具体操作也可以上网搜)
然 sudo apt-getupdate再次尝试安装
2. 配置jdk环境vim /etc/profile
1. 在末尾添加
exportJAVA_HOME=/usr/lib/jvm/java-
7-oracle-cloudera
exportJRE_HOME=
${JAVA_HOME}/jre
exportCLASSPATH=.:
${JAVA_HOME}/lib:
${JRE_HOME}/lib
exportPATH=
$PATH:
${JAVA_HOME}/bin:
${JRE_HOME}/bin:
$PATH
1. source /etc/profile 使jdk配置生效
3. 安装MariaDB-5.5(兼容性请查看官方文档,具体可参照ubuntu14.04 安装MariaDB10.0并允许远程访问)
1. $ apt-get install mariadb-server-5.5
4. 创建相关数据库
进入mysql命令行:$ mysql -u root -p
进入mysql命令行后,直接复制下面的整段话并粘贴:
createdatabase amon DEFAULTCHARACTERSET utf8;
grantallon amon.* TO'amon'@'%' IDENTIFIED BY'amon_password';
grantallon amon.* TO'amon'@'CDH' IDENTIFIED BY'amon_password';
createdatabase smon DEFAULTCHARACTERSET utf8;
grantallon smon.* TO'smon'@'%' IDENTIFIED BY'smon_password';
grantallon smon.* TO'smon'@'CDH' IDENTIFIED BY'smon_password';
createdatabase rman DEFAULTCHARACTERSET utf8;
grantallon rman.* TO'rman'@'%' IDENTIFIED BY'rman_password';
grantallon rman.* TO'rman'@'CDH' IDENTIFIED BY'rman_password';
createdatabase hmon DEFAULTCHARACTERSET utf8;
grantallon hmon.* TO'hmon'@'%' IDENTIFIED BY'hmon_password';
grantallon hmon.* TO'hmon'@'CDH' IDENTIFIED BY'hmon_password';
createdatabase hive DEFAULTCHARACTERSET utf8;
grantallon hive.* TO'hive'@'%' IDENTIFIED BY'hive_password';
grantallon hive.* TO'hive'@'CDH' IDENTIFIED BY'hive_password';
createdatabase oozie DEFAULTCHARACTERSET utf8;
grantallon oozie.* TO'oozie'@'%' IDENTIFIED BY'oozie_password';
grantallon oozie.* TO'oozie'@'CDH' IDENTIFIED BY'oozie_password';
createdatabase metastore DEFAULTCHARACTERSET utf8;
grantallon metastore.* TO'hive'@'%' IDENTIFIED BY'hive_password';
grantallon metastore.* TO'hive'@'CDH' IDENTIFIED BY'hive_password';
GRANTALLPRIVILEGESON *.* TO'root'@'%' IDENTIFIED BY'gaoying'WITHGRANTOPTION;
flush privileges;
5安装MariaDB jdbc 驱动
$ apt
-getinstall libmysql
-java
6 使用cloudera脚本在mysql中进行相关配置:
$ /opt/cloudera
-manager/cm
-5.4.8/share/cmf/schema/scm_prepare_database
.sh mysql
-uroot-p--scm
-hostlocalhost scm scm scm_password
7.安装Cloudera Manager Server 和 Agents
相关包的下载地址:
Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/
CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/5.6.0/
由于我们的操作系统为ubuntu14.04,需要下载以下文件:(注意是trusty版本)
CDH-
5.6.0-
1.cdh5
.6.0.p0
.45-trusty
.parcel
CDH-
5.6.0-
1.cdh5
.6.0.p0
.45-trusty
.parcel.sha1
manifest
.json
1. 把安装包解压到主节点
$ mkdir /opt/cloudera-manager
将下载好的cloudera-manager-trusty-cm5.6.0_amd64.tar.gz
解压到/opt/cloudera-manager
2 创建用户
$ sudo useradd
--system
--home
=/opt/cloudera
-manager/cm
-5.6.0/run/cloudera
-scm-server--no
-create-home--shell
=/bin/
false--comment
"Cloudera SCM User"cloudera
-scm
//--home 指向你cloudera-scm-server的路径
3 创建cloudera managerserver的本地数据存储目录(主)
$ sudo mkdir /
var/
log/cloudera
-scm-server
$ sudo chown cloudera
-scm:cloudera
-scm/
var/
log/cloudera
-scm-server
4在每个Cloudera Manager Agent 节点配置server_host(主从都要)
$ vim /opt/cloudera
-manager/cm
-5.6.0/etc/cloudera
-scm-agent/config
.ini
//把server_host改成主节点名称server_host
=hadoop
-1
5将cloudera-manager发送到各从节点对应的目录下(即/opt)
$scp -r /opt/cloudera-manager root
@hadoop-
2:/opt
6 创建Parcel目录
1. 在主节点上:
创建安装包目录 mkdir-p /opt/cloudera/parcel-repo
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中
CDH-
5.6.0-
1.cdh5
.6.0.p0
.45-trusty
.parcel
CDH-
5.6.0-
1.cdh5
.6.0.p0
.45-trusty
.parcel.sha1
manifest
.json
最后将CDH-5.6.0-1.cdh5.6.0.p0.45-trusty.parcel.sha1,重命名为CDH-5.6.0-1.cdh5.6.0.p0.45-trusty.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.6.0-1.cdh5.6.0.p0.45-trusty.parcel.sha1文件。
.2 在从节点上:mkdir-p /opt/cloudera/parcels
7 在各节点上安装依赖
用apt-getinstall
安装以下依赖
lsb
-base
psmisc
bash
libsasl2
-modules
libsasl2
-modules-gssapi-mit
zlib1g
libxslt1
.1
libsqlite3
-0
libfuse2
fuse
-utilsorfuse
rpcbind
8 启动server和agent
主节点上:
/opt/cloudera
-manager/cm
-5.6.0/etc/init
.d/cloudera
-scm-serverstart
/opt/cloudera
-manager/cm
-5.6.0/etc/init
.d/cloudera
-scm-agentstop
从节点上:
/opt/cloudera
-manager/cm
-5.6.0/etc/init
.d/cloudera
-scm-agentstop
若启动出错,可以查看/opt/cloudera-manager/cm-5.6.0/log
里的日志
若没错,则等待几分钟后,在浏览器访问ClouderaManager Admin Console
,我的主节点ip为192.168.10.236
,那么访问http://192.168.10.236:7180
,默认的用户名和密码为admin
2. http://archive.cloudera.com/cm5/debian/squeeze/amd64/cm/cloudera.list
通常一路默认即可;
Bin安装方法遇到问题:
1. /usr/bin/env python2.6 can not find the file
2. Libssl.so can not find
解决方法:版本问题,更换cdh的其他版本
3. cloudera-scm-server dead but pid file exists
解决方法: rm -rf /var/run/cloudera-scm-server
service cloudera-scm-server-db restart
service cloudera-scm-server start
4. 问题:/usr/bin/vim can not found
原因把、etc/alternatives下面的文件删除了
解决方法:sudo update-alternatives --config vim
疑惑的问题:
1. failed to connect to previoussupervisor cloudera
解决方法:真是问题没解决,但是通过多次的try,最终还是安装成功了