返回顶部
把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

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.0
    • fudge 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



fs.default.name
hdfs://master:9000


hadoop.tmp.dir
/usr/hadoop/hadoop-2.7.3/hdfs/tmp
A base for other temporary directories.


io.file.buffer.size
131072


fs.checkpoint.period
60


fs.checkpoint.size
67108864

修改yarn-site.xml

vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml



yarn.resourcemanager.address
master:18040


yarn.resourcemanager.scheduler.address
master:18030


yarn.resourcemanager.webapp.address
master:18088


yarn.resourcemanager.resource-tracker.address
master:18025


yarn.resourcemanager.admin.address
master:18141


yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.auxservices.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler

修改hdfs-site.xml

vi /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml



dfs.replication
2


dfs.namenode.name.dir
file:/usr/hadoop/hadoop-2.7.3/hdfs/name
true


dfs.datanode.data.dir
file:/usr/hadoop/hadoop-2.7.3/hdfs/data
true


dfs.namenode.secondary.http-address
master:9001


dfs.webhdfs.enabled
true


dfs.permissions
false

修改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



mapreduce.framework.name
yarn

修改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



hbase.rootdir
hdfs://master:9000/hbase


hbase.cluster.distributed
true


hbase.master
hdfs://master:6000


hbase.zookeeper.quorum
master,slave1,slave2


hbase.zookeeper.property.dataDir
/usr/zookeeper/zookeeper-3.4.10

(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




hive.metastore.warehouse.dir
/user/hive_remote/warehouse



javax.jdo.option.ConnectionURI
jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true



javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver



javax.jdo.option.ConnectionUserName
root



javax.jdo.option.ConnectionPassword
123456


hive.metastore.schema.verification
false


datanucleus.schema.autoCreateAll
true

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.metastore.warehouse.dir
/user/hive_remote/warehouse



hive.metastore.local
false



hive.metastore.uris
thrift://slave1:9083

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系统

posted @ 2021-11-03 13:14  灵小禹  阅读(137)  评论(0)    收藏  举报
Live2D
浏览器标题切换
浏览器标题切换end