大数据集群环境搭建

安装可以参考这个老哥 http://blog.csdn.net/u012185296

也可以参考下面的安装cmd,

下载安装包

wget http://archive.cloudera.com/cdh5/parcels/5.12.1.3/CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel
wget http://archive.cloudera.com/cdh5/parcels/5.12.1.3/CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1
wget http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera1/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el6.parcel
wget http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera1/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el6.parcel.sha1
wget http://archive.cloudera.com/spark2/csd/SPARK2_ON_YARN-2.1.0.cloudera1.jar
wget http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel
wget http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1

安装cmd


1. 网络配置(所有节点)


vi /etc/sysconfig/network修改hostname:


NETWORKING=yes
HOSTNAME=n1
通过service network restart重启网络服务生效。


vi /etc/hosts,修改ip与主机名的对应关系


192.168.1.106   n1
192.168.1.107   n2
192.168.1.108   n3
注意:这里需要将每台机器的ip及主机名对应关系都写进去,本机的也要写进去,否则启动Agent的时候会提示hostname解析错误。






1.格式化分区 
fdisk -l 查看盘  
mkfs.ext4 -T largefile /dev/xvdb1   格式化分区


将分区信息写入fstab
echo '/dev/sda /home/hdfs/hd01 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdb /home/hdfs/hd01 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdc /home/hdfs/hd02 ext4 defaults 0 0' >> /etc/fstab  
echo '/dev/sdd /home/hdfs/hd03 ext4 defaults 0 0' >> /etc/fstab  
echo '/dev/sde /home/hdfs/hd04 ext4 defaults 0 0' >> /etc/fstab  
echo '/dev/sdf /home/hdfs/hd05 ext4 defaults 0 0' >> /etc/fstab  
echo '/dev/sdg /home/hdfs/hd06 ext4 defaults 0 0' >> /etc/fstab  
echo '/dev/sdh /home/hdfs/hd07 ext4 defaults 0 0' >> /etc/fstab  
echo '/dev/sdi /home/hdfs/hd08 ext4 defaults 0 0' >> /etc/fstab  
echo '/dev/sdj /home/hdfs/hd09 ext4 defaults 0 0' >> /etc/fstab  
echo '/dev/sdk /home/hdfs/hd10 ext4 defaults 0 0' >> /etc/fstab  
 


建立相应文件夹  然后挂载分区
挂载分区
mount /dev/sda /home/hdfs/hd01
mount /dev/sdb /home/hdfs/hd02
mount /dev/sdc /home/hdfs/hd03
mount /dev/sdd /home/hdfs/hd04
mount /dev/sde /home/hdfs/hd05
mount /dev/sdf /home/hdfs/hd06
mount /dev/sdg /home/hdfs/hd07
mount /dev/sdh /home/hdfs/hd08
mount /dev/sdi /home/hdfs/hd09
mount /dev/sdj /home/hdfs/hd10
mount /dev/sdk /home/hdfs/hd10




防护墙关闭
关闭防火墙:


service iptables stop (临时关闭)  
chkconfig iptables off (重启后生效)








2.mysql 安装
yum install mysql-server安装mysql服务器。
chkconfig mysqld on设置开机启动,
service mysqld start启动mysql服务
设置root的初试密码:mysqladmin -u root password '54321'


mysql -uroot -p进入mysql命令行,
删除mysql.user表中的匿名用户,修改密码
use mysql;
delete from user where user='';


update user set password=PASSWORD('54321') where user='root';
flush privileges;


创建以下数据库:


#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#hue
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
设置root授权访问以上所有的数据库:




#授权root用户在主节点拥有所有数据库的访问权限
grant all privileges on *.* to 'root'@'namenode1' identified by '54321' with grant option;
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '54321' with grant option;
grant all privileges on *.* to 'root'@'localhost' identified by '54321' with grant option;
grant all privileges on *.* to 'root'@'%' identified by '54321' with grant option;
flush privileges;


grant all privileges on *.* to 'root'@'bakdb01' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;










3.ntp安装
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下:


master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。


所有datanode节点以master节点为基础同步时间。


所有节点安装相关组件:yum install ntp。完成后,配置开机启动:chkconfig ntpd on,检查是否设置成功:chkconfig --list ntpd其中2-5为on状态就代表成功。


主节点配置


在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用65.55.56.206作为对时中心,ntpdate -u 65.55.56.206。


ntp服务只有一个配置文件,配置好了就OK。 这里只给出有用的配置,不需要的配置都用#注掉,这里就不在给出:


driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap 
server 65.55.56.206 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
配置文件完成,保存退出,启动服务,执行如下命令:service ntpd start


检查是否成功,用ntpstat命令查看同步状态,出现以下状态代表启动成功:


synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s
如果出现异常请等待几分钟,一般等待5-10分钟才能同步。


配置ntp客户端(所有datanode节点)


driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#这里是主节点的主机名或者ip
server n1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
ok保存退出,请求服务器前,请先使用ntpdate手动同步一下时间:ntpdate -u n1 (主节点ntp服务器)


这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步。启动服务:service ntpd start


因为是连接内网,这次启动等待的时间会比master节点快一些,但是也需要耐心等待一会儿。












新建一个jdk的安装目录,我这里是在/usr/local/下新建了Java目录,命令:mkdir /usr/local/java ,再把 jdk-7u75-linux-x64.tar.gz压缩包从opt目录下复制到/usr/local/java目录下,命令如下:
[plain] view plain copy
cp jdk-7u75-linux-x64.tar.gz /usr/local/java  




安装jdk


五:解压缩刚才下载的: jdk-7u75-linux-x64.tar.gz包,命令如下:
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
tar xvf  jdk-7u75-linux-x64.tar.gz  


六:解压完成后,进入到:
[root@localhost~]# cd /etc  
[root@localhost etc]# vi profile  
在profile文件的末尾加入如下命令:
export JAVA_HOME=/usr/local/java/jdk1.7.0_75  
export JRE_HOME=/usr/local/java/jdk1.7.0_75/jre  
export PATH=$PATH:/usr/local/java/jdk1.7.0_75/bin  
export CLASSPATH=.:/usr/local/java/jdk1.7.0_75/lib:/usr/local/java/jdk1.7.0_75/jre/lib  


source /etc/profile  环境变量配置生效








主节点解压安装


cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.1.3和cloudera目录放到/opt目录下。


为Cloudera Manager 5建立数据库


首先需要去MySql的官网下载JDBC驱动,http://dev.mysql.com/downloads/connector/j/,解压后,找到mysql-connector-java-5.1.33-bin.jar,放到/opt/cm-5.10.1/share/cmf/lib/中。


在主节点初始化CM5的数据库:


/opt/cm-5.12.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p54321 --scm-host localhost scm scm scm
Agent配置


修改/opt/cm-5.10.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。


同步Agent到其他节点


scp -r /opt/cm-5.12.0 root@kafka:/opt/


在所有节点创建cloudera-scm用户


useradd --system --home=/opt/cm-5.10.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm


useradd --system --home=/opt/cm-5.10.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm-5-12-0
准备Parcels,用以安装CDH5


将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。


相关的文件如下:


CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel
CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1
manifest.json
最后将CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1,重命名为CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel文件。


相关启动脚本


通过/opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-agent start启动服务端。


通过/opt/cm-5.12.0/etc/init.d/cloudera-scm-agent start启动Agent服务。
/opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-agent start
/opt/cm-5.10.1/etc/init.d/cloudera-scm-server hard_stop_confirmed restart
/opt/cm-5.10.1/etc/init.d/cloudera-scm-agent stop


我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。








安装时,检测错误
运行echo 0 > /proc/sys/vm/swappiness
vi /etc/sysctl.conf
添加vm.swappiness=0


运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会予以设置。


echo never > /sys/kernel/mm/transparent_hugepage/defrag


cp /opt/cm-5.10.1/share/cmf/lib/mysql-connector-java-5.1.34-bin.jar /opt/cloudera/parcels/CDH-5.3.2-1.cdh5.3.2.p0.10/lib/hive/lib/




猜你喜欢

转载自blog.csdn.net/qq_27404929/article/details/79267041