hadoop环境

收银台jar 10.112.178.108 22 hadoop hadoop
国内镜像
http://mirror.bit.edu.cn/apache/hadoop/common/
阿里 较快
https://mirrors.aliyun.com/apache

Hive2.1.1的源码包需要JDK1.8
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


10.112.179.36 有jdk8

10.112.179.48
10.112.179.49
10.112.179.50

进入目标机器 10.112.179.48

1.    在各台机器上创建用户:
切换root用户:sudo su -
创建用户: useradd spark
创建密码: passwd spark   密码 spark
创建hadoop目录: mkdir /app/hadoop
创建java目录:mkdir /usr/java
mkdir /app/hadoop
//进入app目录下面进行授权
1.cd /app
2.给hadoop用户复制权限: chown -R spark:spark hadoop
 
安装openssl:  yum install openssh -clients 或者 yum install openssh


1.    在各台机器上创建用户:
切换root用户:sudo su -
#创建用户并指定主目录
useradd -d /home/spark -m spark
#设置登录密码
passwd spark 密码 spark
#设置hadoop目录及文件的修改权限
mkdir /app/hadoop
chmod 777 /app/hadoop
chmod 777 /home/spark
#更改hadoop目录的所属用户和所属组
chown -R spark:spark /home/spark
chown -R spark:spark /app/hadoop
#设置hadoop登录
cp -a /etc/skel/. /app/hadoop/
#以hadoop用户登录各台机器,创建如下目录
cd /app/hadoop/
mkdir tmp
mkdir journal
创建java目录:mkdir /usr/java

上传jdk1.8 将36 机器 jdk复制到目标机器
进入linux服务器:10.112.179.36 不用使用堡垒机 直接登录
进入目录:cd ~/.ssh
提供通关文牒:ssh-copy-id -i id_rsa.pub hadoop@10.112.179.50
成功提示:
Now try logging into the machine, with "ssh 'jenkins@10.112.179.40'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

cd /app/jenkins
scp jdk-8u91-linux-x64.tar.gz hadoop@10.112.179.50:/tmp

进入10.112.179.48  /tmp
mkdir /usr/java
mv jdk-8u91-linux-x64.tar.gz /usr/java/
解压java: tar -zxvf jdk-8u91-linux-x64.tar.gz

设置java环境变量 vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/alt-rt.jar:$JAVA_HOME/lib/charsets.jar:$JAVA_HOME/lib/deploy.jar:$JAVA_HOME/lib/javaws.jar:$JAVA_HOME/lib/jce.jar:$JAVA_HOME/lib/jfr.jar:$JAVA_HOME/lib/jfxrt.jar:$JAVA_HOME/lib/jsse.jar:$JAVA_HOME/lib/management-agent.jar:$JAVA_HOME/lib/plugin.jar:$JAVA_HOME/lib/resources.jar:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export LANG=zh_CN.utf8
ulimit -n 65536


source /etc/profile
运行命名:java -version 看是否安装成功

安装 zookeeper
scp zookeeper-3.4.10.tar.gz hadoop@10.112.179.48:/app/hadoop
tar -zxvf /app/hadoop/zookeeper-3.4.10.tar.gz
http://blog.csdn.net/lk10207160511/article/details/50526404

export ZOOKEEPER_HOME=/app/hadoop/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile

scp -r zookeeper-3.4.10 spark@10.112.179.49:/app/hadoop/
scp -r zookeeper-3.4.10 spark@10.112.179.50:/app/hadoop/

echo "1" > /app/hadoop/zookeeperData/data/myid
echo "2" > /app/hadoop/zookeeperData/data/myid
echo "3" > /app/hadoop/zookeeperData/data/myid

1. 启动ZK服务:       zkServer.sh start
2. 查看ZK服务状态:   zkServer.sh status
3. 停止ZK服务:       zkServer.sh stop
4. 重启ZK服务:       zkServer.sh restart

安装 hadoop

1 复制文件到目标机器
cd /app/jenkins
scp hadoop-2.7.4.tar.gz hadoop@10.112.179.48:/app/hadoop
scp /app/jenkins/hadoop-2.7.4.tar.gz hadoop@10.112.179.50:/tmp
mv /tmp/hadoop-2.7.4.tar.gz /app/hadoop/
tar -zxvf /app/hadoop/hadoop-2.7.4.tar.gz

2 设置环境变量 vi /etc/profile
export HADOOP_HOME=/app/hadoop/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin
# 刷新配置文件
source /etc/profile

3.    在各台机器上配置host
vi /etc/hosts
#在后边追加
10.112.179.48 VM-10-112-179-48
10.112.179.49 VM-10-112-179-49
10.112.179.50 VM-10-112-179-50
10.112.179.47 VM-10-112-179-47



4.    在各台机器上安装hadoop-2.7.4
首先在10.112.179.48节点上安装hadoop-2.7.4,安装目录为:/app/hadoop/hadoop-2.7.4
cd /app/hadoop/hadoop-2.7.4/etc/hadoop 进入该目录下,修改hdfs-site.xml文件:
cp hdfs-site.xml hdfs-site-bak.xml

这个位置 hdfs-site 收银台配置了两份 不一致的 有疑问,不能启动再看


修改core-site.xml文件:

修改mapred-site.xml文件

修改 yarn-site.xml 文件

修改slaves文件

5.    设置管理节点和其他节点之间各台机器相互信任
使用hadoop用户登录
#在10.112.179.48 10.112.179.47机器上运行如下命令生成公钥和私钥,4个回车
ssh-keygen -t rsa
公钥目录 /app/hadoop/.ssh/id_rsa

#将公钥copy到其他机器节点上,以下命令单条执行
ssh-copy-id -i id_rsa.pub VM-10-112-179-47
ssh-copy-id -i id_rsa.pub VM-10-112-179-49
ssh-copy-id -i id_rsa.pub VM-10-112-179-50

本机免密登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 authorized_keys

问题:因为hadoop建的用户主目录设置到了 /app/hadoop ,导致ssh 免密码登录出现问题,
但是使用命令修改了主目录,还是有问题。usermod -d /home/hadoop hadoop
所以新建了spark用户。作为使用用户,步骤如下:新建用户spark,ssh 免密,设置工作目录权限
useradd -d /home/spark -m spark
passwd spark
chown -R spark:spark /home/spark
ssh-keygen -t rsa
ssh-copy-id -i id_rsa.pub VM-10-112-179-49
chown -R spark:spark /app/hadoop

mkdir /temp/dfs/name

启动hadoop集群 最好看官网
 http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html
2.    第一次启动需要格式化namenode
cd /app/hadoop/hadoop-2.7.4/bin
hadoop namenode –format ns1 (HA必须带cluster_name)
 如果是首次启动,在namenode1上运行format命令
bin/hadoop namenode -format
如果是非首次启动,则在namenode1上运行以下命令
bin/hdfs namenode  -initializeSharedEdits
3.    第一次需要格式化zookeeper,在namenode上执行 报错则手打执行
hdfs zkfc -formatZK
#将tmp目录下的文件拷贝到备用namenode节点上
4.    启动hdfs
cd /app/hadoop/hadoop-2.7.4/sbin
./start-dfs.sh
5.    启动yarn
cd /app/hadoop/hadoop-2.7.4/sbin
./start-yarn.sh
6.    打开HADOOP浏览器控制台,查看集群情况:
http://10.112.179.48:50070
http://10.112.179.48:8088

https://segmentfault.com/a/1190000011266759

cd /app/hadoop/hadoop-2.7.4/logs/

scp -r hadoop-2.7.4 spark@10.112.179.49:/app/hadoop
scp -r hdfs-site.xml spark@10.112.179.47:/app/hadoop/hadoop-2.7.4/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_91

启动
cd /app/hadoop/hadoop-2.7.4/sbin/
./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver

停止  cd /app/hadoop/hadoop-2.7.4/logs
cd /app/hadoop/hadoop-2.7.4/sbin/
./stop-yarn.sh
./stop-dfs.sh
./mr-jobhistory-daemon.sh stop historyserver

./hadoop fs -ls  /
重规划 http://blog.csdn.net/ltliyue/article/details/51144381
VM-10-112-179-48  NameNode
VM-10-112-179-47  Secondary NameNode
VM-10-112-179-49  DataNode
VM-10-112-179-50  DataNode



hbase 安装 http://www.cnblogs.com/haozhengfei/p/b2f14298a429a6ca0012b43952f0d53f.html

scp -r hbase-1.2.6-bin.tar.gz spark@10.112.179.48:/tmp
tar -zxvf /app/hadoop/hbase-1.2.6-bin.tar.gz

vi /etc/profile

export HBASE_HOME=/app/hadoop/hbase-1.2.6
export PATH=${HBASE_HOME}/bin:$PATH
source /etc/profile


scp -r hbase-1.2.6 spark@10.112.179.49:/app/hadoop/
scp -r hbase-1.2.6 spark@10.112.179.50:/app/hadoop/

通过如下命令启动Hbase
cd /app/hadoop/hbase-1.2.6/bin
./start-hbase.sh
http://10.112.179.48:16010/
./stop-hbase.sh


测试
./hbase shell
create 'test', 'cf'
list 'test'
put 'test', 'row1', 'cf:a', 'value1'
put 'test', 'row2', 'cf:b', 'value2'
put 'test', 'row3', 'cf:c', 'value3'
put 'test', 'row4', 'cf:d', 'value4'
scan 'test'
get 'test', 'row1'
disable 'test'
enable 'test'
describe 'test'



hive安装 集群搭建 (注:Hive只需在一个节点上安装) 这个地方有一点疑问,不太确定。不过大概率是只需要一个节点
http://www.cnblogs.com/hmy-blog/p/6506417.html
http://blog.csdn.net/gamer_gyt/article/details/52062460
export HIVE_HOME=/app/hadoop/hive-2.1.1
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
source /etc/profile

mysql 建数据库
CREATE USER 'hive' IDENTIFIED BY 'hive';  
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
 GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive';
 flush privileges;
 create database hive;
 alter database hive character set latin1;
 
 
scp -r hive-2.1.1 spark@10.112.179.49:/app/hadoop/
scp -r hive-2.1.1 spark@10.112.179.50:/app/hadoop/

hadoop 查看测试数据
http://10.112.179.48:50070/explorer.html#/hive/warehouse/db_hive_test.db
http://blog.csdn.net/u011308691/article/details/51476393


http://lxw1234.com/archives/2016/06/679.htm web页面
hive 启动
    启动服务:

       1):启动metastore
        cd /app/hadoop/hive-2.1.1
      nohup $HIVE_HOME/bin/hive --service metastore &
       默认端口为9083   
       2):启动hiveserver2
      nohup $HIVE_HOME/bin/hive --service hiveserver2 &
       3):测试
       Web UI:http://10.112.179.48:10002/

命令行 $HIVE_HOME/bin/hive
      
日志文件 /tmp/userName/hive.log      

停止命令 没找到 直接 jps kill -9 runjar
cd /app/hadoop/hive-2.1.1
bin/hive --service metastore stop
bin/hive  --service hiveserver2 stop

HIVE 命令行
$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'
$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a'
$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a' > tab1.csv
$HIVE_HOME/bin/hive -f /home/my/hive-script.sql
当$HIVE_HOME/bin/hive执行时,没有-e或者-f选项,会进入交互式shell模式。

show databases;  
use db_hive_test;
show tables;
DROP TABLE IF EXISTS student;
SELECT * FROM employee;

 
kylin 安装
是否集群可商议,简单情况也只需要一个 http://www.cnblogs.com/brucexia/p/6221528.html
http://blog.csdn.net/gospelanswer/article/details/54917331
http://www.cnblogs.com/en-heng/p/5170876.html
http://blog.csdn.net/wulantian/article/details/38112359
scp apache-kylin-2.1.0-bin-cdh57.tar.gz spark@10.112.179.48:/app/hadoop/


export KYLIN_HOME=/app/hadoop/kylin-2.1.0
export PATH=$PATH:$KYLIN_HOME/bin
source /etc/profile
问题:
1 export KYLIN_CONF=/app/hadoop/kylin-2.1.0/conf
必须设置 不然读取不到 kylin_hive_conf.xml 。玄学问题,看代码是先读 KYLIN_CONF,读不到KYLIN_CONF 读KYLIN_HOME,但是现在就是有问题,不明白
2 home/spark 目录建文件夹 meta ,把 conf下文件拷贝过去。 原因:
Loading kylin-defaults.properties from file:/app/hadoop/kylin-2.1.0/tomcat/webapps/kylin/WEB-INF/lib/kylin-core-common-2.1.0.jar!/kylin-defaults.properties
common.KylinConfig:259 : Use KYLIN_CONF=/home/spark/meta
需要在这里读取 kylin.properties 其他的读不读不确定。所有一次全拷贝过来了
3 跑到最后一步又读取不到
Caused by: java.lang.RuntimeException: Failed to read kylin_hive_conf.xml
        at org.apache.kylin.common.util.HiveCmdBuilder.loadHiveConfiguration(HiveCmdBuilder.java:176)
        然后我重启kylin ,resume 失败的构建,就成功了
4 其实是启动目录的问题 kylin 点system ,看Server Config,找那个 meta url,然后在对应的位置,把配置文件拷进去就行了

启动
cd /app/hadoop/kylin-2.1.0/bin

./check-env.sh
$KYLIN_HOME/bin/kylin.sh start
$KYLIN_HOME/bin/kylin.sh stop
http://10.112.179.48:7070/kylin
Kylin默认账号为: ADMIN 默认密码: KYLIN (区分大小写,必须全都大写)
使用教程
http://blog.csdn.net/blackenn/article/details/52207897





scala 安装

chown -R root:root scala-2.11.8
export SCALA_HOME=/usr/scala/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
source /etc/profile
http://distfiles.macports.org/scala2.11/


spark 安装
export SPARK_HOME=/app/hadoop/spark-2.2.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
source /etc/profile

vi spark-env.sh
#在文件中添加主控节点配置
export JAVA_HOME=/usr/java/jdk1.8.0_91
export SCALA_HOME=/usr/scala/scala-2.11.8
export SPARK_WORKER_MEMORY=2g
export SPARK_MASTER_IP=10.112.179.48
export MASTER=spark://10.112.179.48:7077
#配置slave节点
vi slaves
#在文件中添加如下IP配置
10.112.179.48
10.112.179.49
10.112.179.50
#将spark拷贝到其他机器的同级目录下,并设置一样的环境变量

scp -r spark-2.2.0-bin-hadoop2.7 spark@10.112.179.49:/app/hadoop/
scp -r spark-2.2.0-bin-hadoop2.7 spark@10.112.179.50:/app/hadoop/

cd /app/hadoop/spark-2.2.0-bin-hadoop2.7/sbin/
./start-all.sh  ./stop-all.sh
cd /app/hadoop/spark-2.2.0-bin-hadoop2.7/bin/
./spark-shell

http://10.112.179.48:8080 sparkMaster
http://10.112.179.48:4040 sparkUI
http://chengjianxiaoxue.iteye.com/blog/2218510

sqoop安装  版本 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
http://blog.csdn.net/u012842205/article/details/52344196
http://blog.csdn.net/dwld_3090271/article/details/50747639
export SQOOP_HOME=/app/hadoop/sqoop-1.4.6
export PATH=$SQOOP_HOME/bin:$PATH
 source /etc/profile
 复制sqoop/conf/sqoop-env-template.sh为sqoop-env.sh 配置环境变量
 (2)配置Hadoop代理访问
因为sqoop访问Hadoop的MapReduce使用的是代理的方式,
必须在Hadoop中配置所接受的proxy用户和组。找到Hadoop的core-site.xml配置文件(本例是$HADOOP_HOME/etc/hadoop/core-site.xml):

<property>
  <name>hadoop.proxyuser.$SERVER_USER.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.$SERVER_USER.groups</name>
  <value>*</value>
</property>
$SERVER_USER是运行Sqoop2 Server的系统用户,本例我使用了 spark 用户运行server,所以将之代替为 spark

<property>
  <name>hadoop.proxyuser.spark.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.spark.groups</name>
  <value>*</value>
</property>
(2)、拷贝mysql的jdbc驱动包mysql-connector-java-5.1.31-bin.jar到sqoop/lib目录下。
命令测试
${SQOOP_HOME}/bin/sqoop  list-databases --connect jdbc:mysql://10.112.179.37:7306/ --username monitor --password monitor



hbase 简明教程
http://www.yiibai.com/hbase/hbase_shell.html

hive 简明教程
http://www.yiibai.com/hive/hive_create_database.html
http://blog.csdn.net/zhangxinrun/article/details/54967323
http://blog.csdn.net/lzlchangqi/article/details/18715687 日志分析
http://www.cnblogs.com/wcwen1990/p/7095066.html 日志问题

解决NameNode配置HA后Hive路径不正确的问题
http://blog.csdn.net/kwu_ganymede/article/details/51244376
去mysql 数据库表修改
    update DBS set DB_LOCATION_URI=REPLACE (DB_LOCATION_URI,'VM-10-112-179-48:9000','ns1');  
    update SDS set LOCATION=REPLACE (LOCATION,'VM-10-112-179-48:9000','ns1');  
    

问题 hbase zookeeper 地址配置 不可以带端口
 kylin 需要配置 KYLIN_CONF
    
启动
nohup $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver
nohup $HADOOP_HOME/sbin/start-dfs.sh
nohup $HADOOP_HOME/sbin/start-yarn.sh
nohup $SPARK_HOME/sbin/start-all.sh
nohup $SPARK_HOME/sbin/start-history-server.sh
nohup $HBASE_HOME/bin/start-hbase.sh
nohup $HIVE_HOME/bin/hive --service metastore &
nohup $HIVE_HOME/bin/hive --service hiveserver2 &
nohup $KYLIN_HOME/bin/kylin.sh start    

关闭顺序
$KYLIN_HOME/bin/kylin.sh stop
hive jps kill -9 runjar
$HBASE_HOME/bin/stop-hbase.sh
$SPARK_HOME/sbin/stop-all.sh
$SPARK_HOME/sbin/stop-history-server.sh
$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver

    http://blog.csdn.net/knife_pan/article/details/45220503
    yarn logs -applicationId application_1429759514549_0001
    
    m-10-112-179-50:8042/node/containerlogs/container_1509354448617_0008_01_000001/spark

1. 启动ZK服务:       zkServer.sh start
2. 查看ZK服务状态:   zkServer.sh status
3. 停止ZK服务:       zkServer.sh stop
4. 重启ZK服务:       zkServer.sh restart



export SPARK_HOME=/app/hadoop/spark-2.2.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH

hbase 优化
http://aperise.iteye.com/blog/2282670
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值