spark/hadoop/hive/alluxio/sqoop/zookeeper 安装文档

一、关闭防火墙
临时关闭:
sudo service iptables stop
永久关闭:
sudo chkconfig iptables off
查看运行状态
sudo service iptables status
二、添加用户
useradd hadoop
passwd hadoop
然后输入需要配置的密码
为新创建的用户添加root权限
在root用户下面,(su root 输入密码 进入root用户)
vi /etc/sudoers
做如下修改

三、免密钥登录
每台机器分别执行
ssh-keygen -t rsa
每台机器分别进入ssh目录
cd ~/.ssh/
每台机器分别执行
cp id_rsa.pub authorized_keys
在master机器上创建一个存储所有ssh公钥的目录
mkdir ~/ssh_keys
分别复制所有机器的ssh公钥到master的SSH公钥目录
master机器:
cp authorized_keys ~/ssh_keys/authorized_keys01
Slave1:
scp authorized_keys hadoop@master:/home/hadoop/ssh_keys/authorized_keys02
Slave2:
scp authorized_keys hadoop@master:/home/hadoop/ssh_keys/authorized_keys03
将master机器进入SSH公钥目录
cd ~/ssh_keys/
将master机器公钥复制到公共公钥
cp authorized_keys01 authorized_keys
将slave公钥插入公共公钥中
cat authorized_keys02 >> authorized_keys
cat authorized_keys03 >> authorized_keys
最后查看公共公钥内容是否正确
cat authorized_keys
注:所有机器公钥的内容组合在一起就是公共公钥

将公共公钥覆盖掉master机器的本机公钥
cp authorized_keys ~/.ssh/authorized_keys
将公共公钥覆盖掉slave的公钥
scp authorized_keys hadoop@slave1:/home/hadoop/.ssh/authorized_keys

scp authorized_keys hadoop@slave2:/home/hadoop/.ssh/authorized_keys

每台机器都需要更改文件权限
sudo chmod 600 ~/.ssh/authorized_keys

四、scala的安装与配置
1.Scala安装与配置
回到根目录解压安装文件到scala
sudo mkdir /usr/scala
sudo tar -zxf ~/setup/scala-2.11.8.tar.gz -C /usr/scala
2.配置Slave的scala
//将scala目录发送到slave1上
scp -r /usr/scala hadoop@slave1:/home/hadoop
sudo mv scala/ /usr/
//将scala目录发送到slave2上
scp -r /usr/scala hadoop@slave2:/home/hadoop
sudo mv scala/ /usr/

3.配置环境变量
每台机器都要操作
//配置环境变量
sudo nano ~/.bashrc

export SCALA_HOME=/usr/scala/scala-2.11.8
export PATH= SCALAHOME/bin: PATH

source ~/.bashrc
4.验证
scala -version

五、安装JDK
1. 创建JDK目录
sudo mkdir /usr/java
2. 解压jdk压缩包到安装目录
sudo tar -zxf jdk-8u121-linux-x64.tar.gz -C /usr/java/

//将jdk目录发送到slave2上
scp -r /usr/java hadoop@slave1:/home/hadoop
sudo mv java/ /usr/
//将jdk目录发送到slave2上
scp -r /usr/java hadoop@slave2:/home/hadoop
sudo mv java/ /usr/

3.打开环境变量文件
sudo nano ~/.bashrc
在文件末尾添加环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_121
export JRE_HOME= JAVAHOME/jreexportCLASSPATH=.: {JAVA_HOME}/lib: JREHOME/libexportPATH= {JAVA_HOME}/bin:$PATH
保存退出
source ~/.bashrc
4.测试是否配置成功
java -version

六、Hadoop的安装与配置
1. 配置Hadoop环境变量
1.1展开hadoop安装包
在master解压主目录中的hadoop压缩包
sudo tar -zxf hadoop-2.6.5.tar.gz
sudo mv hadoop-2.6.5 hadoop
sudo chmod -R +x ~/hadoop
2. 配置Hadoop集群配置文件
1222.1修改hadoop-env.sh配置文件
修改hadoop-env.sh中的JAVA_HOME路径
sudo nano ~/hadoop/etc/hadoop/hadoop-env.sh
修改JAVA_HOME路径
export JAVA_HOME=/usr/java/jdk1.8.0_121
保存后退出
2.2修改core-site.xml配置文件
创建Hadoop的默认临时路径
sudo mkdir ~/hadoop/temp
修改每台机器上的core-site.xml
sudo nano ~/hadoop/etc/hadoop/core-site.xml
在加入


fs.defaultFS
hdfs://master:9000


hadoop.tmp.dir
/home/hadoop/hadoop/temp

2.3修改mapred-site.xml配置文件
将mapred-site.xml.template拷贝到mapred-site.xml
sudo cp ~/hadoop/etc/hadoop/mapred-site.xml.template ~/hadoop/etc/hadoop/mapred-site.xml
修改mapred-site.xml
sudo nano ~/hadoop/etc/hadoop/mapred-site.xml
在加入

mapreduce.framework.name
yarn

  
mapreduce.jobhistory.address  
master:10020  
  
  
mapreduce.jobhistory.webapp.address  
master:19888  
 

2.4修改hdfs-site.xml配置文件
修改hdfs-site.xml
sudo nano ~/hadoop/etc/hadoop/hdfs-site.xml
在加入

dfs.replication
1


dfs.permissions
false

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

     
dfs.webhdfs.enabled  
true  
 
     
dfs.safemode.threshold.pct  
0  
 
2.5修改yarn-env.sh配置文件
修改yarn-env.sh
sudo nano ~/hadoop/etc/hadoop/yarn-env.sh
在# export JAVA_HOME=/home/y/libexec/jdk1.6.0/之上插入
export JAVA_HOME=/usr/java/jdk1.8.0_121

2.6修改yarn-site.xml配置文件
修改yarn-site.xml
sudo nano ~/hadoop/etc/hadoop/yarn-site.xml
在加入

yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.resourcemanager.address
master:8032


yarn.resourcemanager.scheduler.address
master:8030


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


yarn.resourcemanager.admin.address
master:8033


yarn.resourcemanager.webapp.address
master:8088

2.7修改masters和slaves配置文件
cd ~/hadoop/etc/hadoop
配置masters
sudo nano masters
加入:
master
配置slaves
sudo nano ~/hadoop/etc/hadoop/slaves

//将hadoop目录发送到slave1上
scp -r ~/hadoop hadoop@slave1:/home/hadoop
//将hadoop目录发送到slave2上
scp -r ~/hadoop hadoop@slave2:/home/hadoop
2.8配置hadoop环境变量
每台机器都需要操作
进入环境变量配置文件
sudo nano ~/.bashrc
注:在最后加入

export HADOOP_HOME=/home/hadoop/hadoop
export PATH= HADOOPHOME/bin: PATH

source ~/.bashrc
3. 格式化Hadoop集群的HDFS
在master主机上运行
格式化节点(首次启动)
hadoop namenode -format

问题:
移除安全模式
hadoop dfsadmin -safemode leave

七、spark的安装与配置
1.安装配置
解压安装文件到scala
sudo tar -zxf spark-2.0.0-bin-hadoop2.6.tgz
sudo mv spark-2.0.0-bin-hadoop2.6 spark
生成配置文件
sudo cp ~/spark/conf/spark-env.sh.template ~/spark/conf/spark-env.sh
sudo cp ~/spark/conf/slaves.template ~/spark/conf/slaves
修改配置文件spark-env.sh
sudo nano ~/spark/conf/spark-env.sh

export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=4g
export SPARK_EXECUTOR_MEMORY=4g
export SPARK_DRIVER_MEMORY=4g

修改配置文件slaves
sudo nano ~/spark/conf/slaves

添加slave机器的hostname

2.配置Slave的spark
//将spark目录发送到slave1上
scp -r ~/spark hadoop@slave1:/home/hadoop
//将spark目录发送到slave2上
scp -r ~/spark hadoop@slave2:/home/hadoop
每台机器执行
sudo chmod -R +x spark
3.配置环境变量
每台机器都要操作
//配置环境变量
sudo nano ~/.bashrc
export SPARK_HOME=/home/hadoop/spark
export PATH= SPARKHOME/bin: PATH
export HADOOP_CONF_DIR= HADOOPHOME/etc/hadoopexportHDFSCONFDIR= {HADOOP_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop

source ~/.bashrc

八、Sqoop的安装与配置
1.安装与配置
在master上操作
解压安装文件到sqoop
sudo tar -zxf ~/sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz -C ~/
sudo mv sqoop-1.4.4.bin__hadoop-2.0.4-alpha sqoop
将mysql的驱动包拷贝到sqoop/lib下
sudo cp postgresql-9.0-801.jdbc4.jar sqoop/lib/
修改配置文件
sudo cp ~/sqoop/conf/sqoop-env-template.sh ~/sqoop/conf/sqoop-env.sh
sudo nano ~/sqoop/conf/sqoop-env.sh
修改下列值:
export HADOOP_COMMON_HOME=/home/hadoop/hadoop
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop
以下未安装,如果安装的话,可配置
export HBASE_HOME=/home/hadoop/hbase
export HIVE_HOME=/home/hadoop/hive
export ZOOCFGDIR=/home/hadoop/zookeeper

修改权限
sudo chmod -R +x sqoop
2.启动并验证Sqoop
cd ~/sqoop/bin
./sqoop help

问题:
1、Error: parquet.bytes.CapacityByteArrayOutputStream.(II)V
2、

九、Zookeeper的安装与配置
1.安装
解压安装文件到zookeeper
sudo tar -zxvf ~/setup/zookeeper-3.4.5-cdh5.0.0.tar -C ~/
重命名
sudo mv ~/zookeeper-3.4.5-cdh5.0.0 ~/zookeeper
2. 配置
创建数据目录tmp/data
sudo mkdir -p ~/zookeeper/tmp/data
将zoo_sample.cfg复制到zoo.cfg
sudo cp ~/zookeeper/conf/zoo_sample.cfg ~/zookeeper/conf/zoo.cfg
编辑zookeeper配置文件
sudo nano ~/zookeeper/conf/zoo.cfg
改写dataDir目录位置
dataDir=/home/hadoop/zookeeper/tmp/data

告知zookeeper集群信息
2888是zookeeper服务之间通信的端口
3888是zookeeper与其他应用程序通信的端口
server.0=master:2888:3888
server.1=slave1:2888:3888
server.2=slave2:2888:3888
3. 将安装文件发送到slave节点
//将zookeeper目录发送到slave1上
scp -r ~/zookeeper hadoop@slave1:/home/hadoop
//将zookeeper目录发送到slave2上
scp -r ~/zookeeper hadoop@slave2:/home/hadoop
在master上运行:
sudo nano ~/zookeeper/tmp/data/myid
//输入
0
保存退出
在slave1上运行:
ssh slave1
sudo nano ~/zookeeper/tmp/data/myid
//输入
1
保存退出
//退出slave1
exit
在slave2上运行:
ssh slave2
sudo nano ~/zookeeper/tmp/data/myid
//输入
2
保存退出
//退出slave2
exit
每台机器都要操作
sudo chmod 757 -R ~/zookeeper

  1. 启动zookeeper
    每台机器都要启动
    cd ~/zookeeper/bin
    ./zkServer.sh start
  2. 关闭zookeeper
    每台机器都要关闭
    cd ~/zookeeper/bin
    ./zkServer.sh stop
  3. 验证机器状态
    可以通过ZooKeeper的脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每个结点上查询的结果。
    cd ~/zookeeper/bin
    ./zkServer.sh status
    注:只有在集群所有机器都启动的情况下才可以查看

十、Hive的安装与配置
1. hive的安装
1.1. 环境要求
Hive是基于hadoop 的数据仓库,是建立在hadoop上的数据仓库基础架构,首先需要hadoop和jdk的支持,启动好hadoop
1.2. 安装包下载
下载:从apache官网下载新版本hive,要注意和hadoop版本的匹配。
http://my.oschina.net/u/204498/blog/51978
1.3. 安装
将下载好的Hive安装包上传到linux ,解压
tar –zxvf apache-hive-1.2.0-bin.tar.gz
1.4. 启动
进入hive/bin 目录,直接运行hive命令,即可进入hive提示符。
Hive不需要任何配置就可以运行,因为它可以通过
sudo cp hive-env.sh.template hive-env.sh
sudo nano hive-env.sh

//可导入
export HADOOP_USER_CLASSPATH_FIRST=true

sudo cp mysql-connector-java-5.1.38-bin.jar ~/hive/lib/

1.hive 与关系型数据库的整合

Hive在 conf 目录下提供了一个配置文件模版 hive-default.xml.template 供我们修改。而 Hive会默认加载 hive-site.xml 配置文件。因此,拷贝一份。
sudo cp hive-default.xml.template hive-site.xml
2.1修改Hive配置文件hive-site.xml,修改后的结果如下所示:

sudo nano hive-site.xml

javax.jdo.option.ConnectionURL
jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore

<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.jdbc.Driver</value>
   <description>Driver class name for a JDBC metastore</description>
</property>

<property>
          <name>javax.jdo.option.ConnectionUserName</name>
          <value>root</value>
          <description>username to use against metastore database</description>
</property>

<property>
          <name>javax.jdo.option.ConnectionPassword</name>
          <value>root123456</value>
          <description>password to use against metastore database</description>
</property>


hive.metastore.uris
thrift://master:9083
IP address (or fully-qualified domain name) and port of the metastore host

  1. hive的启动
    ./hive –service metastore &
    ./hive

  2. 问题解决:
    //sqoop 导入数据到hive 格式parquet
    此时环境变量里面必须配置:
    sudo nano ~/.bashrc
    export HIVE_HOME=/home/hadoop/hive
    export PATH= HIVEHOME/bin: PATH
    export HCAT_HOME=/home/hadoop/hive/hcatalog
    source ~/.bashrc

否则会出现Check that JARs for hive datasets are on the classpath错误
./sqoop import –connect jdbc:postgresql://192.168.1.104:5432/ezdc –username adempiere –password adempiere –table ga_jnlkxx –fields-terminated-by ‘\t’ –verbose -m 1 –hive-import –hive-database test –hive-table ga_jnlkxx1 –as-parquetfile
十一、elasticsearch的安装与配置
1.安装与配置
在elasticsearch的官网下载2.3.3版本
https://www.elastic.co/downloads

1.1解压
sudo tar -zxf elasticsearch-2.3.3.tar.gz

sudo mv elasticsearch-2.3.3 elasticsearch
1.2 配置elasticsearch
sudo nano elasticsearch/config/elasticsearch.yml
每个节点都需要配置cluster.name
cluster.name: elasticsearch
Master节点配置
node.name: master
Slave1节点配置
node.name: slave1
Slave2节点配置
node.name: slave2
每个节点都配置如下:
Elasticsearch存放数据的目录
path.data: /home/hadoop/elasticsearch/data
Elasticsearch存放系统日志的目录
path.logs: /home/hadoop/elasticsearch/logs

配置节点的IP地址:
master:network.host: 192.168.1.114
slave1:network.host: 192.168.1.116
slave2:network.host: 192.168.1.117

配置集群发现:
Master:discovery.zen.ping.unicast.hosts: [“slave1”, “slave2”]
slave1:discovery.zen.ping.unicast.hosts: [“master”, “slave2”]
slave2:discovery.zen.ping.unicast.hosts: [“slave1”, “master”]

配置elasticsearch的分片和副本数
index.number_of_shards: 1
index.number_of_replicas: 0

Note:注意:
上述两个属性的设置直接影响集群中索引和搜索操作的执行,假 设有足够的机器来持有碎片和副本,那么可以按如下规则设置这 两个值:
- 拥有更多的碎片可以提升索引执行能力,并允许通过机器分发 一个 大型的索引;
- 拥有更多的副本能够提升搜索执行能力以及集群能力,但副本 增多,会降低插入和删除操作的效率。
- 对于一个索引来说,number_of_shards一旦设置 将不能修改,而 number_of_replicas可以使用索 引更新设置API在任何时候被增加 或者 减少;

节点角色配置
如果配置为true,该节点起到路由和负载均衡的作用
node.master: true
如果配置为true,该节点为存放数据的目录
node.data: true
Note:注意:
master和data同时配置会产生一些奇异的效果:
当master为false,而data为true时,会对该节点产生严重负荷;
当master为true,而data为false时,该节点作为一个协调者;
当master为false,data也为false时,该节点就变成了一个负载均衡器。

1.3 安装head插件
cd elasticsearch/bin
sudo plugin  install  mobz/elasticsearch-head

1.4 修改elasticsearch默认分词器
https://github.com/medcl/elasticsearch-analysis-ik
可以从上述网址去github上面下载相对应的版本的源码,上有说明,可详细查阅。然后使用maven编译,或者去release去查看相对应的版本

1.4.1 首先解压下载好的IK分词插件包

sudo tar -zxf elasticsearch-analysis-ik-1.9.3.tar.gz

1.4.2 将config拷贝到es的config中的ik目录下面,如果没有创建

sudo mkdir -p elasticsearch/config/ik
sudo mv elasticsearch-analysis-ik-1.9.3/config elasticsearch/config/ik

1.4.3 将相关的jar文件和config文件拷贝到es的lib下面
sudo mv elasticsearch-analysis-ik-1.9.3/*.jar elasticsearch/lib

1.4.4 在将plugin-descriptor.properties文件拷贝到es的plugins的ik目录下面
sudo mkdir -p plugins/ik
sudo mv elasticsearch-analysis-ik-1.9.3/plugin-descriptor.properties
elasticsearch/plugins/ik

然后修改elasticsearch/config/elasticsearch.yml 在文件尾部追加如下:

index:
analysis:
analyzer:
ik:
alias: [ik_analyzer]
type: org.elasticsearch.index.analysis.IkAnalyzerProvider
ik_max_word:
type: ik
use_smart: false
ik_smart:
type: ik
use_smart: true
index.analysis.analyzer.default.type: ik

jps 查看elasticsearch进程号 kill -2 pid 关闭elasticsearch
启动elasticsearch ./elasticsearch/bin/elasticsearch -d

1.4.5 可以通过webUI查看
http://IP:9200/_plugin/head/

十四、Alluxio的安装与配置
1. 安装与配置
sudo tar -zxf alluxio-1.3.0-bin.tar.gz -C ~/
sudo mv alluxio-1.3.0 alluxio
cd alluxio/conf
sudo cp alluxio-env.sh.template alluxio-env.sh

sudo nano alluxio-env.sh

在文件尾部加上:

export ALLUXIO_HOME=/home/hadoop/alluxio
export ALLUXIO_MASTER_HOSTNAME=master
export ALLUXIO_WORKER_MEMORY_SIZE=1GB
export ALLUXIO_UNDERFS_ADDRESS=hdfs://master:9000/alluxio/

配置worker节点:
sudo nano ~/alluxio/conf/workers
添加如下:
master
slave1
slave2

2.配置环境变量
sudo nano ~/.bashrc
注:在最后加入

export ALLUXIO_HOME=/home/hadoop/alluxio
export PATH= ALLUXIOHOME/bin: PATH

source ~/.bashrc
sudo chmod -R +x alluxio
3.启动
格式化:
alluxio format
在master节点启动:
./bin/alluxio-start.sh local

在worker节点启动
./alluxio-start.sh worker

访问的http://master:19999看到Alluxio的master
访问http://master:30000看到当前worker的信息。

十五、hive挂载alluxio

vi /etc/hadoop/conf/core-site.xml



property>
fs.alluxio.impl
alluxio.hadoop.FileSystem


fs.AbstractFileSystem.alluxio.impl
alluxio.hadoop.AlluxioFileSystem

<property>  
    <name>alluxio.user.file.writetype.default</name>  
    <value>CACHE_THROUGH</value>  
</property>

vi /etc/hive/conf/hive-site.xml




fs.defaultFS
alluxio://master:19998


alluxio.user.file.writetype.default
CACHE_THROUGH

vi /etc/hadoop/conf/hadoop-env.sh
export HADOOP_CLASSPATH=/home/master/alluxio/core/client/target/alluxio-core-client-1.4.0-jar-with-dependencies.jar:${HADOOP_CLASSPATH}

./bin/alluxio fs mkdir /tmp
./bin/alluxio fs mkdir /user/hive/warehouse
./bin/alluxio fs chmod 775 /tmp
./bin/alluxio fs chmod 775 /user/hive/warehouse

CREATE TABLE IF NOT EXISTS test_alluxio_hive_tbl (id INT,word STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY ” ” LINES TERMINATED BY “\n”;
LOAD DATA LOCAL INPATH ‘hive-test.txt’ OVERWRITE INTO TABLE test_alluxio_hive_tbl;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值