Hadoop_配置汇总
网卡配置
-
vi /etc/sysconfig/network-scripts/ifcfg-ens33 #vi编辑器修改文件配置
-
进入文件输入 i 进行编辑
-
修改以下内容
- BOOTPROTO = 'static'
- ONBOOT = 'yes'
-
添加以下内容
- IPADDR="你要设置的IP地址" #例如:192.168.188.130
- GATEWAY="192.168.188.2" #和前面的IP地址对应
- NETMASK="255.255.255.0" #NAT模式
- DNS1=114.114.114.114 #世界通用DNS
- **DNS2="192.168.188.2" **
-
按Esc 打出
:wq保存退出 -
service network restart #重启网络服务
-
每台机器都需要设置不同ip
-
之后保证互相ping通
关闭防火墙时间同步
建立映射
-
所有机器都需要做
-
查看主机用户名
hostname -
修改主机用户名
hostnamectl set-hostname 新主机名 -
添加映射
vi /etc/hosts- 最后一行加入所需的多台机器的信息 IP地址 主机名 主机名.root
- 例如
192.168.188.130 master master.root下一行输入不同机器的信息
关闭防火墙
systemctl stop firewalld.service#关闭防火墙systemctl disable firewalld.service#禁止开机启动防火墙systemctl status firewalld#查看防火墙状态
时间同步
rpm -qa | grep ntp查看是否安装了ntp- 若没有安装则使用命令安装
yum install ntp
配置master ntp服务
-
vi /etc/ntp.conf -
移动到最后添加一下内容
server 127.127.1.0fudge 127.127.1.0 stratum 10- wq保存退出
启动ntp服务(只在master里面操作)
-
systemctl start ntpd#启动ntp服务 -
systemctl status ntpd#服务状态
对其他slave节点操作
ntpdate master- 检验是否成功
date & ssh slave1 "date" & ssh slave2 "date"#免密之后不用输入密码就可以验证 出现三个一样的时间
对所有节点操作
systemctl enable ntpd.service #设置服务开机自启
虚拟机免密操作
注意!!!下文()括号内容是对操作的解释
免密操作 (三台机器一台master 两台slave1、slave2) 必须在超级用户(root用户)下操作
每台虚拟机都需要输入(目的:生成密钥)
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa (ssh-keygen) (生成公有密钥id_dsa.pub和id_dsa私有密钥)
在master里面操作
scp root@slave1:~/.ssh/id_dsa.pub ~/.ssh/slave1.pub (复制slave1的公有密钥文件到master)
scp root@slave2:~/.ssh/id_dsa.pub ~/.ssh/slave2.pub (复制slave2的公有密钥文件到master)
cd ~
cd .ssh (将当前文件路径切换为 .ssh文件下)
cat id_dsa.pub > authorized_keys (创建文件authorized_keys并将id_dsa.pub内容写入)
cat slave1.pub >> authorized_keys(将slave1.pub内容写入authorized_keys文件末尾)
cat slave2.pub >> authorized_keys (将slave2.pub内容写入authorized_keys文件末尾)
(现在authorized_keys文件已经包含了master、slave1、slave2的所有公有密钥)
分别在slave1、slave2里面输入
scp root@master:~/.ssh/authorized_keys ~/.ssh/authorized_keys (复制master里的authorized_keys到slave1/slave2)
(完成操作之后master、slave1、slave2三台机器已经都有了master、slave1、slave2的所有公有密钥文件authorized_keys)
结束!!!!!
原理(自己的理解):多台虚拟机免密操作需要有虚拟机公有密钥文件并将所有密钥文件都存入authorized_keys文件,首先三台虚拟机创建自己的公有密钥,选择一台master虚拟机将另外两台的虚拟机密钥复制过来,并存入authorized_keys文件,现在master里面的authorized_keys文件已经包含了所有公有密钥,之后分别去另外两台机器把master的authorized_keys文件复制过来,免密成功!!!!
安装JDK
注意!!!下文()括号内容是对操作的解释
拷贝安装包
拷贝jdk包(jdk-8u171-linux-x64.tar.gz)到虚拟机 :
方法1 :用SSH Secure Shell Client 拷贝 教程自行查找
方法2 :用Xshell 把文件拖拽到命令符界面之后按照提示操作即可
建立安装目录
在usr目录下建立java安装目录:
mkdir /usr/java
解压JDK
解压jdk到当前目录,得到文件夹 jdk1.8.0_* (注意:下载不同版本的JDK目录名不同!)
tar -zxvf /root/jdk-8u171-linux-x64.tar.gz -C /usr/java ( 前面命令代码的 /root/jdk-8u171-linux-x64.tar.gz 这个是我把压缩包存到了root目录下你存的位置不一样改一下就行了 )
编辑配置文件,配置环境变量
vi /etc/profile
打开了一个文件在文件最后输入
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=\(PATH:\)JAVA_HOME/bin
执行命令 :
source /etc/profile
查看安装情况
java -version
如果显示了openjdk 进行以下操作可以解决:
sudo yum -y remove openjdk (删除openjdk 即centos7自带的jdk)
source /etc/profile**
再次查看安装情况就会显示新安装的jdk
zookeeper安装
注意!!!下文()括号内容不是命令内容
拷贝文件
拷贝zookepper压缩包(Xshell)
修改hosts
vi /etc/hosts
在原有的基础上修改成:
虚拟机IP地址 master master.root
虚拟机IP地址 slave1 slave1.root
虚拟机IP地址 slave2 slave2.root
创建目录
创建zookeeper文件目录
mkdir /usr/zookeeper
解压缩zookeeper
tar -zxvf root/soft/zookeeper-3.4.10.tar.gz /usr/zookeeper/ (我把压缩包放到了/root/soft里面 解压缩到/usr/zookeeper 文件目录里面)
创建两个文件目录
mkdir /usr/zookeeper/zookeeper-3.4.10/zkdata
mkdir /usr/zookeeper/zookeeper-3.4.10/zkdatalog
复制修改配置文件zoo.cfg
cp /usr/zookeeper/zookeeper-3.4.10/conf/zoo_sample.cfg zoo.cfg
vi /usr/zookeeper/zookeeper-3.4.10/conf/zoo.cfg
在# example sakes.后面添加:
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata (dataDir这一行如果原来有,就覆盖掉)
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
在文件最后添加:
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
之后保存退出
创建myid文件
touch /usr/zookeeper/zookeeper-3.4.10/zkdata/myid
修改文件内容
vi /usr/zookeeper/zookeeper-3.4.10/zkdata/myid
将空白文件myid添加一个数字 1 并保存(原因:当前是master机器,server.1=master:2888:3888master 前面的server对应的是1)
修改profile 文件
vi /etc/profile
添加以下到文件末尾
#zookeeper envirment
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
export PATH=\(ZOOKEEPER_HOME/bin:\)PATH
保存退出
输入命令使配置文件生效:
source /etc/profile
复制操作
(master里面操作)
scp -r /usr/zookeeper root@slave1:/usr (复制目录zookeeper到slave1,代替2-6步 )
scp -r /usr/zookeeper root@slave2:/usr (复制目录zookeeper到slave2,代替2-6步 )
scp -r /etc/profile root@slave1:/etc/profile (复制文件profile到slave1代替第7步)
scp -r /etc/profile root@slave2:/etc/profile (复制文件profile到slave2代替第7步)
(slave1里面操作)
vi /usr/zookeeper/zookeeper-3.4.10/zkdata/myid
将空白文件myid添加一个数字 2 并保存 (原因:当前是slave1机器,server.2=slave1:2888:3888 slave1前面的server对应的是2)
输入命令使配置文件生效:
source /etc/profile
(slave2里面操作)
同slave1 但是myid文件添加数字3 并保存
保证三台机器时间同步:
systemctl start ntpd (master操作)
ntpdate master (在slave1,2机器分别操作)
如果没有启动成功 网上教程自行查找虚拟机时间同步解决
启动zookeeper (三个机器都输入)
/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start
三台查看zookeeper状态
/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh status
显示两个fellower 一个leader (每台机器生成的是fellow或leader是随机的)
不使用 zookeeper 时关闭 (三台都关)
/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh stop
hadoop配置
在master角色机器:
创建安装目录
mkdir /usr/hadoop
解压文件到hadoop的安装目录
tar -xzvf hadoop-2.7.3.tar.gz -C /usr/hadoop/
配置环境变量
vi /etc/profile
#hadoop envirment
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH=\(CLASSPATH:\)HADOOP_HOME/lib
export PATH=\(PATH:\)HADOOP_HOME/bin
环境变量生效
source /etc/profile
修改hadoop-env.sh
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
改core-site.xml
修改yarn-site.xml
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml
修改hdfs-site.xml
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
修改mapred-site.xml
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
修改slaves文件
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/slaves
slave1
slave2
新建master文件
vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/master
复制到slave1和slave2
scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/
修改slave1和slave2机器中的/etc/profile、并生效
格式化hadoop
先格式化再启动Hadoop,只格式化一次
hadoop namenode -format
启动Hadoop
同步时间:ntpd服务
启动zookeeper:所有机器都启动
启动Hadoop:只在master角色机器启动
/usr/hadoop/hadoop-2.7.3/sbin/start-all.sh
关闭:
/usr/hadoop/hadoop-2.7.3/sbin/stop-all.sh
关闭zookeepr
关闭Linux系统
hbase配置
启动Hadoop
同步时间:
(master角色机器) 启动ntpd服务
(slave1和slave2角色机器) ntpdate master角色机器名
启动zookeeper:所有机器都启动
/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start
当三个机器都启动zookeeper之后,查看状态
/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh status 查看状态
启动Hadoop:只在master角色机器启动
/usr/hadoop/hadoop-2.7.3/sbin/start-all.sh
// start-dfs.sh start-yarn.sh
查看Hadoop状态:
(1)jps命令
关闭:
/usr/hadoop/hadoop-2.7.3/sbin/stop-all.sh
//stop-dfs.sh stop-yarn.sh
关闭zookeepr
关闭Linux系统
HBase的安装和配置
(1)创建安装目录
mkdir /usr/hbase
(2)解压
tar -xzvf /root/soft/hbase-1.2.4-bin.tar.gz -C /usr/hbase
(3)配置文件hbase-env.sh
vi /usr/hbase/hbase-1.2.4/conf/hbase-env.sh
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/usr/java/jdk1.8.0_171
export HBASE_CLASSPATH=/usr/hadoop/hadoop-2.7.3/etc/hadoop
(4)修改配置文件hbase-site.xml
(5)修改配置文件regionservers
vi /usr/hbase/hbase-1.2.4/conf/regionservers
slave1
slave2
(6)复制Hadoop的配置文件hdfs-site.xml和core-site.xml到hbase的conf目录
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 /usr/hbase/hbase-1.2.4/conf/
(7)复制master角色机器安装hbase目录到slave1和slave2
scp -r /usr/hbase/ root@slave2:/usr/
(8)三台机器都要做,修改profile文件
vi /etc/profile
#hbase envirment
export HBASE_HOME=/usr/hbase/hbase-1.2.4
export PATH=\(PATH:\)HBASE_HOME/bin
配置文件生效:source /etc/profile
启动hbase
先启动zookeeper、Hadoop
再启动HBase
/usr/hbase/hbase-1.2.4/bin/start-hbase.sh
关闭
/usr/hbase/hbase-1.2.4/bin/stop-hbase.sh
查看hbase状态
a.jps
b.http://192.168.188.130:16010/c7-1-status
c.命令行 hbase shell
关闭hbase
关闭
/usr/hadoop/hadoop-2.7.3/sbin/stop-all.sh
//stop-dfs.sh stop-yarn.sh
关闭zookeepr(三台)
/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh stop
关闭Linux系统
数据仓库
数据仓库配置信息
master角色:hive客户端
slave1角色:hive服务端
slave2角色:安装MySQL
slave2角色:安装MySQL
安装wget
yum -y install wget
下载mysql的repo源
wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
rpm安装mysql的repo源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
安装mysql
yum install mysql-community-server
查看安装的mysql的版本
mysql -V
加载修改过的所有配置
systemctl daemon-reload
启动服务
systemctl start mysqld
开机就启动mysql
systemctl enable mysqld
登录mysql
默认安装mysql,root有密码
查看mysql的root用户的密码:
grep "temporary password" /var/log/mysqld.log
登录mysql
修改root用户的密码
修改msyql的密码安全策略
set global validate_password_policy=0;
设置密码长度
set global validate_password_length=4;
修改root用户的密码
alter user 'root'@'localhost' identified by '123456';
设置远程登录
创建一个远程登录的用户
create user 'root'@'%' identified by '123456';
授予权限
grant all privileges on . to 'root'@'%' with grant option;
刷新权限
flush privileges;
master和slave1都需要安装hive
slave1角色:hive服务端
创建安装目录
mkdir /usr/hive
解压
tar -xzvf /root/soft/apache-hive-2.1.1-bin.tar.gz -C /usr/hive/
复制到master角色
scp -r /usr/hive root@master:/usr/
修改配置文件/etc/profile (master和slave1)
#hive envirment
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=\(PATH:\)HIVE_HOME/bin
不启动生效:source /etc/profile
slave1 :hive服务器配置
a.将mysql的驱动程序复制到slave1的hive安装目录的lib目录中
cp /root/soft/mysql-connector-java-5.1.5-bin.jar /usr/hive/apache-hive-2.1.1-bin/lib/
b.修改配置文件hive-env.sh
复制:
cp /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh.template /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
修改:
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
设置HADOOP_HOME的值
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
c.修改hive-site.xml
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-site.xml
master:hive客户端配置
a)版本冲突和jar包依赖问题
cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/
b)修改hive-env.sh配置文件
复制:
cp /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh.template /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
修改:
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
设置HADOOP_HOME的值
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
c)修改hive-site.xml文件
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-site.xml
hive启动
在zookeeper、Hadoop、HBase启动之后
slave1(hive服务器端)(一直卡着):
/usr/hive/apache-hive-2.1.1-bin/bin/hive --service metastore
master(hive客户端)
/usr/hive/apache-hive-2.1.1-bin/bin/hive
输入命令:show databases;
查看数据库
退出hive的客户端:quit;
退出hive的服务端:ctrl+z
hive关闭
/usr/hbase/hbase-1.2.4/bin/stop-hbase.sh
/usr/hadoop/hadoop-2.7.3/sbin/stop-all.sh
//stop-dfs.sh stop-yarn.sh
关闭zookeepr(三台)
/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh stop
关闭Linux系统

浙公网安备 33010602011771号