两种配置大数据环境的方法Ambari以及hadoop源代码安装的步骤

1.Ambari安装



Ambari & HDP(Hortonworks Data Platform)
*****************************************************************************************************
Base:
0.操作系统原则与对应的HDP对应的版本。rhel6 or rhel7
1.操作系统原则完全安装(Desktop),所有的包都安装。
2.关闭防火墙,IPV6等服务(海涛Python脚本)。SELinux-->>IPv6-->>Iptables
_____________________________________________________________


SELINUX:


vim /etc/selinux/config
SELINUX=disabled
或者:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config;
_____________________________________________________________
IPV6:


chkconfig ip6tables off


cat>>/etc/modprobe.d/ECS.conf<<EOF
alias net-pf-10 off
alias ipv6 off
EOF


cat>>/etc/sysconfig/network<<EOF
NETWORKING_IPV6=off 
EOF


cat>>/etc/modprobe.d/disable-ipv6.conf<<EOF
install ipv6 /bin/true
EOF


cat>>/etc/modprobe.d/dist.conf<<EOF
alias net-pf-10 off
alias ipv6 off
EOF


cat>>/etc/sysctl.conf<<EOF
net.ipv6.conf.all.disable_ipv6 = 1
EOF
_____________________________________________________________


iptables:


chkconfig iptables off
_____________________________________________________________
ONBOOT:
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth1
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth2
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth3
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth4
_____________________________________________________________


Swap Closed


cat >> /etc/sysctl.conf << EOF
vm.swappiness=0
EOF
_____________________________________________________________
Time Zone:


cp  /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
_____________________________________________________________


*****************************************************************************************************
/etc/sysconfig/network
Hostname
*****************************************************************************************************


/etc/hosts:


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost
172.31.200.7 data1
172.31.200.8 data2
172.31.200.9 data3


why not?


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.31.200.7 data1
172.31.200.8 data2
172.31.200.9 data3
*****************************************************************************************************


PackageKit


pkill -9 packagekitd
vim /etc/yum/pluginconf.d/refresh-packagekit.conf
enabled=0


*****************************************************************************************************


THP(Transparent Huge Pages):


echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag


*****************************************************************************************************


ulimit & nproc


[root@data2 yum.repos.d]# vim /etc/security/limits.conf


soft nproc 16384
hard nproc 16384
soft nofile 65536
hard nofile 65536
*****************************************************************************************************


REBOOT all the machine


*****************************************************************************************************
REPO for rhel:


first:


[root@server2 opt]# cd /etc/yum.repos.d/
[root@server2 yum.repos.d]# ls -al


drwxr-xr-x.   2 root root  4096 3月  22 04:02 .
drwxr-xr-x. 182 root root 16384 4月  14 22:27 ..
-rw-r--r--.   1 root root  1991 10月 23 2014 CentOS-Base.repo
-rw-r--r--.   1 root root   647 10月 23 2014 CentOS-Debuginfo.repo
-rw-r--r--.   1 root root   289 10月 23 2014 CentOS-fasttrack.repo
-rw-r--r--.   1 root root   630 10月 23 2014 CentOS-Media.repo
-rw-r--r--.   1 root root  5394 10月 23 2014 CentOS-Vault.repo
-rw-r--r--.   1 root root   270 12月 15 14:36 cloudera.repo
-rw-r--r--.   1 root root   134 12月  8 08:31 rhel65.repo




rm -rf ALL
---->>>>>>we don't get internet connection.




second:


[root@data2 yum.repos.d]# cat centos6.6.repo 
[centos6]
name=cloudera
baseurl=http://172.31.200.216/centos6
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


scp /etc/yum.repos.d/centos6.6.repo root@Hostname:/etc/yum.repos.d/


yum clean all
yum search lib*


*****************************************************************************************************


SSH:
yum install openssl
yum upgrade openssl


rm -rf ~/.ssh/*
ssh-keygen  -t rsa -f ~/.ssh/id_rsa  -N ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


scp -r ~/.ssh root@172.31.200.8:~/.ssh
chmod 600 ~/.ssh
注意:chmod 777 为什么不行???
*****************************************************************************************************


jdk:


rpm -ivh jdk-7XXX-linux-XXXX.rpm
echo "JAVA_HOME=/usr/java/latest/">> /etc/environment
java -version
*****************************************************************************************************
NTP:


ntp-master node
 
[root@data1 yum.repos.d]# vim /etc/ntp.conf


server data1 prefer
server 127.127.1.0
fudge 127.127.1.0 stratum 10


service ntpd restart
[root@data1 yum.repos.d]# chkconfig --list ntpd






ntp-master node


/var/spool/cron/root<<EOF
*/10 * * * * /usr/sbin/ntpdate NameNode && /sbin/clock -w
EOF


service ntpd restart


ntpdate -u NameNode


*****************************************************************************************************


/var/www/html:


which httpd


or 


yum install httpd


tar -xzf HDP-UTILS-1.1.0.20-centos6.tar.gz
tar -xzf AMBARI-2.1.2-377-centos6.tar.gz
tar -xzf HDP-2.3.0.0-centos6-rpm.tar.gz


check whether the listening port of http service is blocked.
---->>>>netstat -nltp | grep 80
---->>>>vim /etc/httpd/conf/httpd.conf
change value of the default port


service httpd start


*****************************************************************************************************
Repo for HDP & Ambari


[root@data2 yum.repos.d]# cat ambari.repo 
[Updates-ambari-2.1.2]
name=ambari-2.1.2-Updates
baseurl=http://data1/AMBARI-2.1.2/centos6
gpgcheck=0
enabled=1


[HDP-2.3.0.0]
name=HDP Version-HDP-2.3.0.0
baseurl=http://data1/HDP/centos6/2.x/updates/2.3.0.0
gpgcheck=0
enabled=1




[HDP-UTILS-1.1.0.20]
name=HDP Utils Version - HDP-UTILS-1.1.0.20
baseurl=http://data1/HDP-UTILS-1.1.0.20/repos/centos6
gpgcheck=0
enabled=1


scp /etc/yum.repos.d/ambari.repo root@Hostname:/etc/yum.repos.d/
yum clean all
yum search ambari-agent
yum search Oozie
yum search gangli


*****************************************************************************************************


SO Address:


http://172.31.200.7/HDP/centos6/2.x/updates/2.3.0.0
http://172.31.200.7/HDP-UTILS-1.1.0.20/repos/centos6


*****************************************************************************************************
yum clean all
yum search ambari-server
yum search ambari-agent
yum search oozie
yum remove *****






Master:
yum install ambari-server
yum install ambari-agent
ambari-agent start
conf of ambari server:
/etc/ambari-server/conf/ambari.properties

Slave:
yum install ambari-agent
ambari-agent start


 
ambari-server start 


ambari-server setup -j /usr/java/jdk1.7.0_71/   
--->>>>Run the setup command to configure your Ambari Server, Database, JDK, LDAP, and other options:
--->>>>enter numeric number(n means default)
ambari-server start




http://MasterHostName:8080
Account:admin  Password:admin


*****************************************************************************************************


Logs to see student:
See the log:


cat /var/log/ambari-agent/ambari-agent.lo


cat /var/log/ambari-server/ambari-server.log


*****************************************************************************************************


To Do:


HDFS:
[root@data1 yum.repos.d]# su hdfs -c "hadoop fs -ls /"
[root@data1 yum.repos.d]# su hdfs -c "hadoop fs -mkdir /lgd"


MR:




Spark:




HBase:




Hive:




ES:


*******************************************************************************************************


FAQ


1, The hostname of the machine better be Fully Qualified Domain Name---->>>>>>>hoastname.domain,such as,data.hdp.worker1


2, Zookeeper-Agent端修改Server指向的HOSTNAME, /etc/ambari-agent/conf/ambari-agent.ini,如修改过主机hostname
安装失败后或重新安装先执行ambari-server reset 后 ambari-setup
3, 最后一步安装可能会失败,多数原因是下载包错误引起的,可重复安装直到成功,本人反复几个最终成功了,网络,网络,尤其就朝民,各种干扰!
4, 如果遇到访问https://xxx:8440/ca的错误,升级openssl就可以。
5,Heartbeat lost for the host错误,检查出错节点的ambari-agent是否停止,ambari-angent是python脚本运行的,
可能遇到没有捕捉到的异常,导致进程crash或者停止了。
6,App Timeline server安装出错,retry解决。
7,如果出现乱码:echo 'LANG="en_US.UTF-8"' > /etc/sysconfig/i18n,修改字符集即可解决!
8, 如果安装linux的时候基础包未选择,缺包可以制作cdrom挂载,来安装即可解决!
9, selinux开启 导致本地yum源访问403
10, centosos6.5 openssh 版本bug 导致 agent安装失败,解决 yum upgrade openssl
11, 


*******************************************************************************************************


总结:


1,日志查看,追溯问题。
2,如果要安装一切顺利,可在安装操作系统时把linux基础组件一并安装!
补救方案为:
yum groupinstall "Compatibility libraries" "Base" "Development tools"
yum groupinstall "debugging Tools" "Dial-up Networking Support"

3,




*******************************************************************************************************
备注: + Ambari安装的环境路径:


各台机器的安装目录:


/usr/lib/hadoop
/usr/lib/hbase
/usr/lib/zookeeper
/usr/lib/hcatalog
/usr/lib/hive 


+ Log路径, 这里需要看出错信息都可以在目录下找到相关的日志 


/var/log/hadoop
/var/log/hbase


+ 配置文件的路径 


/etc/hadoop
/etc/hbase
/etc/hive


+ HDFS的存储路径 


/hadoop/hdfs


*******************************************************************************************************






其他1:


安装过程中使用了桌面,火狐等安装命令
yum install firefox
yum groupinstall -y “Desktop” “Desktop Platform” “Desktop Platform
Development”  “Fonts”  “General Purpose Desktop”  “Graphical
Administration Tools”  “Graphics Creation Tools”  “Input Methods”  “X
Window System”  “Chinese Support [zh]” “Internet Browser”
iso yum 源来安装一些基础包
sudo mount -o loop /home/whoami/rhel-server-6.7-x86_64-dvd.iso /mnt/cdimg/
$ cat rhel-source.repo
[rhel-Server]
name=Red Hat Server
baseurl=file:///mnt/cdimg
enable=1
gpgcheck=0




*******************************************************************************************************


其他2:


Ambari配置时在Confirm Hosts的步骤时,中间遇到一个很奇怪的问题:总是报错误:
Ambari agent machine hostname (localhost.localdomain) does not match expected ambari server hostname (xxx).
后来修改的/etc/hosts文件中
修改前:
127.0.0.1   xxx localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         xxx localhost localhost.localdomain localhost6 localhost6.localdomain6
修改后:
127.0.0.1   xxx localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         xxx
感觉应该是走的ipv6协议,很奇怪,不过修改后就可以了。







2.hadoop源代码配置

首先配置hosts文件关联主机名和ip地址
host1=
host2=
host3=


=== security shell
rm -rf ~/.ssh/*
ssh-keygen  -t rsa -f ~/.ssh/id_rsa  -N ''
ssh-copy-id -o StrictHostKeyChecking=no $remothostname
ssh $remothostname hostname




######################## Hadoop cluster deploy
1. tar -xzf hadoop-2.7.1.tar.gz
2. add profile
Shell> cat << EOF >/etc/profile.d/hadoop.sh
#!/bin/sh
export JAVA_HOME=/root/BIGDATA/jdk1.8.0_65
export HADOOP_PREFIX=/root/BIGDATA/hadoop-2.7.1


export HADOOP_HOME=\$HADOOP_PREFIX
export HADOOP_CONF_DIR=\$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=\$HADOOP_HOME/etc/hadoop


export JAVA_LIBRARY_PATH=\$HADOOP_HOME/lib/native:\$JAVA_LIBRARY_PATH
export LD_LIBRARY_PATH=\$HADOOP_HOME/lib/native:\$LD_LIBRARY_PATH
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:
export PATH=\$JAVA_HOME/bin:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin:\${PATH}
EOF


Shell> source /etc/profile
 
3. create hdfs dirs on all hosts


HADOOP_LOCAL_BASE_DIR=/opt/local/hdfs

mkdir -p ${HADOOP_LOCAL_BASE_DIR}
mkdir -p ${HADOOP_LOCAL_BASE_DIR}/dfs/data
mkdir -p ${HADOOP_LOCAL_BASE_DIR}/dfs/name
mkdir -p ${HADOOP_LOCAL_BASE_DIR}/dfs/snn
mkdir -p ${HADOOP_LOCAL_BASE_DIR}/tmp
mkdir -p ${HADOOP_LOCAL_BASE_DIR}/yarn/logs


4. config etc/hadoop/
1. add all slaves to slaves
bigdata1
bigdata3


2.
HADOOP_DFS_MASTER=masternode
HADOOP_DFS_SECONDARY_NAMENODE=masternode
YARN_RESOURCE_MANAGER=masternode
JOBHISTORY_SERVER=masternode
JOBTRACKRT_HOST=masternode
HADOOP_TOOL_INSTALL_DIR=/root/BIGDATA/DOCS/hadoop_doc/hadoop_demo
#core-site.xml
conf_file=core-site.xml
cp -raf ${HADOOP_TOOL_INSTALL_DIR}/${conf_file}  ${HADOOP_PREFIX}/etc/hadoop/
sed -i "s^\${HADOOP_LOCAL_BASE_DIR}^${HADOOP_LOCAL_BASE_DIR}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"
sed -i "s^\${HADOOP_DFS_MASTER}^${HADOOP_DFS_MASTER}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"
#hdfs-site.xml
conf_file=hdfs-site.xml
cp -raf ${HADOOP_TOOL_INSTALL_DIR}/${conf_file}  ${HADOOP_PREFIX}/etc/hadoop/
sed -i "s^\${HADOOP_LOCAL_BASE_DIR}^${HADOOP_LOCAL_BASE_DIR}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"
sed -i "s^\${HADOOP_DFS_SECONDARY_NAMENODE}^${HADOOP_DFS_SECONDARY_NAMENODE}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"
sed -i "s^\${HADOOP_DFS_MASTER}^${HADOOP_DFS_MASTER}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"
#mapreducesite.xml
conf_file=mapred-site.xml
cp -raf ${HADOOP_TOOL_INSTALL_DIR}/${conf_file}  ${HADOOP_PREFIX}/etc/hadoop/
sed -i "s^\${JOBTRACKRT_HOST}^${JOBTRACKRT_HOST}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"
sed -i "s^\${JOBHISTORY_SERVER}^${JOBHISTORY_SERVER}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"
#yarn-site.xml
conf_file=yarn-site.xml
cp -raf ${HADOOP_TOOL_INSTALL_DIR}/${conf_file}  ${HADOOP_PREFIX}/etc/hadoop/
sed -i "s^\${YARN_RESOURCE_MANAGER}^${YARN_RESOURCE_MANAGER}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"
      sed -i "s^\${HADOOP_LOCAL_BASE_DIR}^${HADOOP_LOCAL_BASE_DIR}^g" "${HADOOP_PREFIX}/etc/hadoop/${conf_file}"






5. init namenode
Shell>hdfs namenode -format cluster1
6. start all
Shell>$HADOOP_HOME/sbin/start-all.sh
Shell> $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh  start historyserver



===Hadoop check
1. After deploy hadoop.
   Shell>hadoop checknative -a 
   Shell>hadoop jar ${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar pi 4 100
   
   Shell> cat <<EOF >/tmp/file1
Hello World Bye World
EOF
   Shell> cat <<EOF >/tmp/file2
Hello Hadoop Goodbye Hadoop
EOF

   Shell> hadoop fs -mkdir /tmp 
   Shell> hadoop fs -copyFromLocal -f /tmp/file1  /tmp/file2  /tmp
   Shell> hadoop jar ${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount  /tmp/file1  /tmp/file2  /tmp/wordcount
   Shell> hadoop fs -cat /tmp/wordcount/part-r-00000




===hadoop Daemon Web Interface
NameNode http://nn_host:port/ Default HTTP port is 50070.
ResourceManager http://rm_host:port/ Default HTTP port is 8088.
#MapReduce JobHistory Server http://jhs_host:port/ Default HTTP port is 19888.




######################## Spark cluster deploy
1. tar -xzf spark-1.6.1-bin-hadoop2.6.tgz
2. add profile
cat << EOF >>/etc/profile.d/hadoop.sh
export SPARK_HOME=/root/BIGDATA/spark-1.6.1-bin-hadoop2.6
export PATH=\${SPARK_HOME}/sbin:\${PATH}:\${SPARK_HOME}/bin:


EOF


Shell>source /etc/profile

3. create local dir
SPARK_LOCAL_BASE_DIR=/opt/local/spark

Shell>mkdir -p ${SPARK_LOCAL_BASE_DIR}/tmp

Shell>hadoop fs -mkdir /sparkHistoryLogs /sparkEventLogs
4. config
1. add all slaves to slaves
       Shell>mv slaves.template slaves
bigdata1
bigdata3

2.
SPARK_MASTER=masternode
HADOOP_DFS_MASTER=masternode

Shell> cat << EOF > ${SPARK_HOME}/conf/spark-defaults.conf
spark.master   spark://${SPARK_MASTER}:7077
spark.local.dir   ${SPARK_LOCAL_BASE_DIR}/tmp
spark.master.rest.port   7177
#Spark UI
spark.eventLog.enabled   true
spark.eventLog.dir   hdfs://${HADOOP_DFS_MASTER}:9000/sparkEventLogs
spark.ui.killEnabled   true
spark.ui.port   4040
spark.history.ui.port   18080
spark.history.fs.logDirectory   hdfs://${HADOOP_DFS_MASTER}:9000/sparkHistoryLogs


#
spark.shuffle.service.enabled   false


#
spark.yarn.am.extraJavaOptions   -Xmx3g
spark.executor.extrajavaoptions   -Xmx3g


#Amount of memory to use for the YARN Application Master in client mode
spark.yarn.am.memory   2048m
#The amount of off-heap memory (in megabytes) to be allocated per executor. 
spark.yarn.driver.memoryOverhead   512
#The amount of off-heap memory (in megabytes) to be allocated per driver in cluster mode
spark.yarn.executor.memoryOverhead   512
#Same as spark.yarn.driver.memoryOverhead, but for the YARN Application Master in client mode, fix yarn-client OOM, "ERROR yarn.ApplicationMaster: RECEIVED SIGNAL 15: SIGTERM"
spark.yarn.am.memoryOverhead   1024  
  
EOF


Shell> cat << EOF > ${SPARK_HOME}/conf/spark-env.sh
SPARK_WORKER_WEBUI_PORT=8081
SPARK_WORKER_DIR=\${SPARK_HOME}/work
#SPARK_LOCAL_DIRS=\${SPARK_WORKER_DIR}
EOF


5. start all
Shell> ${SPARK_HOME}/sbin/start-all.sh
check cluster status
http://${SPARK_MASTER}:8080


===Spark Daemon Web Interface
spark.history.ui.port 18080
spark master 8080


http://${SPARK_MASTER}:port/




===Spark check


1. Spark Standalone (client, cluster(spark.master.rest.port))
  # Run application locally on 1 cores
  Shell>  ${SPARK_HOME}/bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://masternode:7077 \
  --deploy-mode  client \
   ${SPARK_HOME}/lib/spark-examples*.jar \
  10


  # Run on a Spark standalone cluster
  Shell>  ${SPARK_HOME}/bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://$SPARK_MASTER:7177 \
  --deploy-mode  cluster \
  --executor-memory 1G \
  --total-executor-cores 1 \
   ${SPARK_HOME}/lib/spark-examples*.jar \
  10
  
   #spark shell
   Shell> ${SPARK_HOME}/bin/spark-shell --master spark://$SPARK_MASTER:7077
   


2. Spark on Yarn (It needn't start spark cluster, only need start hadoop)
#run yarn-client
Shell> ${SPARK_HOME}/bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn-client \
    --driver-java-options '-Xmx3096m'  \
    --conf spark.executor.extrajavaoptions=-Xmx3096m  \
    --executor-memory 3096m  \
    --num-executors  1  \
    --conf spark.yarn.am.memoryOverhead=1024  \
    ${SPARK_HOME}/lib/spark-examples*.jar \
    10
    

#run yarn-cluster
Shell> ${SPARK_HOME}/bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode  cluster \
    --driver-memory 2g \
    --executor-memory 2g \
    ${SPARK_HOME}/lib/spark-examples*.jar \
    10




######################## Hbase cluster deploy
1. Shell> tar -xzf hbase-1.1.4-bin.tar.gz
2. add profile
cat << EOF >>/etc/profile.d/hadoop.sh
export HBASE_HOME=/root/BIGDATA/hbase-1.1.4
export PATH=\${PATH}:\${HBASE_HOME}/bin:


EOF


Shell>source /etc/profile

3. create local dir
HBASE_ROOTDIR=/hbase
HBASE_TMP_DIR=/opt/local/hbase

Shell> hadoop fs -mkdir ${HBASE_ROOTDIR}
Shell> mkdir -p ${HBASE_TMP_DIR}
4. config
1. add all hosts to regionservers
bigdata1
bigdata2

2. modify hbase-site.xml
cat <<EOF >${HBASE_HOME}/conf/hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://masternode:9000/hbase </value>
    <description>The directory shared by RegionServers.
    Default: \${hbase.tmp.dir}/hbase
    </description>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>masternode,slavesnode</value>
    <description>The directory shared by RegionServers.
    </description>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>/opt/local/hbase</value>
    <description>Temporary directory on the local filesystem
    Default: \${java.io.tmpdir}/hbase-${user.name}.
    </description>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    <description>The mode the cluster will be in. Possible values are
      false: standalone and pseudo-distributed setups with managed Zookeeper
      true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
    </description>
  </property>
  <!--
  <property>
    <name>hbase.fs.tmp.dir</name>
    <value></value>
    <description>A staging directory in default file system (HDFS) for keeping temporary data
    Default: /user/\${user.name}/hbase-staging
    </description>
  </property>
  <property>
    <name>hbase.local.dir</name>
    <value></value>
    <description>Directory on the local filesystem to be used as a local storage.
    Default: ${hbase.tmp.dir}/local/
    </description>
  </property>
  <property>
    <name>hbase.master.port</name>
    <value>16000</value>
    <description>The port the HBase Master should bind to.
    Default: 16000
    </description>
  </property>
  <property>
    <name>hbase.master.info.port</name>
    <value>16010</value>
    <description>The port for the HBase Master web UI. Set to -1 if you do not want a UI instance run.
    Default: 16010
    </description>
  </property>
  <property>
    <name>hbase.regionserver.port</name>
    <value>16020</value>
    <description>The port the HBase RegionServer binds to.
    Default: 16020
    </description>
  </property>
  <property>
    <name>hbase.regionserver.info.port</name>
    <value>16030</value>
    <description>The port for the HBase RegionServer web UI Set to -1 if you do not want the RegionServer UI to run.
    Default: 16030
    </description>
  </property>
  <property>
    <name>hbase.zookeeper.peerport</name>
    <value>2888</value>
    <description>Port used by ZooKeeper peers to talk to each other
    Default: 2888
    </description>
  </property>
  <property>
    <name>hbase.zookeeper.leaderport</name>
    <value>3888</value>
    <description>Port used by ZooKeeper for leader election
    Default: 3888
    </description>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value></value>
    <description>Property from ZooKeeper’s config zoo.cfg. The directory where the snapshot is stored.
    Default: ${hbase.tmp.dir}/zookeeper
    </description>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
    <description>Property from ZooKeeper’s config zoo.cfg. The port at which the clients will connect.
    Default: 2181
    </description>
  </property>
  -->
  
</configuration>
EOF
3. ln -s $HADOOP_HOME/etc/hadoop/hdfs-site.xml  ${HBASE_HOME}/conf/hdfs-site.xml 
4. ulimit 咿nproc
cat <<EOF > /etc/security/limits.conf
 root -       nofile  32768
 root soft/hard nproc 32000
EOF

5. start all
Shell> ${HBASE_HOME}/bin/start-hbase.sh


===Hbase Daemon Web Interface
hbase.master.info.port  16010
hbase.regionserver.info.port  16030


http://${HBASE_MASTER}:port/


===Hbase check


1. run hbase shell
Shell> ${HBASE_HOME}/bin/hbase shell


hbase(main):003:0> create 'test', 'cf'
0 row(s) in 1.2200 seconds
hbase(main):003:0> list 'table'
test
1 row(s) in 0.0550 seconds
hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0560 seconds
hbase(main):005:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0370 seconds
hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0450 seconds


hbase(main):007:0> scan 'test'
ROW        COLUMN+CELL
row1       column=cf:a, timestamp=1288380727188, value=value1
row2       column=cf:b, timestamp=1288380738440, value=value2
row3       column=cf:c, timestamp=1288380747365, value=value3
3 row(s) in 0.0590 seconds


hbase(main):008:0> get 'test', 'row1'
COLUMN      CELL
cf:a        timestamp=1288380727188, value=value1
1 row(s) in 0.0400 seconds


hbase(main):012:0> disable 'test'
0 row(s) in 1.0930 seconds
hbase(main):013:0> drop 'test'
0 row(s) in 0.0770 seconds 


hbase(main):014:0> exit




######################## Hive cluster deploy
1. tar -xzf apache-hive-2.0.0-bin.tar.gz
2. add profile
cat << EOF >>/etc/profile.d/hadoop.sh
export HIVE_HOME=/root/BIGDATA/apache-hive-2.0.0-bin
export HIVE_CONF_DIR=\${HIVE_HOME}/conf
export PATH=\${HIVE_HOME}/bin:\${PATH}


EOF


Shell>source /etc/profile

3. create local dir
   $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
   $HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse
   $HADOOP_HOME/bin/hadoop fs -chmod g+w  /tmp
   $HADOOP_HOME/bin/hadoop fs -chmod g+w  /user/hive/warehouse

   Shell> mkdir -p  ${HBASE_TMP_DIR}

4. config 
=M1. [ Local Embedded Derby ]
HIVE_LOCAL_WAREHOUSE=/opt/hive/warehouse
Shell> mkdir -p  ${HIVE_LOCAL_WAREHOUSE}

Shell>cat <<EOF > ${HIVE_CONF_DIR}/hive-site.xml
<configuration>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>


<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>org.apache.derby.jdbc.EmbeddedDriver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>


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


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


<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>${HIVE_LOCAL_WAREHOUSE}</value>
  <description>unit test data goes in here on your local filesystem</description>
</property>


</configuration>
EOF


Shell> $HIVE_HOME/bin/schematool -initSchema -dbType derby
Shell> $HIVE_HOME/bin/schematool -dbType derby-info
Shell> $HIVE_HOME/bin/hive





=M2. [Remote Metastore Server Derby]
Shell> tar -xzf db-derby-10.12.1.1-bin.tar.gz
Shell> cd db-derby-10.12.1.1-bin
Shell> mkdir data
Shell> cd data
Shell> ../bin/startNetworkServer  -h 172.31.200.110 -p 1527  &
Shell> cp -raf  ../lib/derbyclient.jar   ../lib/derbytools.jar  $HIVE_HOME/lib/

DERBY_SERVER_HOST=masternode


Shell>cat <<EOF > ${HIVE_CONF_DIR}/hive-site.xml
<configuration>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby://${DERBY_SERVER_HOST}:1527/hive_meta;create=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>


<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>org.apache.derby.jdbc.ClientDriver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>


<property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
    <description>creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once</description>
</property>


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


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


<property>
  <name>hive.metastore.warehouse.dir</name>
  <!-- base hdfs path -->
  <value>/user/hive/warehouse</value>
  <description>base hdfs path :location of default database for the warehouse</description>
</property>
  
<!-- hive client -->
 <!-- thrift://<host_name>:<port> -->
 <property>
      <name>hive.metastore.uris</name>
      <value>thrift://masternode:9083</value>
 </property>
</configuration>
EOF


#start metastore service
$HIVE_HOME/bin/hive --service metastore &


#star thiveserver service
$HIVE_HOME/bin/hiveserver2 &


5. start
$HIVE_HOME/bin/hive
hive> CREATE TABLE pokes (foo INT, bar STRING);
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
hive> SHOW TABLES;
hive> SHOW TABLES '.*s';
hive> DESCRIBE invites;

hive> LOAD DATA LOCAL INPATH '/root/BIGDATA/apache-hive-2.0.0-bin/examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

======#
#Remote Metastore Server
   $HIVE_HOME/bin/hive --service metastore -p 9083
#Running HiveServer2 and Beeline
   $HIVE_HOME/bin/hiveserver2
   $HIVE_HOME/bin/beeline -u jdbc:hive2://localhost:10000
#Running HCatalog
   $HIVE_HOME/hcatalog/sbin/hcat_server.sh
   $HIVE_HOME/hcatalog/bin/hcat
#Running WebHCat
   $HIVE_HOME/hcatalog/sbin/webhcat_server.sh






####### pig
2. add profile
cat << EOF >>/etc/profile.d/hadoop.sh
export PIG_HOME=/BIGDATA/pig-0.15.0
export PATH=\${PIG_HOME}/bin:\${PATH}


EOF


Shell>source /etc/profile

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值