项目环境搭建说明
一 相关工具软件介绍
系统: CentOS7
机器: master slave1 slave2
软件: java 1.8.0_211 zookeeper-3.4.10 Sqoop-1.4.7 hadoop-2.7.3 hbase-1.2.4 mysql-5.1.47 hive-2.1.1
插件: ntp vim perl-Module-Install.noarch net-tools
二 安装步骤
1.配置静态IP(3台机器)
打开文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- IPADDR =**(IP地址)
- NETMASK =**(网络掩码)
- GATEWAY =**(网关)
- DNS1=(域名)
保存退出
2.更改hostname(3台机器)
(1)需要三个节点
hostnamectl set-hostname XXXX
(2)修改主机名
内容如下:
NETWORKING=yes
HOSTNAME=master
生效:hostname
重启:reboot
(3).更改配置host文件
(1)通过ifconfig或者ip a查看ip地址
vi /etc/hosts
4.关闭防火墙
• 关闭:systemctl stop firewalld
• 禁止启动:—— disable _——
• 查看状态:、—— status ——
若出现Active:inactive (dead)since说明防火墙关闭
5.时间同步
(1)查看时间
date
(2)选择时区:
tzselect
(3)下载ntp
(Asia) 9
(chain) 1
(beijing time) 1
(yes)1
(3)下载插件
yum install –y ntp
(4)ntp配置文件。(master上执行)
vi /etc/ntp.conf
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
(5)ntp服务。(master)
• 重启ntp服务
systemctl restart ntpd.service
• 查看ntp服务状态
systemctl status ntpd.service
(6). 其他机器同步(slave1,slave2)
同步该机器时间。(slave1 slave2)
ntpdate maste
6.ssh免密
(1)…ssh目录
cd .ssh/
(2). 生成
ssh-keygen -t rsa
(3),追加
ssh-copy-id xxxxx
authorized_keys 文件中;
7.jdk安装**
(1).java路径
mkdir -p /usr/java
cd /usr/java
(2).上传
jdk-8u211-linux-x64.tar
(3).解压
tar -zxvf jdk-8u211-linux-x64.tar.gz**
(4).编辑配置文件
#java environment
export JAVA_HOME=/usr/java/jdk1.8.0_211
export CLASSPATH=.:{JAVA_HOME}/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=PATH:{JAVA_HOME}/bin
(5).生效
source /etc/profile
(6).检查配置是否成功
java -version
(6).传给其他机器
• - scp -r /usr/java/jdk1.8.0_211 slave2:/usr/java/ - scp -r /usr/java/jdk1.8.0_211 slave1:/usr/java/
8.zookeeper
. 修改主机名称到IP地址映射配置。
• vi /etc/hosts**
• (ip)master master.root
(ip)slave1 slave1.root
(ip)slave2 slave2.root
(1).新建
mkdir -p /usr/zookeeper**
2.上传
cd /usr/zookeeper
3.解压
tar -zxvf zookeeper-3.4.10.tar.gz
4.配置文件
cd /usr/zookeeper/zookeeper-3.4.10/conf/
scp zoo_sample.cfg zoo.cfg
vi zoo.cfg**
5.tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
clientPort=2181
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
#指定zookeeper产生日志村放目录路径
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
mkdir zkdata
mkdir zkdatalog
7创建myid,
cd zkdata
vi myid
8.发送slave1 slave2
scp -r /usr/zookeeper root@slave1:/usr/
scp -r /usr/zookeeper root@slave2:/usr/
9.设置myid。
- 修改/etc/profile文件
,配置zookeeper环境变量。
vi /etc/profile
#set zookeeper environment
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
export PATH=PATH:ZOOKEEPER_HOME/bin
11.集群。
[12]
cd /usr/zookeeper/zookeeper-3.4.10
bin/zkServer.sh start
9.hadoop安装
1 .创建
mkdir –p /usr/hadoop
2.
3.解压
tar -zxvf hadoop-2.7.3.tar.gz
4.修改
生效配置文件:
source /etc/profile
5.HADOOP组件
[13]
(1)hadoop-env.sh修改java环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_211
[14]
(2).core-site.xml
[15]
(3).yarn-site.xml
[16]:
[17]
(4).hdfs-site.xml
[18]
(5)mapred-site.xml
[19]
cp mapred-site.xml.template mapred-site.xml
5.设置节点文件
编写slave文件,添加子节点slave1和slave2编写master文件,添加主节点master
6.分发hadoop
scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/
7…格式化HDFS
在cd /usr/hadoop/hadoop-2.7.3/etc/hadoop下执行
格式化namenode:
hadoop namenode -format
出现“Exiting with status 0”的时候,表明格式化
8.主节点开启集群
在cd /usr/hadoop/hadoop-2.7.3下执行
开启集群:
sbin/start-all.sh
查看进程:
jsp
子节点上查看
jps
9.集群访问
浏览器访问:
masterIP:50070
11 hbase**(3)**
1.mkdir –p /usr/hbase
2.cd /usr/hbase/
上传hbase-1.2.4压缩文件
tar -zxvf hbase-1.2.4-bin.tar.gz
3./usr/hbase/hbase-1.2.4/conf/
(1)hbase-env.sh**
(2)vim hbase-site.xml
(3)vi regionservers
(输入)
slave1
slave2
4拷贝
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml /usr/hbase/hbase-1.2.4/conf/
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml .
5传输
scp -r /usr/hbase root@slave2:/usr/
scp -r /usr/hbase root@slave1:/usr/
6配置环境变量
vi /etc/profile
配置环境变量 Hbase
set hbase environment
export HBASE_HOME=/usr/hbase/hbase-1.2.4
export PATH=PATH:HBASE_HOME/bin
生效环境变量:source /etc/profile
8)运行和测试 在 master 上执行
(保证 hadoop 和 zookeeper 已开启):
bin/start-hbase.sh
二/mysql
1.mkdir –p /usr/mysql
上传文件
1 卸载MariaDB
###先查看一下系统上的mariadb
rpm -qa |grep mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2.安装插件
yum install -y perl-Module-Install.noarch
yum install -y net-tools
3.安装
l rpm -ivh 0.(按tap)
l rpm -ivh 1.
l rpm -ivh 2.
l rpm -ivh 3.mysql-community-server-5.7.24-1.el7.x86_64.rpm
systemctl start mysqld
开机自启:
systemctl enable mysqld
显示初始密码
grep ‘temporary password’ /var/log/mysqld.log
登陆 MySQL:(用上面的得到的初始密码)
l mysql -uroot -p
mysql>(一行一行的粘贴。如果出现ok等字样就成功了)
• set global validate_password_length=4;
• set global validate_password_policy=0;
• alter user ‘root’@‘localhost’ identified by ‘123456’;
mysql>exit;
退出后重新登录即可
设置远程登录
以新密码登陆 MySQL:
mysql -uroot -p123456
mysql>
创建用户:
create user ‘root’@’%’ identified by ‘123456’;
允许远程连接:
grant all privileges on *. to ‘root’@’%’ with grant option;*
刷新权限:
flush privileges;
12.hive
需要mysql-connector-java-5.1.47-bin.jar和 apache-hive-2.1.1-bin.tar.gz
1.master和slave1 中操作如下:
mkdir -p /usr/hive
将apache-hive-2.1.1-bin.tar.gz放入/usr/hive tar -zxvf apache-hive-2.1.1-bin.tar.gz
2.修改环境变量
修改/etc/profile 文件设置 hive 环境变量。(master 和 slave1 都执 )。
vi /etc/profile
l (slave1)
#HIVE
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=PATH:HIVE_HOME/bin
export HADOOP_USER_NAME=hdfs
l (master)
#HIVE
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=PATH:HIVE_HOME/bin
export CLASSPATH=CLASSPATH:HIVE_HOME/conf
生效文件
3.修改配置文件
(1.)将mysql-connector-java-5.1.47-bin.jar给slave1的(上传文件)
/usr/hive/apache-hive-2.1.1-bin/lib
(2.)然后修改slave1 的配置文件–hive-env.sh
(在/usr/hive/apache-hive-2.1.1-bin/conf文件)
生成配置文件
cp hive-env.sh.template hive-env.sh
在配置文件添加:HADOOP_HOME=/usr/hadoop/hadoop-2.7.3(根据自己设置来)
(3)创建hive-site.xml文件
[root@slave1 conf]# vi hive-site.xml
在master节点配置客户端
由于客户端需要和 Hadoop 通信,所以需要更改 Hadoop 中 jline 的版本。即 保留一个高版本的 jline jar 包,从 hive 的 lib 包中拷贝到 Hadoop 中 lib 位置为/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib。
cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/
同样修改 hive-env.sh
启动hive
在slave1节点输入bin/hive --service metastore
(在/usr/hive/apache-hive-2.1.1-bin输入)
成功运行就一直是这个界面
同样在master输入 bin/hive
成功运行会显示
如果不成功如
尝试输入
hadoop dfsadmin -safemode leave
可以关闭安全模式
Hdfs fsck / -delete
查找清除损坏文件
测试 hive 是否启动成功:
hive>show databases;
输入jps显示这个
12**.Sqoop(m)**
1.新建/usr/sqoop/
mkdir /usr/sqoop/
2.上传
文件sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
3.解压
文件tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
4.配置
环境变量
l vi /etc/profile
l #set sqoop export
SQOOP_HOME=/usr/sqoop/sqoop1.4.7.bin__hadoop-2.6.0 export PATH=
P
A
T
H
:
PATH:
PATH:SQOOP_HOME/bin export HADOOP_CLASSPATH=
C
L
A
S
S
P
A
T
H
:
CLASSPATH:
CLASSPATH:HIVE_HOME/lib
5.sqoop配置
(1)sqoop-env.sh配置
sqoop-env.sh配置文件没有,我们需要将sqoop-env-template.sh复制为sqoop-env.sh, sqoop-env-template.sh在sqoop-1.4.7/conf中,命令如下:
cp /usr/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf/sqoop-env-template.sh sqoop-env.sh
vi sqoop-env.sh
将所有变量的值变成相应软件的安装目录:
(2)configure-sqoop配置
configure-sqoop文件在/usr/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/bin/configuresqoop下,将目录切换至相应目录,使用vi打开文件,将HCatalog,Accumulo检查注释掉(除非你准备使用 HCatalog,Accumulo等HADOOP上的组件) ,注释内容如下图
6.mysql-connector-java
将mysql-connector-java-5.1.47-bin.jar放入/usr/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0//lib/下
7.测试
成功之后sqoop的版本信息会给出:
sqoop version
19/06/04 07:38:10
INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Sqoop 1.4.7 git commit id 2328971411f57f0cb683dfb79d19d4d19d185dd8 Compiled by maugli on Thu Dec 21 15:59:58 STD 2017
插件安装
三台: 首先安装epel扩展源:
yum -y install epel-release
安装pip:
yum -y install python-pip
升级pip:
pip install --upgrade pip
安装分词包(解霸):
pip install jieba
• - yum install -y gcc
• - yum install python-devel
• - pip install happybase
•
slave2:安装pyecharts:
pip install pyecharts==0.5.11
master:
hbase thrift start
如果想关闭终端之后,thrift服务继续运行,可以用daemon模式运行
nohup hbase thrift start &
slave2:
import happybase
connection.close()
connection = happybase.Connection(‘master’, autoconnect=False)
connection.open()
print connection.tables()
table = connection.table(‘h_txsf’)
contents = table.scan()
result1=[]
for row,kv in contents:
key=kv[‘cf1:val’]
value=kv[‘cf2:val’]
result1.append([key,value])
result=result1.sort(key=lambda x:x[1]).reverse()
for i in result:
a,b=i
print a,b