Ubuntu16.04 desktop x 5 台
ip和主机名:
192.168.1.83 master
192.168.1.81 slave1
192.168.1.82 slave2
192.168.1.84 slave3
192.168.1.88 slave4
搭建过程使用普通用户hadoop(若为root用户,所有指令去掉sudo即可)。
下载地址:http://archive.cloudera.com/cm5/cm/5
- cloudera-manager-xenial-cm5.15.0_amd64.tar.gz
注意下载与ubuntu系统版本一致的文档,16.04的代号是Xenail,14.04的代号是trusty。由于采用的系统是16.04,所以下载xenial版本的文件,否则可能会出现不兼容的问题。
下载地址:http://archive.cloudera.com/cdh5/parcels
- CDH-5.15.0-1.cdh5.15.0.p0.21-xenial.parcel
- CDH-5.15.0-1.cdh5.15.0.p0.21-xenial.parcel.sha1
- manifest.json
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- jdk-8u151-linux-x64.tar.gz
下载地址:http://archive.cloudera.com/kafka/parcels
- KAFKA-2.2.0-1.2.2.0.p0.68-xenial.parcel
- KAFKA-2.2.0-1.2.2.0.p0.68-xenial.parcel.sha1
下载地址:https://www.scala-lang.org/download
- scala-2.11.8.tgz
下载地址:maven仓库(https://mvnrepository.com/)
- mysql-connector-java-5.1.47.jar
下载地址:http://archive.cloudera.com/csds/kafka/?spm=a2c4e.11153940.blogcont603705.9.bf9350c07gHBqo
- KAFKA-1.2.0.jar
将所有要用到的安装包都上传到master节点的home/hadoop/package目录下。
主节点master:
sudo vim /etc/hostname
修改完主机名后重启
reboot
从节点slave1-4:
sudo vim /etc/hostnam
修改完主机名后重启
reboot
sudo vim /etc/hosts
添加以下内容:
192.168.1.83 master
192.168.1.81 slave1
192.168.1.82 slave2
192.168.1.84 slave3
192.168.1.88 slave4
注意:部分主机含有127.0.1.1 的地址 用#注释或删除
ufw disable
cd
mkdir .ssh
cd .ssh
ssh-keygen -t rsa
ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub slave1
连续敲击回车最后输入slave1密码完成master和slave1的免密钥登录配置。
再同样的方法节点两两之间配置免秘钥。
sudo scp /home/hadoop/package/jdk-8u151-linux-x64.tar.gz hadoop@slave1:/home/hadoop/package/
注意:slave1为slave节点的主机名,分别为slave1,slave2, slave3,slave4.
以下步骤所有节点都要做。
cd /usr
sudo mkdir java
sudo tar -xzvf /home/hadoop/package/jdk-8u151-linux-x64.tar.gz -C /usr/java/
sudo vim /etc/profile
添加以下内容:
#java
export JAVA_HOME=/usr/java/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
注意:/usr/java/jdk1.8.0_151是java的安装路径。
source /etc/profile
java -version
sudo scp /home/hadoop/package/scala-2.11.8.tgz hadoop@slave1:/home/hadoop/package/
注意:slave1为slave节点的主机名,分别为slave1,slave2, slave3,slave4.
cd /home/hadoop/package
sudo tar -zxvf scala-2.11.8.tgz -C /home/hadoop/install
sudo vim /etc/profile
添加以下内容并保存:
export SCALA_HOME=/home/hadoop/install/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin
source /etc/profile
到mysql网站下载相应的mysql安装包,我的mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar
tar -xvf mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar
得到以下文件:
libmysqlclient20_5.7.17-1ubuntu16.04_amd64.deb
libmysqlclient-dev_5.7.17-1ubuntu16.04_amd64.deb
libmysqld-dev_5.7.17-1ubuntu16.04_amd64.deb
mysql-client_5.7.17-1ubuntu16.04_amd64.deb
mysql-common_5.7.17-1ubuntu16.04_amd64.deb
mysql-community_5.7.17-1ubuntu16.04_amd64.changes
mysql-community-client_5.7.17-1ubuntu16.04_amd64.deb
mysql-community-server_5.7.17-1ubuntu16.04_amd64.deb
mysql-community-source_5.7.17-1ubuntu16.04_amd64.deb
mysql-community-test_5.7.17-1ubuntu16.04_amd64.deb
mysql-server_5.7.17-1ubuntu16.04_amd64.deb
mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar
mysql-testsuite_5.7.17-1ubuntu16.04_amd64.debsan
首先安装基础包:
libaio1_0.3.110-2_amd64.deb
libaio-dev_0.3.110-2_amd64.deb
libmecab2_0.996-1.3_amd64.deb
依赖关系:libaio-dev_0.3.110-2_amd64.deb>> libaio1_0.3.110-2_amd64.deb>> libc6_2.23-0ubuntu3_amd64.deb>> libgcc1_6.0.1-0ubuntu1_amd64.deb>> gcc-6-base_6.0.1-0ubuntu1_amd64.deb
依次输入以下指令进行安装:
1、sudo dpkg -i mysql-common_5.7.16-1ubuntu16.04_amd64.deb
2. sudo dpkg-preconfigure mysql-community-server_5.7.16-1ubuntu16.04_amd64.deb
输入root密码 //就是你数据库的初始化密码
3、sudo dpkg -i libmysqlclient20_5.7.16-1ubuntu16.04_amd64.deb
4、sudo dpkg -i libmysqlclient-dev_5.7.16-1ubuntu16.04_amd64.deb
5、sudo dpkg -i libmysqld-dev_5.7.16-1ubuntu16.04_amd64.deb
6、sudo dpkg -i mysql-community-client_5.7.16-1ubuntu16.04_amd64.deb
【注意:安装此步前需要安装libaio1】 apt-get install libaio1
7、sudo dpkg -i mysql-client_5.7.16-1ubuntu16.04_amd64.deb
8、sudo dpkg -i mysql-common_5.7.16-1ubuntu16.04_amd64.deb
9、sudo dpkg -i mysql-community-server_5.7.16-1ubuntu16.04_amd64.deb
【注意:安装此步前需要安装libmecab2】 apt-get install libmecab2
10、sudo dpkg -i mysql-server_5.7.16-1ubuntu16.04_amd64.deb
whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
mysql --version
mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper
mysql -u用户名 -p密码
例如:
mysql -uroot -p123
在mysql系统外,使用mysqladmin
mysqladmin -u root -p password “123456”
Enter password: 【输入原来的密码】
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1
grant all on . to root@’%’ identified by ‘你的密码’ with grant option;
flush privileges;
sudo service mysql restart
必须重启成功,否则3306不能访问。检测是否重启成功:
查看3306端口是否打开
注意:红色框框表示3306绑定的ip地址–>未修改前为:127.0.0.1:3306–>即mysql默认绑定localhost,远程访问不了
server节点: master
Agent节点:master, slave1, slave2, slave3, slave4
mkdir -p /opt/cloudera #创建cloudera文件夹
mkdir -p /opt/cloudera-manager #创建cloudera-manager文件夹
mkdir -p /opt/cloudera/parcels #创建parcel文件夹
mkdir -p /opt/cloudera/parcel-repo #创建parcel-repo文件夹
cd /home/hadoop/package
sudo cp mysql-connector-java-5.1.47.jar /usr/share/java/
cd /usr/share/java/
mv mysql-connector-java-5.1.47.jar mysql-connector-java.jar
先进入到mysql数据库:
mysql -uroot -p123
代表用户名为root,123是密码。
以下指令在mysql中执行:
##为amon创建用户
create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO ‘amon’@’%’ IDENTIFIED BY ‘amon’;
##hive
create database hive DEFAULT CHARACTER SET utf8;
grant all on hive.* TO ‘hive’@’%’ IDENTIFIED BY ‘hive’;
##oozie
create database oozie DEFAULT CHARACTER SET utf8;
grant all on oozie.* TO ‘oozie’@’%’ IDENTIFIED BY ‘oozie’;
##oozie
create database hue DEFAULT CHARACTER SET utf8;
grant all on hue.* TO ‘hue’@’%’ IDENTIFIED BY ‘hue’;
授权指令:
grant 权限 on 数据库对象 to 用户@主机
mysql命令行下执行:
grant all on . to ‘scm’@’%’ identified by ‘scm’ with grant option;
用户名和密码都是scm。
‘%’ :所有情况都能访问;
‘localhost’ :本机才能访问;
‘192.168.1.1’:指定IP才能访问;
将master节点的CM安装包分发到其他节点。(master节点执行)
sudo scp /home/hadoop/package/cloudera-manager-xenial-cm5.15.0_amd64.tar.gz hadoop@slave1:/home/hadoop/package/
将CM安装包解压到/opt/cloudera-manager目录下(所有节点)
sudo tar -xzvf /home/hadoop/package/cloudera-manager-xenial-cm5.15.0_amd64.tar.gz -C /opt/cloudera-manager/
cd /opt/cloudera-manager/cm-5.15.0/etc/cloudera-scm-agent/
sudo vim config.ini
将server_host的值改为server节点的主机名,这里是master。
sudo useradd --system --home=/opt/cloudera-manager/cm-5.15.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
sudo /opt/cloudera-manager/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -p123 --scm-host master scm scm scm
说明:
脚本用于创建和配置CMS需要的数据库。各参数是指:
mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
-uroot:root身份运行mysql。-proot:mysql的root密码是123。
–scm-host master:CMS的主机,和mysql安装的主机是在同一个主机上。
最后三个参数是:数据库名,数据库用户名,数据库密码。
sudo chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager
sudo cp /home/hadoop/package/CDH-5.15.0-1.cdh5.15.0.p0.21-xenial.parcel /opt/cloudera/parcel-repo/
sudo cp /home/hadoop/package/CDH-5.15.0-1.cdh5.15.0.p0.21-xenial.parcel.sha1 /opt/cloudera/parcel-repo/
sudo cp /home/hadoop/package/KAFKA-2.2.0-1.2.2.0.p0.68-xenial.parcel.sha1 /opt/cloudera/parcel-repo/
sudo cp /home/hadoop/package/KAFKA-2.2.0-1.2.2.0.p0.68-xenial.parcel /opt/cloudera/parcel-repo/
sudo cp /home/hadoop/package/manifest.json /opt/cloudera/parcel-repo/
并将.sha1文件改为.sha文件。
cd /opt/cloudera/parcel-repo
sudo mv CDH-5.15.0-1.cdh5.15.0.p0.21-xenial.parcel.sha1 CDH-5.15.0-1.cdh5.15.0.p0.21-xenial.parcel.sha
sudo mv KAFKA-2.2.0-1.2.2.0.p0.68-xenial.parcel.sha1 KAFKA-2.2.0-1.2.2.0.p0.68-xenial.parcel.sha
server节点:
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-server start
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-agent start
查看是否启动:
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-server status
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-agent status
agent节点:
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-agent start
查看是否启动:
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-agent status
附关闭:
server节点:
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-server stop
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-agent stop
agent节点:
sudo /opt/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-agent stop
sysctl -w vm.swappiness=10
同时将配置加入到/etc/sysctl.conf文件中
sudo vim /etc/sysctl.conf
加入以下内容:
vm.swappiness=10